那么,如果两个
BoxCollider2D
都没有Rigidbodies
,两个物体是否有可能相互碰撞?我使用了 Sebastian Lague 的 2D
教程,但他没有使用 Rigidbodies
。
我尝试过但没有成功,希望找到一种可行的方法。
检测碰撞时,重要的是要确保:
GameObjects
都有一个源自 Behavior
的 Collider2D
,无论它是 Circle
、Box
、Capsule
还是自定义。GameObjects
之间的碰撞,一个带有 2D
和另一个带有 3D
Collider
之间的碰撞在任何情况下都是不可能的GameObjects
中的一个或两者都有 Rigidbody2D
Rigibody2D
是 simulated
,无论其 Body Type
以及 Collider2Ds
是否启用 isTrigger
Rigidbody2D
必须是...,如果同一个 Collider2D
上的 GameObject
有 isTrigger
Dynamic
Kinematic
Dynamic
Kinematic
,启用 Use full kinematic contacts
static
Rigidbody2D
永远不会检测到碰撞Rigidbody2D
上都有 GameObjects
,则只要其中任何一个符合上述规则,就会发生碰撞OnTriggerEnter2D
是Collider2D
时,调用方法trigger
,否则调用OnCollisionEnter2D
,无论其他Collider2D
的类型回到你的问题,使用
GameObjects
或 BoxCollider2Ds
等方法,两个带有 OnTriggerEnter2D
的 OnCollisionEnter2D
不可能相互碰撞,而其中任何一个都没有 Rigidbody2D
。
如果出于某种原因,您仍然希望它们在没有
Rigidbody2Ds
的情况下相互碰撞,则必须使用例如以下方法来实现自定义碰撞检测逻辑: Raycasts
。