我没有使用默认代码在three.js中进行相机旋转,即:
lat = Math.max( - 85, Math.min( 85, lat ) );
phi = THREE.Math.degToRad( 90 - lat );
theta = THREE.Math.degToRad( lon );
camera.target.x = 100 * Math.sin( phi ) * Math.cos( theta );
camera.target.y = 100 * Math.cos( phi );
camera.target.z = 100 * Math.sin( phi ) * Math.sin( theta );
我正在使用 lookVector.applyAxisAngle(axis, 0.001);
,因此我认为我无法使用鼠标平移360度图像。我已经将我的代码放在了fiddle上https://jsfiddle.net/sh60yqfx/32/。请帮忙解决,谢谢。
function onPointerMove(event)
中设置了lat
和lon
。 - Rahul Salvicamera.lookAt
,并且相机正在旋转,isUserinterating
为false。在鼠标按下时,我将isUserInteracting
设置为true并移动鼠标。但是相机会采取一些不同的位置,而不是当isUserInteracting
为false时的最后位置。我希望相机在我按下鼠标时采取相同的位置。我仍然从isUserintearacting
false状态传递相同的lookVector,但它却采取了错误的位置。 - girish