在我的 2d 平台游戏中行走时,带有方形 boxocollider2d 的角色有时会停在看似空无一物的地方。有时可能是因为它正在撞击另一个设置为触发器的盒子碰撞器。
在代码中,使碰撞体从其下方的地面稍微悬浮。大多数游戏都是这样做的。也可以帮助您处理楼梯。如果你做不到这一点,给它一个圆形的底部(就像 2D 胶囊对撞机?我忘了它在 Unity 2D 中叫什么)。不然到处都会卡住。
如果您的 2D Unity 游戏角色突然停止,就像撞到了不可见的物体一样,则问题可能与碰撞相关。例如,角色的碰撞器可能会与关卡设计中的小间隙或意外碰撞器进行交互。检查重叠或未对齐的碰撞体并调整物理层。
另一种可能性是脚本错误导致速度意外重置。如果您正在实施像 Brawl Stars 中那样的机制,请确保您的冲刺或移动脚本不会意外停止动力。由于票据冲突,我们在这个游戏中遇到了同样的问题。
优化您的 Rigidbody2D 设置(例如摩擦或碰撞检测)以防止出现不需要的行为。在测试时调试场景视图可以帮助识别隐藏的障碍物。