Search Unity

Legacy vs. Generic vs. Humanoid pros and cons?

Discussion in 'Animation' started by Chickenator, Feb 11, 2015.

?

Legacy vs. Generic vs. Humanoid?

  1. Legacy

    10.8%
  2. Generic

    52.5%
  3. Humanoid

    36.8%
  1. Chickenator

    Chickenator

    Joined:
    Aug 4, 2014
    Posts:
    1
    What's the pros and cons of each type of animation because I'm unsure of which one to learn. Any help?
     
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    humanoid allows for retargeting animations on all humanoid type characters.

    Generic allows for characters that aren't humanoid and doesn't match the humanoid mecanim structure.

    Legacy - I don't know.

    Update when you've gathered some sharable knowledge.
     
  3. Jself

    Jself

    Joined:
    May 29, 2014
    Posts:
    56
    Generic allows for squash and stretch of the bones, Humanoid doesn't.

    Humanoid requires you to have only 2 spine bones. Generic doesn't have that restriction.

    Generic allows you have a pelvis root and separate hips for animation, Humanoid does not. You have to have one bone for translations and rotation of the characters pelvis.

    Humanoid allows you to mirror you animation clips, Generic does not.

    Legacy is outdated and probably going to be phased out. So there are no pros with it.

    One is not better than the other. But one may serve your project better than the other though. So you need to weigh the costs and see which one would serve that role the best.
     
    Last edited: Feb 19, 2015
    BuzzKirill, enrael and theANMATOR2b like this.
  4. manikantlawania

    manikantlawania

    Joined:
    Jun 8, 2014
    Posts:
    10
    I have seen the animations root is easily turned around and used, like the third person controller by unity, it turns through animation / code and it starts straight walking in that direction - Humanoid.
    You cant have that in Generic.
    Is there anyway ? I have no support on the answers page hence the question
     
  5. SexySidekicks

    SexySidekicks

    Joined:
    Nov 6, 2013
    Posts:
    96
    Generic is documented as being the slowest of the three options. And speed is somethng that can be particularly critical in games. I see no point in generic, as you can do anything that generic does with legacy...and some things even faster and easier provided you have sufficient experience to move transforms with 3D math.

    Humanoid is the way to go if you don't have the capability to create your own animations. It's retargeting is very good and very robust. I'm not a fan of dragging and connecting 200+ animations in a controller GUI and even less of a fan of setting fbx properties for masks one file at a time. Humanoid also does some SUPER nice fancy deformations that no one talks about like handling wrist twists close to the elbow rather than using the crushed coke can effect at the wrist...this is exceptionally nice although it could be done (and should be done) by the animator. Humanoid's one true fallback is extra bones for things like tunics and capes...thats a geat big "no can do" there unless one implements morphs which totally negates it's value for time savings at that point.

    Legacy...super fast if you know what you are doing...I'm suprised no one has written a retargetting tool for transfering animations to legacy skels...not that hard to do right? I mean get a dest bone transform in the space of the source bone transform and then use that inverse for each frame...one need only grab rotation for everything except the root, and that can be calculated by source vector form origin.normalised * distance for that....by dest vector from origin.normalised * it's distance...people do translations like that all the time, but it does require knowledge of inverse transforms. Legacy is also the FASTEST animation method of the three as it just basically blasts the animation data out. You gain the most from this system if you are good at coding, have lot's pf arrays of states and have all the animation data you need for a VERY SPECIFIC legacy skeleton. Legacy skeletons can take any form and unlike humanoid skels and firthermore....the bones can rotate, translate AND scale.

    I will be using Legacy for my own games...I need the bones and have no issues retargeting or animating myself

    my two pennies....

    Unity folk, PLEASE do something about the extra bones and humanoid, at the very least add a channel or means to animate them on top of a humanoid.
     
  6. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Does legacy support root motion animations? I ask only because all animations I've created for developers using the legacy system have been requested without root motion.

    This isn't entirely true. Additional bones can be used with mecanim humanoid - but avatar masking is needed.

    This is true - I'd actually add to this, legacy isn't an option for non-coders.
     
  7. wenzhao

    wenzhao

    Joined:
    Oct 28, 2013
    Posts:
    6
    If I don't need to use Retargeting, but only need Mask and IK, should I use Generic? Because there are all kinds of problems importing actions using Humanoid.
     
  8. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,338
    The built-in IK solution in Mechanim is Humanoid only, so if you want to use that, you'll have to use Humanoid.

    That being said, you could do a generic rig, and then try the new Animation Rigging package to do IK instead. It's probably a much better solution.