我创建了一个圆柱体,我想通过改变它的边界框将它的旋转中心移动到它的一端,但它不起作用。
有一个我一直在努力的例子。
基本上我想旋转圆柱体,就好像它是一把被它的手柄挥动的剑。
我创建了一个圆柱体,我想通过改变它的边界框将它的旋转中心移动到它的一端,但它不起作用。
有一个我一直在努力的例子。
基本上我想旋转圆柱体,就好像它是一把被它的手柄挥动的剑。
多亏了一些帮助才发现。
geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );
使用它我将圆柱体的 y 平移了 100 个点,所以它基本上在它的下端旋转。
在我的案例中,我采用了一种使用枢轴的方法。基本上,您创建一个枢轴点:
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