1

我正在努力让 Unity 中的 CardboardMain 会慢慢向 VR 中心点指向的方向漂移。我有脚本:

using UnityEngine;
using System.Collections;

public class Move : MonoBehaviour {
    public float balloon_speed = 0.0001f;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        //float rotLeftRight = Input.GetAxis ("Mouse X");
        //transform.Rotate (0, rotLeftRight, 0);
        Vector3 direction = new Vector3(0,0,balloon_speed);
        direction = transform.rotation * direction;
        transform.localPosition += direction;
    }
}

如果线路

//float rotLeftRight = Input.GetAxis ("Mouse X");
//transform.Rotate (0, rotLeftRight, 0); 

未注释,脚本在 Unity 中完美运行。当我将它加载到安卓设备时,相机会向前漂移,方向不会改变。我认为这是因为 VR 坐标与 transform.rotaion 返回的坐标不同。有什么建议吗?

4

1 回答 1

1

我会试试这个:

void Update() {
    transform.localPosition += balloon_speed * Vector3.forward;
}

我认为在您的脚本中,您将世界坐标矢量(旋转 * 方向)添加到本地坐标位置。

于 2015-01-04T04:57:45.003 回答