我一直在寻找一个晚上,但无法找到我要找的,甚至如果可能的话,这是非常令人痛心的信息;我使用Java3D的和无法弄清楚如何)Java3D:旋转世界坐标中的对象?
在世界空间旋转相机。
我的左/右和上/下旋转都发生在本地空间。 这意味着如果我左右移动,一切看起来都很好。然而,如果我向下看90度,然后向右看90度,那么一切似乎都在它的一边。
目前,我正在做以下工作。这将导致上述效果:
TransformGroup cam = universe.getViewingPlatform().getViewPlatformTransform();
Transform3D trfcam = new Transform3D();
cam.getTransform(trfcam);
trfcam.mul(Camera.GetT3D()); //Gets a Transform3D containing how far to rotate left/right and how far to move left/right/forward/back
trfcam.mul(Camera.GetRot()); //Gets a t3d containing how far to rotate up/down
cam.setTransform(trfcam);
另外,有一点我想是旋转的根源,而是绕0,所以如果我从0移动相机了,它会坏的。 在网上有什么东西可以通过我如何实现这种事情来讨论我吗? 我尝试了很多不同的东西,但似乎无法让我的头在附近。 我很熟悉这个概念,因为我在Ogre3D中已经实现了它,只是不熟悉J3D中的土地法则。
预先感谢答复:)