你如何继承网格的世界位置?

时间:2012-12-05 17:08:13

标签: three.js

我有一个Three.js场景,有几个网格移动。我想通过在同一位置放置一个新的网格物体(具有相同的几何形状)来拍摄快照并复制所有网格位置。旋转相同。我不能简单地复制网格的.position& .rotation因为网格是其他网格的子节点。我试图.clone()网格的matrixWorld但是没有用。你如何继承网格的世界位置?

这就是我想要做的事情:

// mesh is an existing mesh loaded into a scene
// geom is an existing geometry definition

var material = new THREE.MeshFaceMaterial();

var newMesh = new THREE.Mesh( geom, material);

newMesh.matrixWorld = mesh.matrixWorld.clone();

scene.add(newMesh);

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

这很简单:

newMesh.position.copy( mesh.matrixWorld.getPosition() );

编辑:请参见this updated answer