- 1 名前:名前は開発中のものです。 [2008/05/03(土) 16:43:29 ID:U1blhBE2]
- ゲームグラフィックスの板がないようだったので。。
CG板にいっちゃているのかな。 解像度、テクスチャ、エフェクトなど ゲームグラフィックスの作り方やノウハウ。 役立つページを紹介しましょう。質問もOKです。
- 279 名前:275 [2013/04/24(水) 21:38:30.10 ID:Jeg6uYsS]
- 真下(真上)を向いた時でも画面を左右にパンしたような動きにする事はできました。
device.Transform.View = Matrix.Multiply(this.mMatPitch, this.mMatYaw); が、これですと今度は真左(真右)を向いた時に、回転運動してしまいます。 簡単に考えてましたが結構難しいですね。 もう少しがんばってみます。
- 280 名前:名前は開発中のものです。 [2013/04/24(水) 22:16:07.70 ID:2hyv5vhS]
- D3DX使えるなら
D3DXQuaternionRotationYawPitchRoll でqを初期化(前回のqとして使用) D3DXQuaternionRotationYawPitchRoll 今回の回転角度入れて回転量のqを取得 D3DXQuaternionMultiply 前回のqと回転量のq掛け合わせて回転後のqを取得(次の前回のqとして使用) D3DXMatrixRotationQuaternion qを回転行列にする C#だと Quaternion.RotateYawPitchRoll Quaternion.Multiply Matrix.RotateQuaternion これ?
- 281 名前:名前は開発中のものです。 mailto:sage [2013/04/24(水) 22:21:21.75 ID:GXtoO3cP]
- 期待する結果がだせればいいなら、Matrix.LookAtLHを使うといいよ。
回転順によって結果が違うのを理解するのは3Dプログラムで重要なので、 LookAtLHを使わずにいろいろ試したり、計算してみるのもいいけどね。 がんばれ。
- 282 名前:275 [2013/04/26(金) 19:23:52.43 ID:ID10QpvF]
- >>280
>>281 ありがとうございます。 Quaternion は利用しませんでしたが、お陰さまでできました。 View用のMatrixに毎フレーム掛け合わせるだけでした><
|

|