2017-01-04 16 views
0

次の問題を解決できないようです。私は、libGDXに設定された遠近法のカムを持っています。 .rotateAroundルーチンを使用してカメラを回転させます。これは、ローコストの周りを回転するときに完全に機能します。しかし、回転する軸の座標が高くなればなるほど、回転がより不規則になります。LibGDXカメラが軸高座標ジャークを回転する

@Override 
protected boolean process(float deltaX, float deltaY, int button) { 

     if (button == Buttons.LEFT) { 

     // DRAG CAMERA 

     } else if (button == Buttons.RIGHT) { 

     // ROTATE CAMERA 
     perspectiveCam.rotateAround(new Vector3(clickedX, clickedY, 0), Vector3.Z, deltaX * -100); 

     } 

    return true; 
} 

この作品:

perspectiveCam.rotateAround(new Vector3(0f, 0f, 0f), Vector3.Z, deltaX * -100) 

等、再度ドラッグ、急回転に続いて、ドラッグ小部分に以下のコードの結果:

私CameraInputControllerクラスにおいて

perspectiveCam.rotateAround(new Vector3(100000f, 100000f, 0f), Vector3.Z, deltaX * -100) 

私はそれが翻訳し、次にカムを回転させ、翻訳してカメラを戻します。誰かが私を正しい方向に向けることができますか?それは半径/浮動小数点値で何かですか?

ありがとうございます!

EDIT: 'バグ' は、ここを参照してください: rotating gif

+0

im curiouos、Vector3.Zはどんな値を返しますか? O.o – Hllink

+0

Vector3.Zは新しいVector3(0,0,1)です!軸は私のカメラを回しています...編集:第1パラメータベクトル3は回転ベクトルが設定されているポイント、第2パラメータは回転する軸(Vector.Z)、第3パラメータは角度(浮く)。 – user2150129

答えて

関連する問題