私は現在、プレイヤーがヘッド トラッキングだけでキャラクターをコントロールできる Oculus に取り組んでいます。キャラクターは 3D で飛んでいる鳥です。ゲームプレイをテストしたところ、問題はありませんでしたが、ヨーしようとしているときに Oculus ワイヤーで自殺しそうになりました。そこで、プレイヤーにとって使いやすいものにすることにしました。プレイヤーが空間内のどこでも右/左を見ているときにヨーイングできるようにし (フリーローミングのようなもの)、ゲームオブジェクトとカメラを一緒に回転させたいと考えています。
slerp を使ってみましたが、あまり効果がありませんでした。
transform.position = transform.position + cameraRight.transform.forward * distance * Time.deltaTime;
transform.Rotate(Vector3.Cross(transform.forward, cameraRight.transform.forward), distance * Time.deltaTime);
これらは、鳥を前進させ、カメラを回転させるために使用するコードです。しかし今、私はプレーヤーを左右に 45° に制限したいと思います。プレーヤーが方向を見ると、鳥は自動的にヨーイングします。
明確かどうかはわかりませんが、車を運転しているとき、ハンドルを左右に動かす必要はなく、回転するだけで車輪が追従するようなものです。