Отобразить ParticleSystem, когда OnCollisionEnter запускается

У меня есть 2 аудиоклипа, которые воспроизводятся при включении функции OnCollisionEnter. Я также хотел бы отобразить систему частиц в том месте, где произошло столкновение.

Вот код;

private var beenHit : boolean = false;
private var targetRoot : Animation;
var hitSound : AudioClip;
var chitSound : AudioClip;
var resetSound : AudioClip;
var resetTime : float = 3.0;
var dieEffectsPrefab : Transform;

public ParticleSystem DestructionEffect;

   function OnCollisionEnter() {
     audio.PlayOneShot(chitSound);
     audio.PlayOneShot(hitSound);



     Debug.Log("HitSomething");
     animation.CrossFade ("dying");
     Destroy(gameObject,1);

}

2 ответа

Давайте возьмем GameObject A и GameObject B

  1. A & B - должен быть коллайдер
  2. A || Б - любой должен иметь твердое тело, прикрепленное к нему.
  3. реализовать OnCollisionEnter() в скрипте A (или) B.
  4. Когда триггеры столкновения получают экземпляр частицы и реализуют

    Например: частичка экземпляра. Игра (); он начнет играть систему частиц.

    Благодарю.

Добавьте переменную в свой код типа "GameObject".

Создайте "систему частиц" в: "Создать" -> "Система частиц". Настройте его так, как вы хотите.

Перетащите его на один "Префаб".

В редакторе Unity перетащите свой префаб в свой "GameObject".

Добавьте строку кода:

Instantiate (MyGameObject, this.transform.position, this.transform.rotation);

Эта строка кода создает экземпляр "GameObject" в мире.

На его "сборной" метке частицы: "Play On Awake".

Поэтому, когда вы создаете свою частицу в мире, она автоматически дает "Play".

Следуя этой пошаговой инструкции... вы получите то, что хотите.

Надеюсь, это поможет!

Другие вопросы по тегам