你可以发一下代码看看,有可能是以下几个问题。 以下都是错的

  1. 一个可能的问题就是粒子是3D的,所以很有可能2D的Collider根本无法检测碰撞,所以你可能需要使用一个BoxCollider。
  2. 可能你在检测碰撞时使用的是OnParticleTrigger。如果有,你可以试一试使用OnParticleTrigger2D进行检测。

以下是第二次回答

@亚恒
我试了以下,确实没有那么简单。但是我想了一个办法不知道能不能满足你的要求。

首先是A:

在被碰撞物体上使用OnParticleCollision()进行碰撞检测。然后在碰撞物体上加上一个collider,使其稍大与原来的collider,并设为trigger。然后粒子也使用trigger模式,把粒子设为离开cllider就被kill。

然后是B:

同上。

然后是C:

C就不用添加那个新的collider。