Windows Phone アプリケーションで、スクリーン タッチ入力を使用して 3D モデルを回転させたいと考えています。
問題は;
最初は問題なく、タッチでモデルを動かせるのですが、X軸の回転でオブジェクトを上下逆さまにすると、Y軸の回転が反転してしまいます。それは私の世界軸も変わったからです。私は多くの方法を試しました。
1位:
Matrix world = Matrix.Identity *Matrix.CreateRotationY( somerotation);
world = world * Matrix.CreateRotationX( somerotation );
world *= Matrix.CreateTranslation(0, 0, 0);
2番目:
Matrix world = Matrix.Identity * Matrix.CreateFromYawPitchRoll(somerotation,somerotation,0);
world *= Matrix.CreateTranslation(0, 0.0f, zoomXY);
3番目:
Matrix world = Matrix.Identity *Matrix.CreateFromQuaternion(Quaternion.CreateFromAxisAngle(new Vector3(0, 1, 0),somerotation));
world *= Matrix.CreateFromQuaternion(Quaternion.CreateFromAxisAngle(new Vector3(1, 0, 0), somerotation));
world *= Matrix.CreateTranslation(0,0,0);
4位
Matrix world = Matrix.Identity;
world = Matrix.CreateFromAxisAngle(Vector3.Up,somerotation);
world *= Matrix.CreateFromAxisAngle(Vector3.Right,somerotation);
world *= Matrix.CreateTranslation(0, 0,0);
結果は同じです..今、私の心は制御不能に回転しています.
回転後に変化しない静的軸を使用するにはどうすればよいですか? または他の提案はありますか?
ありがとう。