Niagra System Animation Issue

I have animated the curtain being burnt gradually and want the fire to do the same ( i.e. want the fire to go up in the z-axis gradually).

I added Box Location and then to animate the Box Offset for Z-Axis, I added a float from curve to the z-axis and added keyframes to the curve but it is not Animating. How to tackle this?

(There are two keyframes in the curve when changing the location of the first keyframe the fire changes its location on the z-axis, but when changing the location of the second keyframe the fire remains at the same place)

Because you need to put the box location in UPDATE, I think. (Spawn is once)
How did you make the curtain? If Houdini you could export particles as hbjson that follow the leading edge of the burn, and use them in Niagara to emit the fire particles.

How can I put the location in update?

(The model was modeled in Blender and textured in unreal)

Hum… I think there is also an issue with your curve. The curve index is Particle.NormalizedAge parameter value. This value is between 0 and 1 (0 being the particle being born, and 1 the moment it is killed) if I’m correct. Then your curve using a high value like 40 seems really out of range. Your curve should be between 0 and 1 on the x-axis to be from particle’s birth to particle’s end.

And to offset the box location, you may need to set this in the emitter update. You could make a custom parameter that you set in the emitter update, and then use this value in the particle spawn to drive the box location over time.

Also, if you moove this to the emitter update, be sure to replace the curve index with the Emitter.Age value and try to fit with it inside your curve (if your emitter loop is 10 seconds, then your curve should be from 0 to 10 on the x-axis)

Hope it help! :slight_smile:

Use Emitter.LoopedAge(Or NormalizedLoopAge) instead of Particles.NormalizedAge.

Particles.NormalizedAge is 0 during spawn

This somewhat works. :smiley: Then use a Particle Reader to emit “Fire” particles from these. I am sure there is a more optimized way though…

1 Like

Thanks, I wass trying system.LoopedAge but didn’t try Emitter.Looped Age

Sure it helped Thanks