我已经使用threejs一段时间用于基于图像的建模应用程序的3D(vmtklab.orobix.com) . 对于相机旋转/平移/缩放我正在使用TrackballControls.js .
controls = new THREE.TrackballControls( camera, renderer.domElement );
controls.dynamicDampingFactor = 0.5;
controls.target.set( pos.x, pos.y, pos.z );
我习惯于像vtk(paraview等)中的相机移动,我无法找到如何在threejs中复制这种行为 .
见:http://jsfiddle.net/ugxbktLt/5/
基本上,如果我单击中心的画布并沿y轴移动鼠标,则相机会按预期旋转 . 如果我在远离中心的点(在立方体右侧的示例)上单击画布,则摄像机将在两个方向上旋转,而不仅仅是在鼠标移动之后 .
我期待相机仅跟随起点(mousedown)和鼠标移动产生的终点之间的向量而不考虑起点的位置 . 它似乎围绕着一个球体旋转 .
有什么建议?最好的问候西蒙娜
1 回答
修复:使用SymmetricTrackballControls.js,我们可以独立于画布上的鼠标位置旋转摄像机,但只考虑鼠标移动 . https://github.com/mrdoob/three.js/pull/6096