Culling Distance Problem Surface Scatter

Hi, dash-Team. - Is it possible that the surface scatters end culling distance for grass didn't go further than 3000? The grass meshes are nanite and "preserve area" is activated. There is no problem, when I paint them with the foliage painter.
See screenshots. As you can see, there are no end culling problems with the trees.
No description
No description
No description
No description
No description
18 Replies
DanielFreden
DanielFreden•6mo ago
Hey @der_urig Thanks for the pictures and info, let me check a bit and get back to you! 🙂 Could you try this UE cmd command? foliage.MaxTrianglesToRender 1000000000 or another number, the default is 100 mil
Synaesthesia
Synaesthesia•6mo ago
Also, try the command r.ForceLOD 0
der_urig
der_urig•6mo ago
Hi, Jonathan. Sry for my late response I wasn't at the working place. - I tried those commands and because they are nanite meshes i also tried those: r.Nanite.MaxNodes=8000000 r.Nanite.MaxVisibleClusters=8000000 Unfortunately nothing's changed.
spatiotemporal
spatiotemporal•6mo ago
hey there, do you have anything in the output log? End Culling simply sets the Hierarchical Instanced Static Meshes' Instanced End Culling attribute on that Actor which just fades out individual instances from that distance from the camera. Does it still cull if you set it to zero?
der_urig
der_urig•6mo ago
Hi, Balu. - Thanks for your suggestions. I tried it with zero as end cull distance but it didn't changed anything. Regarding the output log: I found those messages LogSlate: Window 'T_LawnGrass_tkynejer_8K_ORDp' being destroyed LogSlate: Window 'T_LawnGrass_tkynejer_8K_ORDp' being destroyed LogWorld: UWorld::CleanupWorld for World_26, bSessionEnded=true, bCleanupResources=true LogSlate: InvalidateAllWidgets triggered. All widgets were invalidated LogWorld: UWorld::CleanupWorld for World_27, bSessionEnded=true, bCleanupResources=true LogSlate: InvalidateAllWidgets triggered. All widgets were invalidated LogWorld: UWorld::CleanupWorld for World_28, bSessionEnded=true, bCleanupResources=true LogSlate: InvalidateAllWidgets triggered. All widgets were invalidated LogWorld: UWorld::CleanupWorld for World_30, bSessionEnded=true, bCleanupResources=true LogSlate: InvalidateAllWidgets triggered. All widgets were invalidated AssetReimport: New page: Outstanding source content changes 15:21:57 LogPython: GN.ResourcesUtils - add_resource_to_project - Error copying on diff [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'E:\02 Unreal\01 Referenzen\Campus_2023\Content\Polygonflow\Materials\FoliageMaterial.uasset' LogPython: GN.ResourcesUtils - add_resource_to_project - Source path C:\Users\urig\Polygonflow\Dash\Plugins\UnrealEngineContext/resources/editor/Materials/MaterialsNanite does not exist LogActorFactory: Actor Factory attempting to spawn Class /Script/Engine.Actor LogActorFactory: Actor Factory attempting to spawn Class /Script/Engine.Actor
spatiotemporal
spatiotemporal•6mo ago
so basically even on non-cull it's getting culled definitely some unreal setting that needs to be turned off, looking into it are you using world partitioning?
spatiotemporal
spatiotemporal•6mo ago
even with high density and fairly big polycount object if it's nanite there's zero culling: if i switch off nanite it gets culled but I can use foliage.MaxTrianglesToRender and just set it to super high
No description
spatiotemporal
spatiotemporal•6mo ago
if you have time we could do a little video chat and we could try pinpoint it was able to repro, happens only w/ megascans foliage assets atm(prolly translucency, or the kind of mesh), happens in both Foliage Paint and Surface Scatter
spatiotemporal
spatiotemporal•6mo ago
I just don't use nanite on foliage usually. Although it's def related to screen size area since if you scale up using Min Scale Max Scale more will apear. The reason in your example the foliage painter seemed to work is that the scales of the grass seems to be much larger.
spatiotemporal
spatiotemporal•6mo ago
spatiotemporal
spatiotemporal•6mo ago
Preserve Area doesn't seem to do anything for me in 5.3 which supposedly alleviates this.
spatiotemporal
spatiotemporal•6mo ago
@der_urig for Nanite the solution is to override Opacity Mask Clip Value, for me 0.16 worked well
No description
spatiotemporal
spatiotemporal•6mo ago
you can go lower if need to it still persists, or higher if it allows it
Ascenial
Ascenial•6mo ago
This is a really helpful thread thanks guys!
spatiotemporal
spatiotemporal•6mo ago
@Ascenial will go over all this and make a FAQ about it as these are unreal shenanigans, our tools(surface scatter, grid scatter, path scatter, etc) use HISM, same as Foliage Painter with the same attributes so in theory there's zero difference.
spatiotemporal
spatiotemporal•6mo ago
the only "problematic" part atm is world partitioning, but as soon as you are done with anything that outputs an instancer type from our tools, you can select it and then convert them w/
No description
spatiotemporal
spatiotemporal•6mo ago
which fixes world partitioning problems, aaaaand you can paint after
der_urig
der_urig•6mo ago
No. @Balu The material setting works great. Thanks a lot for your time and help.