Система частиц не играет через код - PullRequest
0 голосов
/ 26 октября 2018

Я использую этот метод и пробовал некоторые другие, но не смог воспроизвести систему частиц (например, для снарядов от пуль).

public ParticleSystem particleSystem; 

void Start() {
    particleSystem = GetComponent<ParticleSystem>();
}

void Update() {
    particleSystem.Play();
} 

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Не помещайте свои триггеры воспроизведения в функцию 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 () также может помочь с проблемами частиц.

Самый простой способ остановить и сыграть систему частиц - это деактивировать и активировать игровой объект системы частиц.Для этого управляющий скрипт должен быть размещен в родительском или отдельном объекте.

0 голосов
/ 27 октября 2018

хорошо, так что после нескольких часов я обнаружил, что лучший способ манипулировать системой частиц, то есть активировать и деактивировать по своей воле, - это создать пустой игровой объект, назначить ему систему частиц, а затем включать и выключать этот игровой объект точно вкакую часть кода вы хотите использовать с помощью команды setActivce.Я надеюсь, что это поможет кому-то в любом случае

0 голосов
/ 26 октября 2018

Вы должны убедиться, что он еще не воспроизводится, или вы сбросите его

void Update() {
    if(!particleSystem.isPlaying) particleSystem.Play();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...