unity3d включить выключить систему частиц

я пытаюсь включать и выключать созданную мной систему частиц.
Я прикрепил ее к префабу.

Код, который я использую, выглядит следующим образом

public ParticleSystem waterGun;

void Update () {
    if(Input.GetKey(KeyCode.W)){
        waterGun.enableEmission = true;
    }else if(Input.GetKeyUp(KeyCode.W)){
        waterGun.enableEmission = false;
    }
}

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


person Alan Fletcher    schedule 13.03.2013    source источник
comment
Согласно документации Unity3D это должно отключить эмиссию. Я так понимаю, у вас это не работает?   -  person Chris Sinclair    schedule 14.03.2013
comment
к сожалению это не так, это меня смущает   -  person Alan Fletcher    schedule 14.03.2013
comment
Правильно ли вы назначили правильный экземпляр системы частиц в поле waterGun?   -  person Chris Sinclair    schedule 14.03.2013
comment
сборка WaterGun дается ему   -  person Alan Fletcher    schedule 14.03.2013
comment
Возможно ли, что ifstatement следует изменить на GetKeyDown вместо GetKey? В своем вопросе вы говорите: and stop playing when it is pressed. Здесь этого не происходит. Здесь воспроизведение прекратится, когда вы отпустите кнопку.   -  person Joetjah    schedule 14.03.2013


Ответы (2)


Попробуйте использовать:

waterGun.Play();

а также

waterGun.Stop();

И еще, твоя логика перевернута, как сказал Джоэтья.

person Corne    schedule 22.04.2013

Вы говорите, что «ему дается префаб водяного пистолета», но вы должны назначать экземпляр системы частиц в сцене водяному пистолету, а не префабу. Префаб не существует в сцене.

person Sam    schedule 26.10.2014