Three.js實現滾輪放大展現不同的模型


Three.js實現滾輪放大展現不同的模型

在做一個飛機可視化項目...真的垃圾...軟件開發交給專業的開發工程師不行嗎???

修改OrbitControls.js的源碼

不想修改, 但是不懂js是如何繼承...無奈出此下策

OrbitControls.js的源碼中增加如下代碼

this.getSpherical = function () {
	return spherical;
};

OrbitControls在透視相機(PerspectiveCamera)的控制原理

具體怎么實現看源碼, 但對於此案例, 只要知道OrbitControls通過球坐標系的半徑(.radius)的數值來放大縮小視野

具體實現

  1. 給對象分層(layers) 可看我上篇博文

  2. 通過radius數值作為觸發條件

    var controlsRadius = controls.getSpherical().radius;
    if (controlsRadius !== 0) {
        if (controlsRadius <= 3) {
            camera.layers.mask = 2;
        } else {
            camera.layers.mask = 8;
        }
    }
    

3.把上述代碼放入渲染的函數中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM