19

ローダーがロードされたモデルのクローンを作成したいのですが、この問題はgithubで見つかりましたが、解決策が機能しません。Object3Dに構造上の変更があったようです。

Three.jsの現在の安定バージョンでObject3Dのクローンを作成するにはどうすればよいですか?

4

3 に答える 3

36

この新しいバージョンの three.js には、メソッドがありますclone

たとえば、チェスのクイーンを使用し、複数回複製する必要がありました。

// queen is a mesh
var newQueen = queen.clone();

// make sure to re position to be able to see the new queen!
newQueen.position.set(100,100,100); // or any other coordinates

どんなメッシュでも機能します。

three.js r61を使用しました。

于 2013-11-01T15:13:31.073 に答える
10

実際、mrdoob の答えはあなたの答えです...

ローダーは、メッシュの作成に使用するジオメトリを出力します。ローダーが作成したメッシュのジオメトリとマテリアルを使用して、新しいメッシュを作成する必要があります。

for ( var i = 0; i < 10; i ++ ) {
    var mesh = new THREE.Mesh( loadedMesh.geometry, loadedMesh.material );
    mesh.position.set( i * 100, 0, 0 );
    scene.add( mesh );
}

ローダーの出力はメッシュであるため、Object3D ではなくメッシュのクローンを作成します。

于 2012-08-12T12:16:10.747 に答える