- This problem can be replicated in a blank project in UE 5.6.1 -
I’ve been working with PCG to make some biomes for the project I’m working on and I decided to try the new PCG Runtime Grass for the foliage of the biome. After working with it for some time I figured out some problems and I have some questions.
My setup for each biome is to have a normal PCG (I make the calculation on editor) for the big and medium shapes (like trees, rocks, big bushes…) and a PCG Runtime Grass for the small stuff (like grass, small bushes, dead leaves…). And I’ve got pretty good results in editor as I have way more control with PCG than with the traditional Unreal foliage system, but I’ve realized that you have very few nodes that are GPU based.
At first I tried some of the non GPU based nodes, like the ‘Projection’ node for example, thinking that maybe was enough to have the ‘Custom HLSL Point Generator’ node and the ‘Static Mesh Spawner’ node as the GPU nodes. But after some testing I think is not the case because is provoking crashes on the build of the game. For me the ‘Projection’ node was very handy and needed because it wasn’t only snapping the points to the terrain, it was giving me the info of the layers of the terrain so I could properly filter my biomes depending on that data. I know there is a way with HLSL and using the ‘Landscape Grass Type’ for filtering specific layers of the Landscape but in my opinion is not a nice way to filter and not intuitive at all (I think is way better the ‘Filter Attribute Elements’ node that you can use after getting the info of the Landscape with the ‘Projection’ node).
Another problem I have is the snapping to the terrain made with the Custom HLSL Point Generator node that is not properly working because is using a low res version of the landscape for the calculation and it makes the grass to appear under or above the landscape at some points (you can see it on the images). Maybe I’m setting something wrong in the PCG or the landscape (the landscape is using nanite by the way). The ‘Projection’ node works perfectly but I cannot use it with Runtime PCG, or if I can use it I don’t know how I can make it work. So my question is, there is a way of using more nodes for PCG Runtime? There is a way of making the snapping to the terrain work properly with the GPU nodes?
If not it would be nice to have more GPU nodes in the future so you have more options for building the foliage in PCG.
I tried to replicate this in a new blank project just to make sure it wasn’t something about our project and it happened the same. So to replicate this you only need to create a landscape on an empty map (mine was 8x8 kilometers), create a pcg runtime grass graph with the default template and drag it into the scene (remember to set all the settings that are commented in the template). Then you press play on editor and you will see that the snapping is not working properly.

