我正在编写一个应该显示3D点云的程序。为此,我使用的是jMonkeyEngine。不幸的是,我不喜欢jMonkey的默认摄像头行为。特别是鼠标拖动和鼠标滚轮并没有真正做到我想要的。我想要的是他们的行为就像在PointCloudLibrary的pcd查看器中一样。
如何更改相机的行为以满足我的愿望? :)
答案 0 :(得分:1)
1。 在simpleInit()方法中(其中100是一个abritrary数字):
getFlyByCamera().setZoomSpeed(100);
getFlyByCamera().setDragToRotate(true);
请注意,缩放实际上并不会改变相机的位置,只会改变FOV。
2。 相机的正常行为是围绕其自身轴旋转。通过偏离相机的位置,可以实现您想要的效果。在simpleUpdate()中:
cam.setLocation(cam.getDirection().negate().multLocal(cam.getLocation().length()));
我认为第二个问题的答案有点快速破解。但它确实可以解决问题。