在OnCollisionEnter启动时显示ParticleSystem

时间:2013-10-19 22:25:22

标签: unity3d particle-system

当OnCollisionEnter功能启动时,我播放了2个音频片段,我还希望在发生碰撞的位置显示粒子系统。

这是代码;

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 个答案:

答案 0 :(得分:0)

在“GameObject”类型的代码中添加变量。

在“创建”中创建“粒子系统” - > “粒子系统”。 按照您想要的方式配置它。

将其拖动到一个“预制件”。

在Unity编辑器中将预制件拖到“GameObject”中。

添加代码行:

实例化(MyGameObject,this.transform.position,this.transform.rotation);

这行代码实例化了世界上的“GameObject”。

在他的“预制”粒子标记中:“Play On Awake”。

因此,当您在世界中实例化粒子时,它会自动“播放”。

按照这个步骤......你得到你想要的东西。

我希望这有帮助!

答案 1 :(得分:0)

让我们来看GameObject A& GameObject B

  1. A& B - 应该有一个对撞机
  2. A || B - 任何人都应该有一个坚固的身体。
  3. 在A(或)B脚本中实现OnCollisionEnter()。
  4. 当碰撞触发器获得particleSystem的实例并实现

    EG:particleInstance.Play();它将开始播放粒子系统。

    感谢。