使用鼠标在中心周围旋转Three.js相机

时间:2017-03-30 09:20:05

标签: javascript 3d three.js

我正在尝试使用鼠标围绕中心点(0,0,0)旋转相机,但如果我向右或向左旋转180度,则尝试向上或向下旋转,它不会旋转垂直的。

我正在尝试使用纬度/经度坐标,然后将其转换为笛卡尔坐标:

this.camera.position.x = Math.sin(this.lat) * this.alt;
this.camera.position.z = Math.cos(this.lat) * Math.cos(this.lng) * this.alt;
this.camera.position.y = Math.cos(this.lat) * Math.sin(this.lng) * this.alt;
this.camera.lookAt(new THREE.Vector3(0, 0, 0));

这里有一个最小的例子:https://jsfiddle.net/qsor9w27/2/

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是使用OrbitControlsTrackballControls

请参阅使用OrbitControls的this example