【发布时间】:2015-09-15 03:39:09
【问题描述】:
假设我在 Vector3 中有一个点,并且我的 FPSController(我使用的是 Unity 5 附带的标准控制器)从这个 Vector3 移动了 10 幅度。我不想让任何方向的移动超过 10 级。理想情况下,我会预测玩家按下哪个方向移动,测试该向量,如果它低于 10 级,那么它将允许移动继续进行。这样,如果你在 10 岁时按“后退”,您将无法移动,但如果按“前进”,则没问题。
我知道我在这里有点抽象。据我了解,FPSController.cs 脚本正在使用 CharacterController 组件。今晚我研究了 FPSController 代码一段时间,注意到它正在对本地位置进行各种计算,但幅度需要在两个世界坐标之间。
我已经知道如何计算幅度,我只需要知道如何测试预期方向。我有一种感觉,这比我想象的要容易?
【问题讨论】:
-
我不明白您所说的“我不允许在任何方向上超过 10 级的移动”是什么意思。你是说你想将玩家从某个点限制在 10 个单位以内?或者你想限制他们的速度?
-
我想从某个点限制他们 10 个单位。你被绑在一根绳子上,一旦拉到它的长度,你就不能再往前走了