3D swap armature pieces without breaking animations

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By paoloforti96


After being able to succesfully import my 3d model into godot, also with animations, I then tried to add swappable weapons, and it worked using bone attachments.
Right now I am trying to add changeable armature to the character but I’m not able to figure out how to best implement this feature.
I tried using bone attachments, but it did not work since when an animation plays, the armature is not deformed with the bones. Which was to be expected since the bone attachment only copies the deformation of a single bone.

I then googled if there was a way to have this done in a different way, while keeping the flexibility of having different assets, that are only attached to the mesh when needed.
I only found that a possibility would be to swap mesh pieces with an armature piece, for example substituting the hands with the gauntlets on runtime, keeping the same bone structure, without breaking the animation(not sure I understood this method right)

The second method I found is the classic straight-forward approach. Make an animation for every combination of equippable armature. Which is probably easy but really time consuming.

So I then thought about animating the character with all possible armature sets attached to it, directly on blender, and then on godot, I would simply hide or unhide the armature pieces that are currently equipped.
I’m not sure if this might work, so, if anyone faced a similar problem, I would love to hear your approach, or if you know of a good way to handle this, without overloading the character scene with every possible asset.

Thanks in advance to anyone that will try to help me!
Have a good day!

:bust_in_silhouette: Reply From: paoloforti96

Okay, so I found a useful video to achieve what I want to do.

For anyone interested in implementing such a feature in their game, here is the video: (Tutorial) - How to make an armor swap feature in an RPG, with Godot. Armor equip feature Godot 3D

Thank you! There was a specific comment on that video that really pointed me in the right direction. Didn’t realize you could right click on a mesh inside a GLB and choose “save branch as scene” to maintain skin/weight information.

mseawell | 2021-10-23 17:23