[過去ログ]
3Dゲームの作り方を教えてください (274レス)
3Dゲームの作り方を教えてください http://mevius.5ch.net/test/read.cgi/gamedev/1015072738/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
116: 113 [sage] 2005/09/29(木) 09:42:02 ID:H3yy4siY 3次元的な回転の変化量(回転速度)を制限したい場合、 単位クォータニオンのスカラ値の絶対値のacosでコントロールできます。 カメラが急激に振り返る現象を防ぎ、安定させたい場合に便利です。 upベクトルを鉛直方向に固定してgluLookAt関数を使っていると、 視点が極方向に近いところでは、急な回転をしていると思いましたので、 参考程度にクォータニオンを紹介致しました。 話を元に戻しますが、upベクトルに弾力性を持たせて対策するのであれば、 前フレームでgluLookAtに計算させた実際のupベクトルをgluUnProjectなどで求め、 それと鉛直上向きベクトルを適当な配分で合成して、 新フレームで与えるupベクトルにする、という方法を考えましたが、 回りくどいと思いましたので、回転行列もしくはクォータニオンを 使用する方法をお薦めします。 ちなみカメラをラインに沿わせる場合は、 ライン関数を微分したベクトルを正面にし、 それと直行するベクトルを適切な方法で決めて行列を作る方法が簡単です。 http://mevius.5ch.net/test/read.cgi/gamedev/1015072738/116
117: 116 [sage] 2005/09/29(木) 09:47:52 ID:H3yy4siY >>116 間違えました。 (誤)単位クォータニオン (正)正規化クォータニオン 他にも勘違いがあればご指摘下さい。 http://mevius.5ch.net/test/read.cgi/gamedev/1015072738/117
118: 112 [sage] 2005/09/30(金) 02:03:33 ID:elICRY0w >>116 トンクス。 いろいろアドバイスをもらったが、一番簡単そうな回転行列で姿勢制御することにした。 ジオメトリ崩壊とかって奴が怖いので、eyeとtargetベクトルを保持して、 そこから作った正規化方向ベクトルと今のY軸(UPベクトル)の外積で正規化した右手、 その右手と方向ベクトルから、正規化したUPベクトルを作ってる。 ジオメトリ崩壊を防ぐためには、こんな感じであってるのかな?? とりあえず今回は行列で逃げたけど、便利そうだから最終的にはクォータニオンを 使うようになると思う。がんがって勉強します。 http://mevius.5ch.net/test/read.cgi/gamedev/1015072738/118
119: 116 [sage] 2005/09/30(金) 10:00:43 ID:McTjyteQ あと、蛇足かもしれませんが、 OpenGLでは画面の座標系を基準に座標変換行列を掛け算するので、 ワールド座標系を基準にカメラの軸ベクトルを保持しているのであれば、 逆行列を作ってglMultMatrixする必要があります。 回転行列の逆行列なので、多分、簡単な演算で求まると思います。 gluLookAtを使うのであれば問題ありません。 http://mevius.5ch.net/test/read.cgi/gamedev/1015072738/119
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s