現在 UnityでOculusquest2向けのVRコンテンツを制作しています。
・実現したい事
カメラを動かしても常にUIが正面に来るようにしたいです。
ただしUIはカメラのx軸の回転には影響されないようにしたいです。
・試した事
カメラのポジションが動いた時にUIもカメラとの距離を保ったまま動くようになりましたが回転の部分がうまくいきません。
c#
1 [SerializeField] 2 GameObject cameraobject; 3 [SerializeField] 4 GameObject menupanelobject; 5 private Vector3 offset; 6 void Start() 7 { 8 offset = menupanelobject.transform.position - cameraobject.transform.position; 9 } 10 private void LateUpdate() 11 { 12 menupanelobject.transform.position = cameraobject.transform.position + offset; 13 menupanelobject.transform.rotation = cameraobject.transform.rotation; 14 }
startの中でUIとカメラの距離を計算し、updateの部分で常にプレイヤーの位置からstartで計算した距離の位置にUIが来るようにしています。
ただそれだけだとプレイヤーのpositionの動きに合わせてUIのpotisitionも動くのですがカメラが回転してもカメラの正面にUIは来ません。
「menupanelobject.transform.rotation = cameraobject.transform.rotation;」
の部分でカメラの回転に合わせてUIも回転するだろうと思ったのですがカメラを回転させてもUI本体だけ回転するだけでカメラの正面には来ないような状態です。
他にはカメラの子オブジェクトにUIを置いてみたのですがそれだとカメラのx軸の回転にUIも影響してしまいます。
お手数ですが解決策がわかる方ご教授いただけると幸いです。
あなたの回答
tips
プレビュー