2015-07-03 61 views
4

我正在編寫一個應該顯示3D點雲的程序。爲此,我使用jMonkeyEngine。不幸的是,我不喜歡jMonkey的默認相機行爲。特別是鼠標拖拽和鼠標滾輪並不能真正做到我想要的。我想要的是他們的行爲就像在PointCloudLibrary的pcd查看器中一樣。更改jMonkey中的相機行爲

  1. 鼠標滾輪:應該更快,並且應該切換轉向的效果。
  2. 鼠標拖拽:在jMonkey中,鼠標拖拽似乎改變了世界上攝像頭的觀看方向。我不確定在pcd查看器中究竟發生了什麼,但是我相信在固定所顯示點雲的質心的同時,攝像機會在世界中移動。

我該如何改變相機的行爲來填滿我的願望? :)

回答

1

1. 在simpleInit()方法(其中,100是abritrary號碼):

getFlyByCamera().setZoomSpeed(100); 
getFlyByCamera().setDragToRotate(true); 

。注意,縮放實際上不改變攝像機的位置,就在FOV。

2. 相機的正常行爲是圍繞自己的軸旋轉。通過取消相機的位置,您可以實現所需的效果。在simpleUpdate()中:

cam.setLocation(cam.getDirection().negate().multLocal(cam.getLocation().length())); 

我認爲第二個問題的答案有點簡單。但它的確有竅門。