Search Unity

What to do with extra bones in legacy models?

Discussion in 'Animation' started by JoeStrout, Dec 3, 2013.

  1. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I'm working on converting the "Astro Dude" character (from the free Unity tech demo in the Asset Store) for use with Mecanim.

    For the most part, the auto-mapping of the bones to the avatar worked great. But the original model has one extra bone, antennaBone, attached to the head. This corresponds to the antenna sticking up off the right side of the character's helmet.

    The auto-mapper mapped this to "Right Eye." OK, that's not right, and I can certainly change Right Eye to None. The head bone is still drawn weird, as a big slanty spike to the right (to where the antennaBone is located, I guess). Can somebody check my understanding of the following:

    1. The head bone is drawn this way because there is, in fact, a sub-bone in the model. But it doesn't matter; the avatar will work just fine regardless of how the head bone is drawn.

    2. Bones in the model which are not mapped to the avatar (such as antennaBone) will not be animated by Mecanim animations. They'll just stay rigidly attached to their parent (the head in this case).

    Finally, assuming I'm right so far, is there any way to make use of these extra bones while running Mecanim animations? What I'd really like to do in this case is attach some springs to it, and let it bounce around according to physics. How would I approach that?

    And finally finally (no kidding this time), it seems that the Humanoid avatar head has no provision for antennas, pony tails, pigtails, or ears; nor does the body have any provision for a tail. I'd hoped those would be there as optional bones, so animations that have some use for them could do so. Have I missed anything, or is this just a limitation of the Mecanim format?

    Many thanks,
    - Joe
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    OK, this one I think I've managed to figure out myself: I can simply get a reference to the unused bone, and rotate it in my own script.