1

カメラに Physics Raycaster が接続されています。Pointer Click イベント トリガーは正しく機能しています。ただし、ソースコードから行う必要があります。これらは私の試みです:

private void SetOnPushButtonFireManager(){
    cardboard.OnTrigger += () => {
        Debug.Log("Button triggered!");
        RaycastHit hit;
        // if(Physics.Raycast(headGameObject.GetComponent<GvrHead>().Gaze, out hit, Mathf.Infinity)){
        if(Physics.Raycast(cameraGameObject.transform.position, cameraGameObject.transform.forward, out hit, Mathf.Infinity)){
              Debug.Log("Collision detected!");
        }
    };
}

「ボタン発動!」コンソールに表示されます。残念ながら「衝突が検出されました!」ではありません。ただし、Pointer Click Event Trigger は正しく機能しています (インスペクターにアタッチされたコンポーネント)。何が起こっているのかをどうやって知ることができますか? なぜ機能しないのですか?

更新: ここでこの回答に回答しました: http://answers.unity3d.com/answers/1200449/view.html

(stackoverflow では、この質問を削除できません)

4

2 に答える 2

1

カメラから光線を発射するために使用したコードを次に示します。私は Google Cardboard を持っていません。これはカメラとマウス ポインター用にセットアップされたものです。

   // Fire ray from camera
    float rayLength = 2f
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hit;

    // If ray hits object within length
    if (Physics.Raycast(ray, out hit, rayLength))
    {
            Debug.Log("Collision detected!:);
    }
于 2016-05-29T00:59:44.317 に答える