在项目中接到一个需求,是不让相机视角转到地面以下.我们之前有添加过鼠标交互控制器
new THREE.OrbitControls(camera, renderer.domElement)
只需要在控制器上做限制即可
// 监听鼠标事件
let controls = new THREE.OrbitControls(camera, labelRenderer.domElement);
// 控制上下旋转范围
controls.minPolarAngle = 0;
controls.maxPolarAngle = Math.PI / 2;
controls.addEventListener('change', renderFn);
这样鼠标就只能在平面只上进行观察了.当然,如果你使用鼠标右键拖拽建筑到上面,还是可以观察到模型底部区域的.最后放一张阶段性的成果图,纪念一下这一个月的three.js学习成果