[過去ログ] 3Dゲームの作り方を教えてください (273レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
116
(3): 113 2005/09/29(木)09:42 ID:H3yy4siY(1/2) AAS
3次元的な回転の変化量(回転速度)を制限したい場合、
単位クォータニオンのスカラ値の絶対値のacosでコントロールできます。
カメラが急激に振り返る現象を防ぎ、安定させたい場合に便利です。
upベクトルを鉛直方向に固定してgluLookAt関数を使っていると、
視点が極方向に近いところでは、急な回転をしていると思いましたので、
参考程度にクォータニオンを紹介致しました。

話を元に戻しますが、upベクトルに弾力性を持たせて対策するのであれば、
省8
117: 116 2005/09/29(木)09:47 ID:H3yy4siY(2/2) AAS
>>116
間違えました。
(誤)単位クォータニオン
(正)正規化クォータニオン

他にも勘違いがあればご指摘下さい。
118: 112 2005/09/30(金)02:03 ID:elICRY0w(1) AAS
>>116
トンクス。
いろいろアドバイスをもらったが、一番簡単そうな回転行列で姿勢制御することにした。
ジオメトリ崩壊とかって奴が怖いので、eyeとtargetベクトルを保持して、
そこから作った正規化方向ベクトルと今のY軸(UPベクトル)の外積で正規化した右手、
その右手と方向ベクトルから、正規化したUPベクトルを作ってる。
ジオメトリ崩壊を防ぐためには、こんな感じであってるのかな??
省2
119: 116 2005/09/30(金)10:00 ID:McTjyteQ(1) AAS
あと、蛇足かもしれませんが、
OpenGLでは画面の座標系を基準に座標変換行列を掛け算するので、
ワールド座標系を基準にカメラの軸ベクトルを保持しているのであれば、
逆行列を作ってglMultMatrixする必要があります。
回転行列の逆行列なので、多分、簡単な演算で求まると思います。

gluLookAtを使うのであれば問題ありません。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.145s*