threejs指定對象旋轉中心


指定對象旋轉中心

默認情況下,對象的旋轉中心都是自身的中心。對於組對象而言,也是如此。因此,可以利用這個特點,實現對象繞任何點旋轉,也就是指定旋轉中心。比如我們想要下圖的對象繞A點旋轉 

我們可以添加我們的對象到一個組對象,然后移動對象,讓A點對准組的中心位置,如下:


此時,如果我們旋轉組對象,整個組里面的對象都繞着組的中心旋轉,那么就實現了對象繞A點旋轉了。

但是,此時我們的對象位置變了,所以,我們再把組對象往回移,讓對象回到原來的位置,如下: 

這樣,我們就實現了指定對象旋轉中心的能力了。具體實現如下:


//通過x,y,z指定旋轉中心,obj是要旋轉的對象 function changePivot(x,y,z,obj){ let wrapper = new THREE.Object3D(); wrapper.position.set(x,y,z); wrapper.add(obj); obj.position.set(-x,-y,-z); return wrapper; } 

 

完整例子】【參考資料


免責聲明!

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



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