2013-01-19 105 views
3

當我們將CustomGeometry添加到具有定義頂點並且未設置位置的場景時,我們如何才能讓它繞其自身中心點旋轉?圍繞其中心點旋轉自定義幾何網格

小提琴:http://jsfiddle.net/tezcancirakoglu/Ldt7z

在樣本代碼,目標旋轉圍繞場景X軸。我需要圍繞其中心點旋轉它。提示:紅色立方體網格是旋轉對象的初始中心點。我需要圍繞紅色立方體的x軸旋轉它......我嘗試了很多,但無論如何失敗了。

回答

3

的一個解決方案是要轉換的網格的幾何形狀,並通過改變齧合位置補償,像這樣:

var offset = objMesh.centroid.clone(); 
objMesh.geometry.applyMatrix(new THREE.Matrix4().makeTranslation(-offset.x, -offset.y, -offset.z)); 
objMesh.position.copy(objMesh.centroid); 

更新撥弄:http://jsfiddle.net/Ldt7z/165/

P.S.在運行之前,您不需要保存小提琴。沒有理由有這麼多版本。

three.js r.55

+0

非常感謝。這救了我! – Tezcan

1

您可以使用邊界框的中心,它基本上是頂點的「平均值」,但不能保證落在紅色立方體上。

+0

我用allrady有中心點,紅色cube是網格的中心點。我只是不知道如何旋轉它周圍的網格。 – Tezcan

+0

我接近解決方案,在更新小提琴之後,我設法旋轉中心點軸上的三角形,但它在所有的軸上旋轉。我如何將它設置爲僅在x軸上旋轉? – Tezcan