|
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.
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.
(comments are locked)
|
|
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). Awesome! Thanks this helps a lot.
Mar 14 '10 at 08:49 PM
Jason Mathews
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!).
Mar 26 '10 at 02:00 PM
Orion 1
I haven't tested fully YET, but I'm adding a specific bone in 3ds Max to represent the sword/gun/bow/etc. This way it doesn't affect the rest of the bones or weighting.
Mar 31 '10 at 03:22 AM
Jason Mathews
(comments are locked)
|
