2017-01-31 46 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

簡單錄入錯誤