2016-10-20 39 views
0

XNAを初めて使用しました。 私はちょうど何かにこだわってしまった - 私はゲームでX軸とZ軸の周りを回転する(同時にではない!)という文字を傾けたり反転したりしなければならない。 私は回転できる。 回転行列とキャラクタの現在の位置ベクトル(回転行列から得られる向き/方向ベクトル) 対面しているベクトルをY軸の周りにRラジアンだけ回転させることで、つまり回転を実装しました。 もし私が今X軸の周りを回転させようとしていたら、どのような方法がありますか?たとえば、立位から「スーパーマン飛行」位置に変更するには、文字を傾ける必要があります。 y回転には、文字の位置を変更することはなく、向きを変更するだけでした。しかし、私はXとZのために、私は同様に位置を操作する必要がありますか?私にいくつかの指導を教えてください。XNA - X軸とZ軸を中心に回転します。

答えて

0

それを実感してください!回転行列を通して利用できる右/前のベクトルの周りでモデルを回転させるだけでした。次のブログ記事は非常に役に立った:コードについては https://stevehazen.wordpress.com/2010/02/15/matrix-basics-how-to-step-away-from-storing-an-orientation-as-3-angles/#comment-376

、ここではサンプルです:私は助けることができる Vector3 rightVector = target.CurrentModelMatrix.Right; var rotMatrix = Matrix.CreateFromAxisAngle(rightVector , (float)GetRadianAngle(10));// Will tilt the character forward around the right vector target.CurrentModelMatrix *= rotMatrix;

+0

は嬉しい;-) –

関連する問題