2017-01-31 34 views
0

我目前正在使用一个运行OVRCameraRig的Oculus rift和一个附加到CenterEyeAnchor上的脚本。该脚本使用以下代码。Oculus Rift raycast

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; 
     } 
    } 

当我运行下面的代码没有裂痕耳机插入,光线投射的所有物体碰撞(同时在场景内移动OVRCameraRig)但是如果我重新启动程序与我的裂痕插入,光线投射进通过所有的物体,因此将80个球从你身上移开。 我想知道为什么RayCasts行为会在插入耳机后发生变化,并且如果有办法阻止这种情况。

编辑:在调试下面的代码似乎当裂口连接的光线投射始终未能触及上的所有对象

回答

0

是在光线投射使用Vector3.forward而不是transform.forward

简单录入错误