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

Unity3d 为什么我的粒子系统碰撞不起作用?,unity3d,collision-detection,particle-system,Unity3d,Collision Detection,Particle System,我已经添加了一个粒子系统,在其中我选中了“碰撞器”选项并添加了一个世界粒子碰撞器。见下图 在附加到粒子系统的脚本中,我有: void OnParticleCollision(GameObject other) { Debug.Log("Particle was hit!"); } 发射的子弹似乎没有击中粒子,因为上面的信息没有打印出来。子弹是带有球体碰撞器和刚体的球体。如果有必要,刚体将设置为非运动学(复选框未选中) 此外,bullet对象还有一个附加了与上面相同行的脚本: void

我已经添加了一个粒子系统,在其中我选中了“碰撞器”选项并添加了一个世界粒子碰撞器。见下图

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

void OnParticleCollision(GameObject other) {
    Debug.Log("Particle was hit!");
}
发射的子弹似乎没有击中粒子,因为上面的信息没有打印出来。子弹是带有球体碰撞器和刚体的球体。如果有必要,刚体将设置为非运动学(复选框未选中)

此外,bullet对象还有一个附加了与上面相同行的脚本:

void OnParticleCollision(GameObject other) {
    Debug.Log("Bullet was hit!");
}
但它也没有印刷出来

我错过了什么

检查您是否在球体碰撞器上禁用了“Is触发器”,或者您的粒子太小,没有击中实际的碰撞器。
尝试模拟您的情况,一切正常。

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

您解决了此问题吗?我在使用Unity 2017时也遇到了同样的问题。对不起,我不记得我是否解决过这个问题。我建议您在活动频繁的Unity论坛上提问: