3Dゲームの作り方を教えてくださいat GAMEDEV3Dゲームの作り方を教えてください - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト116:112 05/09/28 16:43:58 rOPM2AwZ.net >> 113 なるほど。Mesaのソース読んでみた。 upと方向ベクトル(tgt-eye)の外積で右手出してるから平行にしちゃいけないのか。 初回だけUPとか指定でカメラの軸を作り、あとはそれを回転させてけばいいのかな。 ん? そうすると誤差が蓄積する気が。そもそもうまくいくかわからんからやってみる。 >> 114 カメラをラインに沿ってスムーズに動かすときに使うとか、そういう意味なんじゃない? 俺はそもそもクォータニオンでの姿勢制御をほぼ諦めているわけだが orz 117:113 05/09/29 09:42:02 H3yy4siY.net 3次元的な回転の変化量(回転速度)を制限したい場合、 単位クォータニオンのスカラ値の絶対値のacosでコントロールできます。 カメラが急激に振り返る現象を防ぎ、安定させたい場合に便利です。 upベクトルを鉛直方向に固定してgluLookAt関数を使っていると、 視点が極方向に近いところでは、急な回転をしていると思いましたので、 参考程度にクォータニオンを紹介致しました。 話を元に戻しますが、upベクトルに弾力性を持たせて対策するのであれば、 前フレームでgluLookAtに計算させた実際のupベクトルをgluUnProjectなどで求め、 それと鉛直上向きベクトルを適当な配分で合成して、 新フレームで与えるupベクトルにする、という方法を考えましたが、 回りくどいと思いましたので、回転行列もしくはクォータニオンを 使用する方法をお薦めします。 ちなみカメラをラインに沿わせる場合は、 ライン関数を微分したベクトルを正面にし、 それと直行するベクトルを適切な方法で決めて行列を作る方法が簡単です。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch