Three.js移动几何体的中心

时间:2012-08-11 01:14:39

标签: three.js

我已经创建了一个圆柱体,我想通过更改它的边界框将其旋转中心移动到其中一端,但它不起作用。

http://jsfiddle.net/736a7/1/

有一个我一直在努力的例子。

基本上我想要将圆柱体旋转,好像它的手柄是一把剑。

2 个答案:

答案 0 :(得分:31)

感谢一些帮助。

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

使用它我将圆柱体的y转换为100点,因此它基本上在它的下端旋转。

答案 1 :(得分:3)

在我的案例中,我采用了一种方法。基本上,您创建一个支点:

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