How to turn Collada import into instanced mesh?

Hey, so I’ve got a skinned mesh imported from a dae file. I want to turn it into an instanced mesh, but I want it to keep its bone structure because those bones, well, keep the mesh together. (Also to enable animations - if they’re even possible on instanced meshes - later down the road.)

Also, will this play well with TransformControls?


Sorry to disappoint you but there are conceptual things that don’t work:

  • InstancedMesh does not support skeletal animation. You have to work with SkinnedMesh (which does not support instancing however).
  • TransformControls does not support InstancedMesh.

… darn it.

Is there a way to use instancedBufferGeometry?

I’m not going to lie, I don’t know too much of what I’m doing when it comes to instancing, just the basic concepts.


So I’ve got something working that replaces the skeleton in the dae files I’m working with with a dummy skeleton.

Is there a way to import a DAE file as not a skinned mesh? Just a normal mesh (which I assume uses less resources than a skinned mesh)

Or is there a way to convert a skinned mesh into a normal mesh object?

Also, is there a way to convert bufferGeometry to instancedBufferGeometry?


This example could be used as a reference, regardless of what file format you import from:

It still requires a non-skinned mesh. It would be best to remove the skeleton from the file in a tool like Blender, where you can fix any scale or other issues that might arise by doing so. You can try just putting the SkinnedMesh’s geometry into a normal Mesh in three.js but the scale and pose might be off, and you’re still loading some extra data.


Unfortunately I can’t remove the bones in Blender as I need to use this process for over a thousand files, and cannot include models in distributions as that wouldn’t be legal. (I’m working on a map editor for modding Breath of the Wild, so I need assets to be parsed from the user’s game dump.) But this is fine, as I have already correctly removed the bones from the file when it is parsed from it’s original format.

Anyway, that link looks really helpful, I’ll definitely check out the source code for that, thanks!

1 Like

Sounds like an awesome project!