私はしばらく前からSFML 1.6でOpenGLを使っていました。 1つの例外を除き、私はカメラクラスを正しく実装することができません。あなたは、 "カメラ"と呼ばれるC++クラスを作成しようとしています。ここに私の関数です:WASDキーが押されているかどうかOpenGL/SFMLでマウスの外観「カメラ」を実装しようとしています
Camera::Strafe(float fSpeed)
チェックし、もしそうであれば、それぞれの方向に「fSpeed」にカメラを移動します。
Camera::MouseMove(int currentX, int currentY)
現在のマウス座標を取り込み、それに応じてカメラを回転させる、第一人のマウスの外観を提供しなければなりません。私のStrafe()の実装は正常に動作しますが、私はMouseMove()を正しく取得できないようです。
OpenGLマウスルックの実装に関する他のリソースを読んで、私が各フレームの後にマウスを中心に置く必要があることは既に知っています。しかし、それはそれについてです。私はマウスの座標から実際にカメラをその場で回転させる方法を得ることができません。おそらく、あるトリグを使用する必要があります。
これはいくつかのものをクリアします。しかし、ピッチ、ヨー、ロールは浮動小数点またはベクトルとして保存する必要がありますか?いずれにも利点はありますか?ありがとう! –
ピッチ、ヨー、ロールの値は、移動している実際の角度になります(度またはラジアンはあなた次第です)。個々のものは浮動小数点ですが、アクセスを容易にするために3つすべてを3次元ベクトルに格納することはできません。 – MGZero
ピッチはX軸周りの回転、YawはY軸周りの回転、ロールはZ軸周りの回転です。しかし、どのようにマウスの入力から角度を取得するのですか? –