I have finally decided to tackle down one of the main issue i still have in my project with Niagra system:
My pawn (a ship) is moving pretty fast, actor is ticking in post physics group because I have an Async Physics plugin for better determinism. Please note that this issue is the same using base engine in-sync physics
My niagara system emits particle at a fast rate to create a kinda volumetric smoke under the ship.
Overall particle count is around 700 so not overboard,
I can not work around this issue.
Running in a smaller PIE mitigates the effect,
Running at full 4K makes it way worse (see on gif above)
It seems to me that framerate is related to this effect.
I tried almost all combinations of ticking groups between actor (pawn), niagara actor component and niagara tick behaviour, without result.
I’m struggling with the same thing at the moment. It’s mainly an issue of the spawn rate being too slow for the speed of the object.
I cranked my spawn rate from 20 to 2000 just to test and it seemed to solve it. I don’t want that many on screen at once though, so I’m thinking a possible solution could be to scale both the spawn rate and lifespan of the particles based on the speed the system is moving at. So when the system is moving really quickly, spawn a ton more particles but have them die faster. That way it should hypothetically look roughly the same but without the spawn lag.
Not yet sure how to set that up, but I imagine it should be as simple as setting a parameter from within whatever blueprint actor the particle system is a part of.
You can convert world space to local space. Here is an example, my laser Niagara system is in local space (to prevent jittering on movement) but I need the right coordinates to aim it properly at its target. So I get muzzleflash arrow component transform (which is on the top of the gun barrel) and do inverseTransformLocation with the target location
I was thinking about maybe make a niagara system attached to my camera, setup in local space and adjust emitting position and direction depending on ship position and oritentation relative to camera.
Or this system could be attached to the ship and rotate to always face the camera, then feed it the emitting position and direction each frame…
But I fear that even in local space, because the frame is moving fast, i get the same issue.
Yes this is how things are setup for now
When emitter moves fast, particle spawn is inconsistent.
Also when setting time dilation to .2 for exemple, the jitter totally disappear…
NS is attached to pawn, and set to local simulation space
only yaws and pitches with pawn, but does not roll (NS Engine Up is the niagara system component)