私は、Minecraftの小さなテストモードを作っています。そこでは、プレーヤーが自由空間で小さな飛行機を飛行することができます。回転行列の逆順
はMinecraftのは、この設定で、しかし
glRotatef(pitch, 0, 0, 1);
glRotatef(yaw, 0, 1, 0);
glRotatef(roll, 1, 0, 0);
としてカメラ変換を適用し、ロールはワールド空間でのピッチで平面の傾きを作ってしまい、ロールが適用された後、作っていない最後を、適用されます銀行は不可能です。
私はを注文することで、私はいくつかの方法、特定のロール、ヨーとピッチがあり
glRotatef(roll, 1, 0, 0);
glRotatef(yaw, 0, 1, 0);
glRotatef(pitch, 0, 0, 1);
すなわち、逆の順序で変換を適用する必要があり、銀行の仕事をするためにことを考え出しました補正された値を元のMinecraftカメラ変換にプラグインして、同じ最終的な回転を実現します(基本的に、ワールド軸ではなく相対軸を使用してプレーンを回転させます)。
できますが、あなたが望むものにはならない可能性があります。ロール・アンド・ヨー・アンド・ピッチの3つのパラメータを指定すると、ピッチ・アンド・ヨー・アンド・ロールの3つのパラメータが計算され、同じ向きになります。 – Beta