在Three.js中翻译旋转原点

时间:2016-04-10 14:00:58

标签: three.js rotation geometry

我创建了一个包含多个单独形状的3D对象,我现在希望它围绕其中心而不是角度旋转

此功能我用来旋转它

document.body.onmousemove = function(e){

vargram.rotation.x = 90;
vargram.rotation.z = e.pageX / 100;

}

虽然这是我获得单个网格的方式

var triangleShape = new THREE.Shape();
triangleShape.moveTo(b, 0);
triangleShape.lineTo(lato, 0);
triangleShape.lineTo(lato, a);
var extrudedGeometry = new THREE.ExtrudeGeometry(triangleShape, {amount: 0.3, bevelEnabled: false});
var extrudedMesh = new THREE.Mesh(extrudedGeometry, material1);

我可以设置旋转轴的坐标吗?或者我应该更改形状的坐标?

http://jsfiddle.net/fillotassi/hk93fmrd/2/

1 个答案:

答案 0 :(得分:1)

如果要平移网格的旋转原点,一种解决方案是在创建几何体后立即转换几何体:

geometry.translate( a, b, c );

在您的情况下,您有一个父对象和多个子网格物体。因此,将相同的平移应用于每个子网格的几何。

three.js r.75