Unity FPSController将玩家朝相机方向移动

时间:2016-05-23 13:17:28

标签: android unity3d unity5

我正在使用Unity 5.3.4为Samsung Gear VR创建一款Android游戏。我可以使用标准资产包中的FPSController,使用我的蓝牙控制器在我的场景中走动。然而,玩家朝着其(不存在的)身体朝向的方向移动,而不是朝着他正在看的方向移动。这使得四处走动相当不自然,因为“前进”不会让玩家向前移动。

我在很多论坛上找到了几种解决方案,但似乎都没有。我怎样才能实现这种行为?

1 个答案:

答案 0 :(得分:2)

通过更改FirstPersonController.cs中的C#代码找到了一个有效的解决方案:

在包含

的方法FixedUpdate()中更改第100行
Vector3 desiredMove = transform.forward*m_Input.y + transform.right*m_Input.x;

成:

Vector3 desiredMove = m_Camera.transform.forward * m_Input.y + m_Camera.transform.right * m_Input.x;

这样,Camera的当前变换用于计算所需的玩家移动。