現在フライトシューティングゲームを作っているのですが、自機のクォータニオンで指定した角度から、カメラの回転行列で指定する角度が計算できなくて悩んでいます。カメラは、自機の位置の後方に存在するイメージです。エースコンバットみたいなものをそのまま再現したいです。どんなふうに回転しているかの説明なのですが自機クラスでは自機から見た、ピッチ、ロール、ヨーの動作を実現するためにベクトル型のAxisX,Y,Zをメンバとして持ってます。これらは、どれか1つの軸が回転するとそれに合わせて回転します。Z軸を回転させると、3Dモデルはロールに相当する機首の回転をさせます。X軸とY軸(ピッチとヨー)が、Z軸に合わせてX軸とY軸のベクトルが回転し、ピッチ・ヨーの回転方向が変わるというものです。自機の後方を維持して回転をそのままトレースするようなカメラの動きをさせたいと思った時に3つのベクトルから回転行列を作成するにはどうしたらいいかわかりません。半日ぐらい悩んで自機の座標から-Z軸方向にある程度距離を作って(平行移動)、自機の回転行列をそのまま適用すればできる気がしなくもないのですが、中々コードで表現できません。1つのベクトルの回転率はそのまま他の2つのベクトルで表現しているため数値化されていないからでしょうか?ただ、回転を数値化しても回転する順番で結果が変わる気がするので、あまり意味無いような気もします。Qのベクトルを反転したもの。6年前そういえば過去に似たようなことを書いたなぁ。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。回答ありがとうございますリンク先のコードを見てみました。いくつか疑問が湧いてきたので、質問させて頂きます。);ここらへんのコードを見るとロールやピッチと言うより、絶対軸で回転しているようにみえます。そのままmatCamをカメラのビュー行列に指定してはいけないのか?という疑問です。6年前ちょっとあとで回答しますね。時間が勿体無いので、試してみてください。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。一瞬だけ描画されて後は真っ暗、という感じでわかりません。