我在一个盒子上使用一个2D碰撞器,并将其设置为触发,这样我的玩家就可以穿过它,当我将其设置为触发时,它不再触发OnCollisionEnter2D,是否有一种方法可以在不考虑物理引擎的情况下继续使用碰撞事件,如果没有,那么是否有其他方法可以实现这一点?(我目前正在检查更新方法中的每一帧并计算距离,但这似乎太重了)
还有另一个函数叫做OnTriggerEnter2D,这可能是你正在寻找的。这应该在碰撞时触发,而不会引起物理交互。
你可以让OnCollisionEnter2D和OnTriggerEnter2D都调用一个单独的函数来处理碰撞,如果这个MonoBehaviour被添加到触发器和非触发器。