Unity3d 为什么不是';我的2D盒对撞机不工作吗?

Unity3d 为什么不是';我的2D盒对撞机不工作吗?,unity3d,Unity3d,我正在为我在unity 5中的2d游戏中的角色设定边界。我在边框和我的角色中添加了框碰撞器,但是角色在碰到其他边框时不会停止 当碰撞器相交时,它将触发OnCollisionCenter事件。你需要告诉它之后该做什么。如果球撞到墙上,它可以将速度设置为0;如果球员走进陷阱,它可以唤醒敌人。您必须定义行为。我对Unity 5没有太多经验,但可能这些东西的工作原理与Unity的旧版本类似 碰撞器可以用来阻止物体进入彼此内部,而无需编写自己的OnCollisionCenter函数 所以肯定还有其他问题。

我正在为我在unity 5中的2d游戏中的角色设定边界。我在边框和我的角色中添加了框碰撞器,但是角色在碰到其他边框时不会停止

当碰撞器相交时,它将触发OnCollisionCenter事件。你需要告诉它之后该做什么。如果球撞到墙上,它可以将速度设置为0;如果球员走进陷阱,它可以唤醒敌人。您必须定义行为。

我对Unity 5没有太多经验,但可能这些东西的工作原理与Unity的旧版本类似

碰撞器可以用来阻止物体进入彼此内部,而无需编写自己的OnCollisionCenter函数

所以肯定还有其他问题。检查:

  • 对撞机是同一类型的。二维和三维碰撞器不会检测彼此之间的碰撞
  • 至少一个碰撞参与者需要连接刚体组件
  • 检查是否在任何碰撞器上都未选择“触发”
  • 暂停游戏并在场景视图中检查碰撞器的绿色框是否确实发生碰撞
  • 检查游戏对象的层,并检查它们是否会因为碰撞而发生碰撞

  • 是否有任何需要启用的设置或其他东西?需要更多的设置。显示OnCollisionCenter,或任何类型的代码。我只是在使用UnityTanks的内置框对撞机!我试着用这种方法,玩家进入边界时会停下来。但在那之后,它可以继续向任何方向发展。如果您正在编写自己的OnCollision函数,我看不到任何简单的方法来修复它。不过,这个想法对于唤醒敌人是正确的。