为什么我的粒子系统碰撞不起作用?

时间:2015-10-14 17:32:50

标签: unity3d collision-detection particle-system

我添加了一个粒子系统,我已经检查了对撞机选项并添加了一个世界粒子对撞机。见下图。

在附加到粒子系统的脚本中,我有:

void OnParticleCollision(GameObject other) {
    Debug.Log("Particle was hit!");
}

由于上面的信息没有打印,被射击的子弹似乎没有击中粒子。子弹是球体,具有球体对撞机和附着的刚体。如果重要的话,刚体被设置为非运动学(未选中复选框)。

此外,项目符号对象的脚本附有与上面相同的行:

void OnParticleCollision(GameObject other) {
    Debug.Log("Bullet was hit!");
}

但它也没有印刷。

我错过了什么?

enter image description here

2 个答案:

答案 0 :(得分:1)

检查Sphere Collider上是否禁用了“Is trigger”,或者您的粒子太小并且没有击中实际的对撞机。 试图模拟你的情况,一切正常。

答案 1 :(得分:1)

仔细检查您是否已将此脚本附加到粒子系统,而不是任何任意游戏对象。