首页 > 解决方案 > 为什么在几秒钟后将角色用力向前推靠在门上时,它正在穿过门?

问题描述

门为红色时处于锁定状态。如果我在门中间的 W 键上不停地向前推动角色,它将不会通过。但是,如果我在门的一个红色部分(ShieldFX)上不停地推动它,它就会穿过门。如果我将它按在红色部分上一次它不会通过,但是当在几秒钟(1-2 秒)后不停地按下 W 键时,它正在穿过门。

这是门的屏幕截图,这是一个有碰撞器的孩子,Door_Left 和 Door_Right 也有碰撞器,也有盒子碰撞器,并且盒子碰撞器触发器都未选中。

门

这是红色部分的截图。这是一个盾牌,不是我的盾牌:DoorShieldFXLocked 和 DoorShieldFXLocked (1)

盾

标签: c#unity3d

解决方案


你可以尝试

  • 将玩家的刚体碰撞检测设置为连续
    • 使刚体的对撞机大一点
    • 使物理时间步长更小。您正在为我们优化什么,以确保在一个物理步骤中您的移动永远不会超过对撞机的整个大小。
    • 确保刚体不超过你知道的某个速度,它不能隧道。为此,您可以使用拖动。

取自@Joachim_Ante 在高速碰撞检测中


推荐阅读