2

我已经加载了一个.dae模型,我想在我的场景中使用更多次。此代码适用于网格,但collada.scene对象不是网格:

var mesh2 = new THREE.Mesh( loadedMesh.geometry, loadedMesh.material );

如何在某些对象之间共享相同的 collada 模型?

4

1 回答 1

4

dae 场景不是网格,但其中肯定有网格。您应该 console.log collada 对象,或在load函数中放置一个断点,并检查您想要的网格在哪里。

给定一个网格位于collada.scene.children[0]

load函数中,将网格存储在某处,例如window.referenceModel

window.referenceModel = collada.scene.children[0];

稍后,当您要克隆此模型时

var refObject = window.referenceModel;
var clone = new THREE.Mesh( refObject.geometry, refObject.material );
// here you can apply transformations, for this clone only
scene.add( clone );
于 2013-09-24T09:51:27.410 回答