获取视角
function getCurrentView() {
let position = this.camera.position;
let target = this.orbitControls.target;
console.log('x:' + position.x.toFixed(2) + ',' + 'y:' + position.y.toFixed(2) + ',' + 'z:' + position.z.toFixed(2), 'x:' + target.x.toFixed(2) + ',' + 'y:' + target.y.toFixed(2) + ',' + 'z:' + target.z.toFixed(2))
}
设置视角
function setCurrentView(position, target) {
this.camera.position.set(position.x, position.y, position.z)
this.orbitControls.target.set(target.x, target.y, target.z);
this.orbitControls.update()
}
threejs和cesium中设置视角的区别
- threejs中设置视角需要相机的位置position和看的方向lookAt,当camera由OrbitControls托管时,lookAt即为OrbitControls的target
- cesium中设置视角需要相机位置和heading、pitch、roll,原理上heading、pitch、roll就是控制相机看的方向,和threejs的lookAt相同