1

いくつかのメッシュが動き回る Three.js シーンがあります。スナップ ショットを撮り、メッシュの新しいインスタンス (同じジオメトリを持つ) をシーン内の同じ場所に同じ回転で配置して、すべてのメッシュの場所をコピーしたいと考えています。メッシュは他のメッシュの子であるため、メッシュの .position & .rotation を単純にコピーすることはできません。メッシュの matrixWorld を .clone() しようとしましたが、うまくいきませんでした。メッシュのワールド位置をどのように継承しますか?

これは私がやろうとしていることです:

// 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 に答える