I do have a ground mesh with transparency (edges fade to background color, black in my case), and I’d like meshes positioned over it to have some transparency as well.
there is a way to set alpha to a material but not to a specific mesh. You could clone a certain material and use it on those specific trees.
I don’t know how you set the transparency to your ground. if it is using a texture, you could use the UV texture coordinates to check for transparency in the opacity texture itself. if you are using some other form of shading, you are better equipped of saying which part is transparent and which not.
Does the transparency move as you move as well? is it fixed?
Your solution works as expected, but seems to have a side effect: meshes tend to disappear on the edges of the view.
You can see it there (you need to download the file to display the animation)
That’s because the opaque objects are rendered first, then the transparent objects are sorted and rendered.
When your ground is opaque, it is drawn first before all trees because those are transparent and everything is ok.
However, when your ground is also transparent, it is sorted with the trees and the transparent objects are rendered from the farthest to the nearest. Depending on the outcome of the sorting, some ground faces can be considered nearer than some trees and so will be drawn after and thus may overlap these trees.
The easiest way to correct this problem in your case is to put the trees in a render group that will make them always displayed after the ground. As the default group is 0, just put them in group 1: