0
似乎無法找到解決我的以下問題。我有一個在libGDX中設置的透視凸輪。我使用.rotateAround例程旋轉我的相機。當在低座標上旋轉時,這是完美的。但是,旋轉的軸的座標越高,旋轉變得越乾燥。LibGDX相機繞軸旋轉高座標生澀
在我CameraInputController類:
@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)
小部分拖動下面的代碼結果,隨後突然旋轉,然後再拖着,等:
perspectiveCam.rotateAround(new Vector3(100000f, 100000f, 0f), Vector3.Z, deltaX * -100)
我知道它通過翻譯,然後旋轉凸輪,然後翻譯把相機拿回來。任何人都可以將我指向正確的方向嗎?它是在半徑/浮點值的東西嗎?
在此先感謝!
編輯: 看到這裏的 '錯誤': rotating gif
im curiouos,Vector3.Z返回什麼值? O.o – Hllink
Vector3.Z是一個新的Vector3(0,0,1)!我正在將我的相機旋轉的軸...編輯:第一個參數矢量3是設置旋轉矢量的點,第二個參數是旋轉的軸(Vector.Z),第三個參數是角度(浮動)。 – user2150129