Forum Archive › Collab2021-WIP- spikeyxxx
@jlampel I definitely need a new computer 😉
But on my machine, 1000000 hair particles perform the same as 100 particles with 10000 interpolated children; more Viewport lagging that in your GIF.
It gives about the same performance when using GN with visually the same Instances density. But when using Dynamic Paint, like I did, for the Camera Culling, Hair Particles update a lot slower than GN.
strategically placed, in the foreground only
I will try, but foreground is not really defined, as the Camera will be moving around…
Kent mentioned wanting this to be interactively real time, which is why he’s even moving away from using volumes for the most part so that they don’t flicker. If that’s the goal, view based effects like camera culling will unfortunately not be a solution we can use for this one.
I can’t find the clip with the exact boundary, but the way Kent explained it to me was that the foreground was everything directly around the house and we can assume the camera won’t stray outside of that circle.

@spikeyxxx @lampel If GN is faster than particles, I wonder if you could influence the scale + visibility of populated grass cards based on the distance from the camera. Like culling so the ground doesn’t show hair cards when they’re too far away.
Imagine grass cards are visible in the 50 meter radius surrounding the camera at all times. Beyond that 50 m radius the grass cards’ scale falls off and eventually disappears entirely. The grass cards then update with these parameters wherever the camera goes.
If done right, in theory the illusion could be an optimized grass population
@theluthier theoretically, that could work, but the biggest problem with grass cards (I’ve tried that too 😉 ), is that the illusion breaks when viewed from above. And when the camera is close to the grass, we will see it from above (especially with a small Focal Length of around 23mm).
And, like @jlampel already pointed out: …If that’s the goal, view based effects like camera culling will unfortunately not be a solution…the same goes for Distance from Camera.
I know I haven’t posted a lot, but I have tested many different approaches and most have unacceptable drawbacks 🙂
@spikeyxxx – As you put the finishing touches on your grass, please consider making a beauty shot. I’d love to post your artwork in the TSMF Blog. Please let me know if you create a money shot.
@splat21 No money shot yet, I’m not even close to the finishing touches…see below 🙂
@jlampel @rstich @theluthier this is not a homework submission; I have a lot of trouble finding a solution.
I have re-visited the grass card approach, but could not get it to work on a large scale (50m radius) and even on a small scale, the edges (where the grass meets the road for instance) look horrible and when looked at from above that is also no a success. I tried bending the grass cards to improve the top view, but was still not satisfied.
After all my experimentation with different methods (sorry, but in my frustration I forgot to take screenshots of the failed attempts), I watched a lot of tutorials on game grass to see if they could give me ideas on how to do this, but I found that the only way I can make this work (maybe there is another way, but I haven’t found it yet), is something like this:
Different angle:
I have been looking at real grass a lot lately and discovered that it has a really high translucency (maybe 90% or more) (thank you Jonathan, before you told me, I didn’t know what the Translucent Shader did, everybody just said; grass needs a bit of Translucency, so we mix in a Translucent Shader…I thought it was something like a noisy Transparent…), but here I can’t set it that high, because it would make the contrast between blades of grass and painted grass too obvious:
Thereby ruining the effect.
The greatest problem is, that we get an enormous style difference with all the other (especially nature-) assets:
Also, we shall need a pretty large Texture Map for the ‘Foreground’ grass…4K would yield a Texel ‘size’ of more than one cm.
And for Weight Painting to be anywhere near accurate, we’d need a lot of Vertices, unless we use Blender 2.93 Beta, where we can use an Image Texture for the distribution of the grass….
There you have it 😉
I love a challenge, but this appears harder than I had anticipated!
You definitely got one of, if not the, most challenging asset to create! I would be happy to jump in and help with this one, but I’ll wait to hear Kent’s ideas since I think he’s still getting caught up on this thread.
@spikeyxxx I’m FINALLY digging into the grass right now. Your latest WIP is exactly what I was looking for in terms of camera culling. However I think my idea of affecting the scale was wrong. Can you instead tell the camera’s field of view to affect the visibility of the grass cones?
Currently the behavior is laggy and I wonder if it’s because all grass cones are still being calculated where scaled to 0 or normal size.
Maybe I misread the geometry nodes and you are doing what I suggested in the last message…ouch. I’m becoming more familiar with how tricky of a task this is 🤔
@theluthier I am using weight painting to control the Density of the Grass (not the Scale) here:

In the Node before (left of) that, I ‘multiply’ that with where grass should be (e.g.: not inside the house) to further reduce the amount of Instances, so that, if I remove the Scaling, we get:
As far as I can tell, the lagging is a combination of the Dynamic Painting, the amount of Instances and the Attribute Mix Node, but I am not sure which factor is most important….
Anyway, it would still need a lot more grass to fill up the Camera FOV, so I’m not sure if this will be useful…
This may not directly help you in any way, but it is a cool idea and just maybe it will inspire you. Good luck with the grass!! Edit: not sure I got the time stamp right… start at 48:30
@procyonlotor thanks! Very interesting…I had actually tried something like the ‘shell-method’ (stacking planes) myself already, but it doesn’t work unless you have some kind of parallax…
The other technique shown, I am not sure yet what they are doing exactly…I’ll see if can find that paper he mentions..
Not really applicable anymore, Kent has already managed to make a start of great grass coverage!
But still fun to watch this 🙂
@spikeyxxx It would be great if the Blender developers made the “From Instancer” checkbox (in conjunction with “UV Coordinates”) also working in EEVEE as we know it from Cycles 🙂!
@procyonlotor Nice find! Looks like I have a new channel to binge watch now