0 votes

Hi!

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!

Godot version 3.3
in Engine by (73 points)
edited by

1 Answer

0 votes

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

by (73 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.