Altering foliage culling at runtime

So, I have a terrain set up with some simple grass foliage. I have set up the culling to gradually reduce the scale of the mesh (using WorldPositionOffset) as it approaches the culling boundary.

My project, however, also allows the player to set some graphics settings at runtime. I’m wondering if it’s possible to change the values of the Start and End Culling Distance via Blueprints, so grass can be culled earlier with lower quality settings, and much later at maximum quality. I can’t seem, however, to find how to do this at all. Is there a way to do it, or is it not possible in the current build of the engine?

I’m also interested in that , would be a big boost in performance to let the player actually control how much grass for example he whants . Same could be good to have for mesh LOD’s (for example trees) so the player can choose a lower level LOD to display closer .

I second this!

1 Like

Hey Hoeloe -

Currently, as of 4.6.1, the Culling Distance Start and End for the Foliage Tool itself cannot be altered at runtime. This behavior is expected as the Foliage Tool uses a Material “PerInstanceFadeAmount” which requires a shader to be complied before runtime.

If you are using the Instanced Static Meshes and not the foliage tool you can adjust the Culling Distance at Runtime as it is not done using that Material node.

We are currently working on improvements to Foliage Culling and possibly introducing a new system to allow for the type of functionality that is being requested but I have no immediate ETA on this.

Thank You

Eric Ketchum

Especially it will cool to use FOV in culling distance calculation. In such case I will able cull all foliage with small screen size (like foliage.MinimumScreenSize do but without latency)

Is it possible to change in a setting before the game launches?