首先感謝大佬 在 2015.4.18 向three官方提出的bug(感覺應該是功能缺失~~)
https://github.com/mrdoob/three.js/issues/6426
膜拜大佬~~~~~~~~~
-----------------------激動的分割線-------------------------
今天項目發現個問題...
如果父物體自帶旋轉,當其他物體使用 add() 進入子物體後就會出現位置旋轉錯亂
(當然我知道,如果是一個軸旋轉,可以通過 worldToLocal() 更換位置,然後反一下旋轉....)
雖然我還發現一個偏方....
直接用 parent.children.push(object) 放進子物體裏面...就不會影響本身旋轉等問題
但是如果你這是parent再產生旋轉就無法影響子物體了...(這壓根就是投機啊....)
你把object.parent=parent之後也會出現上面的問題,等於白忙
(同事及時發現) 好在 ThreeJS 官方在v105版本增加 attach的功能
之後又在後兩個版本進行了修正
也就是v107就可以正常使用了,雖然我用的109哈
這個attach就可以在不影響本身旋轉及位置的情況更換父物體
api: https://threejs.org/docs/index.html#api/en/core/Object3D.attach
兩個增加子物體的方法,大家可以嘗試一下
add() 和 attach()
最上方大神連接裏面有詳細內容,如果需要研究的可以仔細看下~~~
LJason 祝各位順利