How to emit particle or un-pause particle when timescale =0?

How to emit particle or un-pause particle when timescale =0? My particle i have now runs great when timescale is = 1 but when it is = to 0 it is paused? how can i keep the particle playing even when timescale is = to 0?

4 Answers

4

I know this is an old post, but the above answer is incorrect.

Just attach this script to the particle system you wish to ignore Time.timeScale:

For anyone who stumbles upon the question now:

There is a Delta Time property on Particle Systems, that can be set to Unscaled, which will cause the ParticleSystem to be independent of TimeScale.

129473-48333237-2227758434168183-3017591060927873024-n.png

This is the correct answer.

This is the answer. After a long search, I integrated this technique in my RPG game. It's working fine. No need of adding any additional script.

The Right way! Thank you very much for the help!

Just attach this script to the GameObject with your particle system:

using UnityEngine;
using System.Collections;

public class UnscaledTimeParticle : MonoBehaviour
{
    // Update is called once per frame
    void Update()
    {
        if (Time.timeScale < 0.01f)
        {
            particleSystem.Simulate(Time.unscaledDeltaTime, true, false);
        }
    }
}

Nice solution ! Thank You!

When you set the timescale to 0, everything on the scene is paused. No, you cannot run a particle system when the timescale is at zero.

The wrong answer. For the best way, find the answer to @Mikina. The same technique is used in my RPG game.