2012-08-11 147 views

回答

28

找到了一些幫助。

geometry.applyMatrix(new THREE.Matrix4().makeTranslation(x, y, z)); 

使用我將圓柱體的y平移了100個點,所以它基本上在它的下端旋轉。

+0

對於我的生活,我不能得到這個工作。它也翻譯起源點,旋轉也不會改變。 – Tyguy7 2015-09-14 04:20:40

+2

@ Tyguy7 - 你需要設置geometry.verticesNeedUpdate = true – 2015-10-06 19:48:01

+5

你現在可以使用這個快捷方式'geometry.translate(x,y,z);',參見http://stackoverflow.com/questions/12835361/three-js -move定製幾何到原點 – kraftwer1 2016-03-11 08:45:34

2

我採取了一種方法,在我的情況下使用樞軸。基本上,你創建一個樞軸點:

var pointToRotateAround; 
var objectToRotate; 
... 
var pivot = new THREE.Object3D(); 
pivot.position=pointToRotateAround.position; 
pivot.add(objectToRotate); 
scene.add(pivot); 
... 
function render(){ 
pivot.rotation.z +=0.05; 
} 
... 

它給出了一個身體圍繞另一個或任何點旋轉的可能方法。這裏是更多關於這種方法:https://github.com/mrdoob/three.js/issues/1830