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.把上述代碼放入渲染的函數中