やりたいこと
oculus questとunityを利用している。
カメラの座標が(0,1.5,0)、コントローラーのローカル座標が(0,0,0)
実行中にカメラの座標を(0,2.0,0)に移動するとコントローラーのローカル座標が(0,-0,5)になるようにしたい。
###困っていること
<VRで実行中>
親:カメラの座標が(0,1.5,0)にある。
孫:コントローラーをカメラの位置(0,1.5,0)に持っていくと、ローカル座標が(0,0,0)である。
親:カメラの座標を(0,2.0,0)に移動する。←頭を上げるなどして移動する。
孫:コントローラーをカメラの位置(0,2.0,0)に持っていくと、ローカル座標が(0,0.5,0)になる。
ここでコントローラーはカメラと同じ高さにあるためローカル座標は(0,0,0)になるはずだが、(0,0.5,0)になってしまう。
ローカル座標は以下のスクリプトで取得している。
C#
1 public GameObject controller; 2 3 void Update() 4 { 5 Transform myTransform = controller.transform; 6 7 Vector3 localPos = myTransform.localPosition; 8 float y = localPos.y; 9 }
追記
OVRCameraRigの座標をスクリプトで取得してみた。
するとカメラの座標はVR内で頭を上下に動かしてみても変わっていなかった。
これが原因だと考えられる。
なので現実空間でどれほど頭を動かしたかを取得する必要があるのか...
回答1件
あなたの回答
tips
プレビュー