I just can't make distant foliage look anything close to good (VSM)

For years now, I have tried to make distant foliage look good with Lumen and VSM (Virtual Shadow Maps) for image rendering and cinematic animations, but I just can’t get anything close to resembling nice.

Until now, I have hacked it by using Ray Traced Shadows and very very specific sunlight angles (usually low and side/back lit) and edited hard in photoshop.

But this is not how it is supposed to be, and to take advantage of Nanite fully I need to use VSM, and I am trying my best to switch and use the tech that Epic wants me to use.

I have cranked up the all PPV (Post Process Volume) settings for Lumen and lighting to the max (and above), and added countless of console commands and experimented with hundreds of more. I hoped Unreal 5.7 and voxelied foliage would do some magic trick - but no, it didn’t help either. Enabled hardware Ray Tracing and are on Windows 11.

In general, I see other videos from explaining Unreal foliage also has pretty poor distant rendering of foliage, and even the triple-A games using Unreal have problem with smeared foliage.

BUT it looks better than what I am able to make so there must be some tricks I have not been able to figure out?

It’s kind of the the only major problem I have now, and I really hope there is anything I have missed.

(Trees are from Quixel, I have also tried the new Procedural ones that came with 5.7 plugin, it looks equally bad)

1 Like

Do you have HLODs set up?

The way Epic described their nanite foliage working in ray tracing is that they have HLOD set up proxy meshes that provide approximate distant occlusion for their tree meshes. It isn’t great, but it works well enough in aggregate cases. Without it, you do just have unoccluded, unshadowed trees. I’m wondering if this is a case that SSAO could help you with? You can enable distant screen traces to pick up after the long-range traces fail as the final fallback, it might be a solution?

Share what your lumen scene looks like as well, that may help.

Thank you for the reply, I will check out HLOD (I’ve been avoiding HLOD to keep my scenes more simple to manage, so I need to learn more properly what it does).

I tried out screen spaced AO (which I have used some times before to increase shadows in certain renders), by adding these two command lines:

r.Lumen.DiffuseIndirect.SSAO=1
r.Lumen.ScreenProbeGather.ShortRangeAO=0

And then editing the Ambient Occlusion section in the Post Process Volume. It works with the general shadows, but doesn’t seem to do anything really with the foliage trees.

As far as I can see so far, HLOD is ignored for painted Nanite foliage :thinking: