- Home /
Equiping Weapon to a Character
So I'm animating my character in max and importing to unity. Now I'd like to be able to switch weapons within the code in game and was wondering how I'd go about doing it so that the weapon moves with the animations.
Thoughts.. 1. Attach the weapon to a bone in the skeleton from max. This is a bone just for one handed weapon angles and movements. But this would need the weapon to be part of that bone 100% within unity not sure if I can do that.
- Add the weapon to max and have different animations for each type. (yuck)
Help would be appreciated, I'm not a programmer and this is all very new to me. I think I've been doing pretty well though.
Thanks.
Answer by duck · Mar 14, 2010 at 08:18 PM
In Unity, all bones are just Transforms, so you can attach child objects to any particular bone just as easily as parenting an object to a normal gameObject. This can be done in the editor, or via scripting.
For more information in general about using animated characters in Unity, read this manual page:
To parent an object to another at runtime using script, it's simply a matter of assigning the transform.parent property to some other object's transform. In your case you'd want to set the weapon object's transform.parent to the hand bone's transform.
You might also want to subsequently set the weapon's localPosition and localRotation to Vector3.zero and Quaternion.identity respectively (depending on how your weapon's pivots are set up).
I'm having trouble with this. Once I parent my weapon to the hand bone, the bones seem to "disconnect" from the body and don't get animated anymore (while the deformed mesh does!).
I haven't tested fully YET, but I'm adding a specific bone in 3ds $$anonymous$$ax to represent the sword/gun/bow/etc. This way it doesn't affect the rest of the bones or weighting.
Your answer
Follow this Question
Related Questions
Realistic weapon movement with the character 0 Answers
Is there a limit to the number of bones in a model 2 Answers
Switching weapons animation with mecanim? 2 Answers
Animation system 1 Answer