スプラインを使って動くカメラを作ろうとしています。カメラの位置はうまく機能しますが、移動中にカメラの目をターン自体に合わせたいです。
たとえば、カメラは x0 y0 z0 から x1 y1 z1 に移動します。これで、私の目のベクトルは通常 (x1-x0、y1-y0、z1-z0) になりました。他の 2 つのベクトル (横方向と上方向のベクトル) を回転させて、目のベクトルに一致させ、それらの間の 90 度の角度を破壊しないようにするにはどうすればよいですか?
ヨー/ピッチ形式の方が簡単であれば、それも問題ありません。2 つの間で変換できます。または、私が達成したいことに対する別のアプローチですか?
たとえば、スプラインの法線 (3 ポイントのバイザー曲線) を計算することでそれを実行できると思います。各ステップでは、その法線を中心にカメラがどれだけ回転するかを計算できます。しかし、もしあれば、より簡単でより一般的な方法を好むでしょう。
ここで私が何をしているかを見ることができます。(惑星をクリック) この例では、古い眼球ベクトルと新しい眼球ベクトルをピッチ/ヨーに変換し、違いを見つけて、これを使用して他のベクトルを回転させますが、場合によっては他のベクトルがまったく変化しない可能性があるため、これは明らかに間違っています (目は一方に対して垂直に回転しています)