Three.js实现滚轮放大展现不同的模型
Three.js实现滚轮放大展现不同的模型
在做一个飞机可视化项目...真的垃圾...软件开发交给专业的开发工程师不行吗???
修改OrbitControls.js的源码
不想修改, 但是不懂js是如何继承...无奈出此下策
在OrbitControls.js
的源码中增加如下代码
this.getSpherical = function () {
return spherical;
};
OrbitControls在透视相机(PerspectiveCamera)的控制原理
具体怎么实现看源码, 但对于此案例, 只要知道OrbitControls
通过球坐标系的半径(.radius)的数值来放大缩小视野
具体实现
-
给对象分层(layers) 可看我上篇博文
-
通过radius数值作为触发条件
var controlsRadius = controls.getSpherical().radius; if (controlsRadius !== 0) { if (controlsRadius <= 3) { camera.layers.mask = 2; } else { camera.layers.mask = 8; } }
3.把上述代码放入渲染的函数中