项目内需要一个旋转视角功能,用Three.js的CameraControls.js过于复杂,处于这样的考虑,需要实现一个基本的旋转效果。
;
phi -= (PI_2 * speed * dy);
phi = Math.min( Math.PI, Math.max( 0, phi ) );
camera.position.x = radious * Math.sin( theta )* Math.cos( phi );
camera.position.y = radious * Math.sin( phi );
camera.position.z = radious * Math.cos( theta )* Math.cos( phi);
camera.lookAt(new THREE.Vector3(0, 0, 0));
camera.updateMatrix();
最后是小抄 github