1

我有一个 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);

任何帮助将非常感激。

4

1 回答 1

2

就这么简单:

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

编辑:请参阅此更新的答案

于 2012-12-05T17:51:06.597 回答