Niagara / unreal GDC



Yes I have Persistent IDs checked in the Color to Space project. But note, I have found errors in the fMod output itself.

Check the second part of my first post, I made a very basic script that just fMods 2 numbers and I still get the errors, even when I DO go back and check Persistent IDs. I just tried that out.


We have also see some bugs with FMod. We have a JIRA in to investigate and fix.
Though so far I’ve only seen it on console and was assuming some optimization differences in the compilers.
Are you on Win64 here? Development or debug build?
Can you try a broken emitter in debug and see if that works? I still think it will be down to some optimization bug.
Could you also send me the assets you’re using?


However, looking more closely, in this case I think you’re falling foul of other issues.
ExecIndex != ArrayIndex. Nor is it persistent across frames for particles.
Checking “Persistent IDs” will not make ExecIndex persistent across frames. It will create a Particles.ID payload which is persistent across frames.
The reason for the discontinuity at index 128 in your first post is because there is a disconnect :slight_smile:
On the CPU particles are handled in chunks of 128 and can run on different threads at different times.
Leading them to be in the actual buffer in places that don’t match their exec index.
If you also output the exec index to the particle payload I expect you’ll see the results you want.
If you’re still seeing issues, please can you give me a similar output but with exec index and the mod result displayed?




Cannabis.cod3r - This worked! Thank you. !Every time! I think I can skip a vid and go to the next I learn better :).

Thank you as well, your explanation makes sense.


Sorry to say, I cannot figure out how to set a dynamic material in Niagara to begin with, that can be driven by the dynamic material parameters. For Cascade I believe I could simply create a dynamic instance material in blueprint and set it on the particle system, but this approach does not seem to work in a similar way for Niagara.

Any pointers would be appreciated!


I’ts actually pretty simple, you just need a material with the Dynamic Parameter node in it… The Dynamic Mat Params module in your Niagara Emitter, and then make sure your material is applied in the emitter. The Dynamic Mat Params module will throw errors if you have a material applied that does not have the correct Dynamic Parameter node within.


Ahh! Many thanks! :slight_smile:


Also keep in mind too that Niagara supports 4x4 dynamic parameters. So there’s an additional setting in the material node Dynamic Parameter where you have to set an index from 0 - 3.


The namespaces for these are Particles.DynamicMaterialParameter0 - …1 and are Vector4’s, so just set them with Set Variable module for instance.

Also, you can make sure they are linked under ‘Bindings’ in the Renderer section.


I noticed you could add 4 modules… seems a bit overkill :wink: but nice to have regardless.


Sure! Bunch of times working in cascade i wished I had more! We can even send in additional colour info. Before I tricked myself around the limit with hue shifting, but now I can just straight up send several colours at once! I love this addition, personally.


My first tutorial with links to files.


Hello guys, i am new in this forum and in Ue4 (Niagara). I did something whit niagara (a black hole circle), but i want ask on you guys if you know about the Liquid effect. Precisely on the foam (i need to replicate this image). Thanks and good day :smiley:



My next tutorial ) Simple Emitter with spline…



Now we just need to create swirling splines on the fly using VR controllers…
I’m looking at you @steyrboy :slight_smile:


Next tutorial about Ribbons with files…


About creation simple track with Niagara component


Event Handler for create simple tree


Next tutorial about creation 3dGrid and add spline as a attractor) I hope that for someone it will be useful