Не помещайте свои триггеры воспроизведения в функцию Update () MonoBehaviour, потому что она будет вызывать воспроизведение на каждом кадре.
Вместо этого попробуйте что-то вроде этого:
public ParticleSystem particleSystem;
private bool isPlaying = false;
void Start() {
particleSystem = GetComponent<ParticleSystem>();
particleSystem.Clear(); // Reset the particles
}
void Update() {
if(!isPlaying) {
particleSystem.Play();
isPlaying = true;
}
}
Использование частицы.Очистка () перед вызовом elementSystem.Play () также может помочь с проблемами частиц.
Самый простой способ остановить и сыграть систему частиц - это деактивировать и активировать игровой объект системы частиц.Для этого управляющий скрипт должен быть размещен в родительском или отдельном объекте.