游戏墙不起作用

时间:2018-01-11 03:06:11

标签: unity3d

我一直在开发Unity游戏,因为我是新手,我必须寻找如何做事。为了确保我的播放器不会飞离平台,所以视频被告知要制作墙壁,然后将它们放在一边。但是,当我试图看到如果遇到它们会发生什么,如果我只是按下按钮推动它,我很好,但是当我不断按住箭头键时,我只是直接通过它。我甚至加厚了墙壁以帮助防止它,但它没有工作。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

这可能由于多种原因而发生。

  1. 你的物体移动太快了。
  2. 你的一个物体,无论是你的玩家还是你的墙壁'对撞机设置不正确。
  3. 您的RigidBody设置不正确。
  4. 你已经尝试过加厚墙壁了。你有没有检查一下是否也会使对撞机变厚? (我想你正在使用盒式对撞机)。

    如果这不起作用,请尝试使用您的RigidBody配置。进入播放器和墙壁的RigidBody设置,并为两者设置从离散到连续动态的碰撞检测。

    可能发生的另一件事是你的玩家正在推动你的墙壁。您可以通过向墙壁添加质量或仅添加约束来防止这种情况发生。

    我不完全确定,但我认为每次固定更新都会检测到物理和碰撞...如果你的玩家的长度小于0.02,你只会传送或卡住。

    最简单的解决方案是增加你的盒子对撞机。使用RigiBody可能会解决问题,如果没有工作,您可以尝试Mathf.Clamp,这也是一个很好的解决方案。 https://docs.unity3d.com/ScriptReference/Mathf.Clamp.html

    [编辑]根据Andreaジーティーオー的建议,你也可以设置"是运动学"在你的RigidBody上,这实际上是正确的方法。您只能使用脚本移动!