一人称3Dゲームを作りたいのですが、カメラの数式を正しく設定できません。
したがって、0から359までの回転があります。次に、x、y座標、zは同じままです。
カメラの回転:0-前面、90-左、180-背面、270-右ですが、調整できます
カメラの公式は何ですか?
プラットフォーム:Panda3d、python、opengl
ありがとうございました
OK、Doomスタイルのカメラの動きが必要なようです。つまり、上下に回転する必要はありません。このことを考慮:
それでは、方程式を作成してみましょう。
1.まず、ワールド座標をカメラの位置に変換します。
Xwt = Xw - Xc;
Ywt = Yw - Yc;
Zwt = Zw;
(Xc,Yc,Zc) = camera position
(Xw,Yw,Zw) = world coordinates of object in the scene
(Xwt,Ywt,Zwt) = world coordinates of object translated to camera position
2.次に、移動した座標をカメラの回転と反対の角度で回転させます。
Xwc = Xwt * Cos(psi) + Ywt * Sin(psi);
Ywc = -Xwt * Sin(psi) + Ywt * Cos(psi);
Zwc = Zwt
Psi = angle of camera rotation
(Xwc,Ywc,Zwc) = world coordinates of object transformed to camera orientation
2つのステップを組み合わせて、マトリックス形式に変換できます。
私は後で私の問題を修正したチュートリアルを見つけました: