Sorry Keith, I messed up a quite a few terms in my post. This is a quick sketch of what I tried since then. Unfortunately, I have not had the time to take this to completion, so the following is a mid-term report.
The end result is a hedge that is composed by viewer facing quads of 1 square metre each. As a preparation, create a blob with transparency around it, in Gimp or whatever. What I did with minimal success was this: In Gimp, fill an empty plane with some green. In menu filter - noise find HSV-Noise. Apply to taste to get something that could be foliage seen from afar. Then paint the the alpha channel in such a way that the centre is solid white and the outskirts are some sort of zigzag that could pass as twig ends. You will come back later to work on this. Actually, this is where work will go on forever. Alternatively, you can take any photo of a bush, cut out an area 1/2 m wide and 1 m high and mirror it to fill the other half of the texture. Replace the background by transparency using one of the many guides on the net.
In Blender, create a plane, make it upright at the origin. I believe it is necessary to make it double-faced (Blender creates it single faced by default) by duplicating it and flipping the normals on the copy. I guess you need to reset the UV mapping, too.
Call this Blob. Maybe hide it for the next steps, so it does not disturb.
Now for the real thing:
I started from a plane that is assumed to be the base of the hedge. If you don't take it from a map, anything lengthy will do. Like add a plan, stretch it, extrude at the short edges, shrink the edges that form the ends so you end up with a stretched out hexagon. Size could be 30 x 6 m or whatever you find a good hedge size.
Select all faces and extrude up, like 10 m. Shrink the extruded faces a bit so the top surface is some 2 m less wide and some 5-10 m less long. Take the upper edges at the ends and push them back down if you like. The whole thing would look a bit like an upturned boat, if it had more vertices.
Optionally, subdivide the whole thing a bit to make it a bit less boring, but you will only find out about this later.
Next, I would apply a Bevel modifier to round the edges. I forgot that in the first run.
Now the interesting bit: You apply a Remesh Modifier, selecting mode Blocks. This traces the inside of the shape with cubes. Play with parameters Octree Depth and Scale to get cubes of 1 m edge length.
Name this object Hedge.
Create a copy of the project as it is necessary to apply the modifiers now and you will want to come back for fine tuning and restart from here.
Apply the modifiers. Add two or three distortion modifiers on the result, one for each direction. You will want some 1/2 m left-right deviation of the position, but several metres vertical deviation. What you do about the front-back direction depends on the base shape. With some bevelling and some skewing you could avoid the distortion modifier for this direction.
I believe it is necessary to apply these modifiers before the next step. Again, optimisation might come later.
Make Hedge a parent of Blob and set Object property Duplication to Verts for Blob. Now, you see one instance of Blob at every vertex of Hedge. Select Object - Apply - Make Duplicates real. Delete the Hedge object.
Create a material that has TrainViewFacingFlora.fx as the first texture name and the blob we made in Gimp as the second texture. Be sure to use the full shader name, when I used the short version, it was replaced by the long one correctly but the viewer facing trick would not happen. I hasten to say I use an old version of the exporter.
Now assign the material to all the many copies Blob.
When I brought this into the game, the viewer facing property would not manifest in the multitude version. For single planes, it did. So I must have made one or more of the following errors:
- I used a lying plane for Blob.
- I joined all the Blob instances to one object.
- I might have used a single-faced plane.
- Instead of deleting the Hedge object, I only deleted the edges and faces of it, keeping the vertices. No idea whether that messed it up.
For some other reason, I did not get the transparent part to be transparent. It will be a small thing with the texture setting/compression, whatever.
Too bad it all takes hours to wade through little things that get in the way of such a thing happening.
Once you get there, you will want to create a better base shape with some extrusions that represent branches or small trees in a group of shrub and such. This is where the whole subsurface stuff comes in, but that is a far reach from where I stand now.
Now why have 1m-blobs? Well, you can make them 2 m or 3, no problem. The theory behind the whole thing is that the smaller the role of the blob is in the whole picture, the less it hurts that it looks rubbish. It has to, because both left and right half will be outside parts of the bush, standing out as you approach it. Which you see depends on the direction of travel. If you look at any photo, you will not see such symmetry in the protruding parts of any bush. I hope to hide the bad (inner) half behind the neighbouring planes.
Needless to say that the blob texture must be a texture atlas of some 16 blobs and there must be some random assignment of the blob texture version. Sounds like a little script is needed, that is another perfection to do when the basic concept is proven in full.