避免 Unity 中粒子和对撞机之间的碰撞

Jai*_*spy 6 c# unity-game-engine

我有大量的东西在互相射击粒子系统。我希望粒子击中目标而不是原始对象。是否可以:

  • IgnoreCollision在粒子系统和碰撞器之间使用

  • 在运行时定义新的碰撞层

或者是否有一些我没有考虑过的偷偷摸摸的方法来解决这个问题?

Mil*_*emi 0

您应该检查您正在碰撞的对象是否与您的原始对象相同,因此通过检查器将您的原始游戏对象分配给此脚本的原始变量,然后在碰撞中检查您击中的对象是否相同(如果是)不是那么你就没有击中原点

  Public GameObject origin;
 void OnParticleCollision(GameObject other) {          
     if(other.GetInstanceID() != origin.GetInstanceID())
         DoSomething();
              }
Run Code Online (Sandbox Code Playgroud)