Niagara Spawn per Unit using Bone Velocity

Hello RTVFX community!

I have a quick question regarding emission sampling a skeletal mesh in Niagara.
I want to use the Spawn per Unit module, but instead of using the emitter velocity I want to use the velocity of a bone.

What I am trying right now is using a scratchpad in the Emitter Update stage to sample the skeletal mesh and write the velocity to a variable and then feed that to the Velocity Vector of the Spawn per Unit module but this won’t work as I expected.

Is there any specific order of operations or a specific configuration for feeding this velocity data to the emitter. A bit of advice will be very much appreciated!

Thanks a lot!


Looks correct on first glance.

What exactly goes wrong?

No particles are emitted T-T

1 Like

Velocity output is 0,0,0, probably a bug.

It works if you take the difference in position instead of sampling velocity.

Also, I’d highly recommend doing calculations that aren’t specific to emitters on system update instead. Easier to maintain, debug and less problems due to uncareful copying of emitters.


Brilliant @Niels ! Thanks a lot for taking a look at it!
I’m still figuring out my way on this scratch pad and custom modules, my luck again throwing that the first thing I try gives this bug. The workaround works indeed as expected!
Thanks for the great tip to handle those cases on the System Update, I wasn’t aware that it was the case where we could scratch pad the system! Definitely much better to handle it that way to make it available for anything inside the Niagara logic.


1 Like