自动使第一人称控制器向前运行

时间:2014-11-25 15:52:21

标签: unity3d unityscript

我正在为Unity中的Google Cardboard制作游戏,我正在使用Unity的第一人称控制器对象。它可以正常使用箭头键,但我希望它能随时自动向前运行,因为我在谷歌纸板上没有任何输入方法。

我目前几乎没有使用统一体验,但我知道这就是我想做的事情。我应该修改附加到对象的脚本吗?

由于

1 个答案:

答案 0 :(得分:3)

这是我在Magnet script for UNITY 3D

上使用的答案的副本

唯一的区别是你可以取代" IsMoving"用" true"因为你希望你的家伙永远前进。我通过在我的另一个答案中删除if块来替换这里:

  1. 在Unity5中导入资产包标准资产/字符。
  2. 从该包中创建RigidBodyFPSController.prefab的实例。
  3. 删除它的子对象," MainCamera"
  4. 导入Google cardboard unitypackage
  5. 更换" MainCamera"您在步骤#3中使用CardboardMain.prefab
  6. 删除了
  7. 更新或修改RigidbodyFirstPersonController.cs GetInput()方法的副本。
  8. 使用Google Cardboard向前移动回退的GetInput():

    private Vector2 GetInput()
    {
        Vector2 input = new Vector2
        {
            x = Input.GetAxis("Horizontal"),
            y = Input.GetAxis("Vertical")
        };
    
        // If GetAxis are empty, try alternate input methods.
        if (Math.Abs(input.x) + Math.Abs(input.y) < 2 * float.Epsilon)
        {
            input = new Vector2(0, 1); // go straight forward by setting positive Vertical
        }
        movementSettings.UpdateDesiredTargetSpeed(input);
        return input;
    }
    

    Google的SDK仅支持检测磁铁&#34;点击&#34;。如果您想要按住磁铁继续前进,我建议您使用Unity3D资源商店中的Cardboard Controls+