我正在做这个惊人的实验,WebGL Globe,它真的很棒。
我已经改变了一些功能来播放和适应我想要的东西。一是函数渲染。
原来的:
function render() {
zoom(curZoomSpeed);
rotation.x += (target.x - rotation.x) * 0.1;
rotation.y += (target.y - rotation.y) * 0.1;
distance += (distanceTarget - distance) * 0.3;
camera.position.x = distance * Math.sin(rotation.x) * Math.cos(rotation.y);
camera.position.y = distance * Math.sin(rotation.y);
camera.position.z = distance * Math.cos(rotation.x) * Math.cos(rotation.y);
camera.lookAt(mesh.position);
renderer.render(scene, camera);
}
修改的:
function render() {
var timer = Date.now() * 0.0001;
zoom(curZoomSpeed);
rotation.x += (target.x - rotation.x) * 0.1;
rotation.y += (target.y - rotation.y) * 0.1;
distance += (distanceTarget - distance) * 0.3;
camera.position.x = (Math.cos( timer ) * 960);
camera.position.y = distance * Math.sin(rotation.y);
camera.position.z = (Math.sin( timer ) * 960) ;
camera.lookAt( scene.position );
renderer.render(scene, camera);
}
现在我的地球仪自动旋转完美,但我无法拖动地球仪并在 X 轴和 Z 轴上用鼠标旋转它,只有 Y 轴。我怎样才能使用这个自动旋转功能并且不会失去鼠标的旋转控制在 X 轴和 Z 轴?