Particle systems with long lifetime and culling...

Discussion in 'Support!' started by exterminans, July 24, 2014.

  1. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    This issue is very much prominent with all types of projectiles which have smoke trails (especially nukes!), but also with the smoke particles for explosions.

    We know that model states are set to a random state when restored to culling. And particle systems are being paused.

    Unfortunately, this doesn't work so well with particle systems with long lasting particles.

    Example:
    Look at a flying nuke. Switch to different planet. Switch back. There is now a gap in the smoke trail where the particle system wasn't simulated.

    Other example:
    Nuke a location without watching it. Go to impact location after smoke particles would have been generated. You are now seeing the remainders of the nuke effect, but all particles which would have been generated while absent are missing.

    This clearly shouldn't have happened. But keeping particle systems active isn't a solution either as this would increase the load on the client without reason.

    There is only one apparent solution:
    For particle systems which can generate long lasting particles, rerun the particle system at least for min("particle lifetime", "time since last run").
    Of course this does require to generate particles in the locations where the particle emitter was, so accessing the history curve for the object the particle emitter is attached to is necessary and articles must be generated in a pre-aged state. It also requires tracking of the timestamps of particle systems which have recently been seen active in order just to rerun particle systems which actually need it.
    That's already all of it.

    Ok, not yet. There is also the issue with particle emitters which ceased to exist by the time you would need to see the particles. But that problem is your's to solve ;)
    Last edited: July 24, 2014

Share This Page