How to clone collada model in threejs?

2019-02-19 18:45发布

I've loaded a .dae model, which I would like to use more times in my scene. This code works with meshes, but the collada.scene object isn't a mesh:

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

How is it possible, to share the same collada model between some objects?

1条回答
女痞
2楼-- · 2019-02-19 19:24

The dae scene is not a mesh, but there's certainly a mesh in it. You should console.log the collada object, or put a breakpoint in the load function, and inspect where is the mesh you want.

Given a mesh located in collada.scene.children[0]

In the load function, store the mesh somewhere, say window.referenceModel

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

Later, when you want to clone this model

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 );
查看更多
登录 后发表回答