Oculus Rift 光线投射

Oculus Rift raycast

我目前正在使用 Oculus rift 的 unity 运行安装 OVRCameraRig 和附加到 CenterEyeAnchor 的脚本。此脚本使用以下代码。

GameObject dot;
    void Start () {
        dot = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        dot.GetComponent<Renderer>().material.color = Color.red;
        dot.layer = 2;
        dot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
    }

void Update () {
        RaycastHit hit;
        if (Physics.Raycast(transform.position, Vector3.forward, out hit, 80.0f))
        {
            dot.transform.position = hit.point;               
        }
        else
        {
            dot.transform.position = transform.forward * 80 + transform.position;
        }
    }

当我 运行 在没有插入 rift 耳机的情况下执行以下代码时,RayCast 与所有对象发生碰撞(同时在场景中移动 OVRCameraRig)但是如果我在插入 rift 的情况下重新启动程序,光线投射穿过所有物体,因此将球移离您 80 个单位。 我想知道为什么在我插入耳机后 RayCasts 行为会发生变化,是否有办法阻止这种情况。

编辑:在调试以下代码时,似乎当裂谷连接时,光线投射总是无法命中所有对象

是在 Raycast 中使用 Vector3.forward 而不是 transform.forward

的简单错误类型