Publicado en 12 de mayo, 2017
Unity- Hacer que el ParticleSystem ignore la pausa o el timeScale
¿Como hacer que las partículas funcionen en pausa? o ¿Como hacer que un el particlesystem ignore la escala de tiempo? Este es una pregunta un poco recurrente entre mis alumnos y en algunos foros y la respuesta es bastante sencilla.
El Time.timeScale se encarga de manejar a la velocidad que se actualiza el mundo y por defecto es un valor de 1, si este se vuelve 0, las animaciones, físicas y partículas se congelan porque dependen de este. Pero existe una manera de que las partículas puedan ignorar la escala de tiempo y es simplemente forzar su actualización con un script que tenga el siguiente codigo:
//Referencia a las particulas ParticleSystem parti; private void Awake() { parti = GetComponent<ParticleSystem>(); } void Update() { parti.Simulate(Time.unscaledDeltaTime, true, false); }
Y poner el script en las partículas, este avanza porque usamos el unscaledDeltaTime que como su nombre lo indica no le afecta la escala de tiempo y usamos la función de las partículas que los sigue reproduciendo.
Comentarios recientes