1 Year Ago
I have attained the truly correct way to handle particle systems and implemented it here. Here is a handy guide to the following difficult situation, which I've also pasted into a new block comment in ParticleSystemContainer: - You have a Particle System that you want to be on sometimes, and off at other times. e.g. Smoke from an engine that emits while the engine is running. - You want the Particle System to be culled (ParticleSystemCull) or LOD'd (ParticleSystemLOD) at a certain distance. Here is the setup you need: - Use a ParticleSystemContainer and control your particle systems from there, not directly. - Set your ParticleSystemCull/ParticleSystemLOD scripts to Play On Show TRUE. - In your parent entity, immediately call Stop() or Play() on the ParticleSystemContainer in ClientOnEnable(), as desired for the particle's current state. This gets everything into the right initial state. From there, things should work correctly.