Making niagara system to run on Two's(like stop motion)

hi
i have been using niagara to do crowd simulations. but the character animation is in Twos.
basicaly skips every other frame . so since the particle sim is in ones (Normal Frame rate) it
is creating non sync between animation and partcle sim.
can someone help me making niagara sim in Twos …
i tried making it to 12 fps …doesnt seem to work
thank you

This is a very interesting topic. From what I have seen, you can not set individual tick to Niagara actors or components. The only tick you can change is the event tick in Bluprint, but it does not affect Niagara components. (I am assuming the physics engine for Niagara needs a stable tick to work properly). The only theoretical solution for me would be to use an HLSL node in the last module to interpolate the position with an if statement that updates the position attribute every 1/12 of a second. Unfortunately I have not learned any HlSL code yet :sweat_smile: to test it properly, but maybe this leads to a possible solution without using the source code.

P.S. I am not a technical artist, so there are many gaps in knowledge, but I am really interested in the solution. :smiley:

I liked the “idemo” part, it’s very optimistic! :slight_smile:

Yeah :sweat_smile:, I remember spending a whole day on this with chat GPT. As far as the solution goes. There is a hacky method to modulate the previous position with the actual position based on an if statement or you could floor the final position and get it to move only in integer values. Although you can achieve the stop-motion effect, the final particle location is not as it should be. When you compare it to a similar system without the stop motion module.

So it turns out you can do something about it this way, at least position wise. Idemo! :smiley:

Wow :star_struck:, cool approach, I’ve never used physics delta time before!
The most correct interpolation should be the square waveform, it has no interpolation from min to max. But still, you can see that when the particles move they move on the correct delta time. We should aim to sample the uninterrupted simulation every 12 frames and not hinder the whole simulation by turning it on and off 12 times per second.

Yup, square is a def more constant value. Also disable motion blur in rendering tab of renderer or overriding it with zero makes it pop out a bit more. :slight_smile:

There is this workaround also, setting the delta time tick rate in sys settings.

Yeah, I tried that one, also you can make the same effect with the material offset attribute in the material editor with the same floor trick to set the particles only to move after a set distance. You get a good pixelization effect.
Simonschreibt has a great example on this forum about it, making pixelated fire and amber spirits.

2 Likes