UE5 Niagara Neighbor Grid3D, setting up help - ColorQuery ContentExamples

I’ve only recently started looking at more advanced Niagara Systems and it’s the first time I use Neighbor Grid3D.
To get a grasp of it I decided to try and recreate the ColorQuery System contained in the ContentExamples but I’m struggling to make it work.
I’ve read here that it now requires a “Nighbor Grid 3D Set Resolution” module so that it can be more customizable. It also says that it needs to be in Emitter Spawn, but in the ColorQuery example, it was a System attribute and set in there so that it’s ready for both “Grid_Write” and the “Grid_Read” emitters, so I assume having it in the System Update should still work?

I’ve also opened the content example in UE4 to check what parameters were set for it since in UE5 they are no longer visible, and tried to apply the same on the “Neighbor Grid 3D Set Resolution” node.

I’ve changed the “CopyColor” Scratch Module to turn the particle red if the “Get Color by Index” node failed to retrieve a value and they all turn red.


image

I’ve also noticed that the “Fill Neighbor Grid 3D” scratch pad had an Output Module Attribute called “AddedToGrid” to check if the points made it into the grid, I’m not really sure how to debug an Output Module Attribute so I made a Particle one as well and it does return False far all the particles of the “Grid_Write” emitter

There must be something going on with how I’m setting up the Neighbor Grid 3D, but I’m not sure what’s wrong, any ideas?

4 Likes

I have same problem ,Please let me know if you have solved

Unfortunately, I didn’t have the chance to look into it further, it’s still unsolved :smiling_face_with_tear:

I think there are some bugs in the 5.0 version, the other day I repeated this, its work well in 5.1

It is in system update, cause each frame we then start with empty neighbor grid which is filled by writer from start.

if it had it in spawn, next frame the data will not change and writer will think it is full thus not update it. It is just the way the particular hlsl function work.