Search Unity

Mecanim only rotates thumb bones through one axis

Discussion in 'Editor & General Support' started by Damocles, Dec 5, 2012.

  1. Damocles

    Damocles

    Joined:
    Jul 21, 2012
    Posts:
    46
    I've noticed that my Model, using an Avatar/Animator setup, will only rotate the thumb proximal bone through one axis, when really it needs to be able to rotate through two, like the index finger proximal bone can.

    I've tried making three test animations, each one rotating the thumb proximal bone through a different axis, and only one of them works as expected. The other two do not rotate at all.

    There are no joints or rigid body freezes in place that would be limiting movement. I tried removing the RB and joint completely just to be sure.

    Has anyone else got their Mecanim thumbs moving freely? At this point I'm not sure if there's something wrong with my model/avatar setup, or if it's a bug in Mecanim. All the other finger bones works fine, and all other Mecanim animation features are working as expected.
     
  2. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Sounds very strange. Please submit a bug report with a minimal repro project of just that one model that shows the problem. So we can take a look at why that is not working properly for you.
     
  3. Damocles

    Damocles

    Joined:
    Jul 21, 2012
    Posts:
    46
    Well, after spending 2 hours cleaning out the project to a bare bones minimum with just the animation, I found the avatar had been lost. So I recreated it for the bug report project, and the animation worked perfectly.

    So I went back to my main project, and spent another 2 hours trying to track down why this was so. I tried rebuilding avatars form scratch, and updating animation files, and everything I could think of. I eventually tracked down the problem...

    I had accidentally made the hand animations in 3DS Max using a skeleton that had a different bone naming convention to the one the model was using, which seemed to slightly confuse the Avatar system. It was saying it had the bone setup correct in the Avatar config screen, but I think it had got confused during retargeting and was treating the thumb bones like a finger bone. After I redid the animation using the correctly named skeleton, it worked fine.

    For Unity devs reference - the "wrong" skeleton was a standard Max Biped, with the usual "Bip01 L Finger 02" style names - the difference being there are only 3 fingers (one for thumb, one for index, and one for middle, ring, and little fingers together). I found the avatar wasn't automatically recognizing the thumbs like this, so I switched to a biped where I had renamed the three fingers to Avatar friendly names, like "Bip01 L Index Proximal" or "Bip01 R Thumb Intermediate" and this allowed the Avatar system to 100% automate the bone mapping process.... until I broke it :)