c# - 为什么在几秒钟后将角色用力向前推靠在门上时,它正在穿过门?
问题描述
门为红色时处于锁定状态。如果我在门中间的 W 键上不停地向前推动角色,它将不会通过。但是,如果我在门的一个红色部分(ShieldFX)上不停地推动它,它就会穿过门。如果我将它按在红色部分上一次它不会通过,但是当在几秒钟(1-2 秒)后不停地按下 W 键时,它正在穿过门。
这是门的屏幕截图,这是一个有碰撞器的孩子,Door_Left 和 Door_Right 也有碰撞器,也有盒子碰撞器,并且盒子碰撞器触发器都未选中。
这是红色部分的截图。这是一个盾牌,不是我的盾牌:DoorShieldFXLocked 和 DoorShieldFXLocked (1)
解决方案
你可以尝试
- 将玩家的刚体碰撞检测设置为连续
- 使刚体的对撞机大一点
- 使物理时间步长更小。您正在为我们优化什么,以确保在一个物理步骤中您的移动永远不会超过对撞机的整个大小。
- 确保刚体不超过你知道的某个速度,它不能隧道。为此,您可以使用拖动。
取自@Joachim_Ante 在高速碰撞检测中
推荐阅读
- ms-access - 在 MS Access 中添加带有图标的自定义菜单
- c++ - Luarocks luasql-mysql 编译错误
- python - python中的条件可以在范围内吗?
- terminal - Flutter 命令不起作用
- javascript - 渲染 displaySIngleElement 组件 onClick 反应
- css - 网页滚动条的方向
- python - 我试图在 python 上读取 rtsp 流,但无法读取
- javascript - 在 SailsJS 中将图像 URL 保存到用户
- ruby-on-rails - 有没有办法生成测试文件夹?
- opengl - 光线盒相交计算错误距离