Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Generic rig creates floating or wonky feet movement?

Discussion in 'Animation' started by joarwho, Dec 18, 2014.

  1. joarwho

    joarwho

    Joined:
    May 27, 2014
    Posts:
    2
    Hello guys, I would really appreciate your help. So, I imported a rig and animation. I choose 'Generic' as animation type and set the 'Root node' to the world joint of the rig. I add the rig to the scene and press play and the animation doesn't play properly. The feet are sliding or floating or sometimes moves jerky. I tried to choose humanoid and the feet were staying on the ground. The problem is that I CAN'T use humanoid since the animation have squash and stretch.

    Why isn't the generic system working properly? I tried choosing bake into pose and every setting. Nothing works. The feet won't stay in place. It feels like there is something wrong but the 'root node' maybe? Any ideas how I can solve this?

    (I also tried turning of root motion and turning off/on foot IK)

     
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Hey @joarwho - have you solved this issue yet?
    If so please share your results and the solution you came up with.

    If not here are some wild guesses that could lead to figuring out the problem and a possible solution.

    It may be the actual 'scaling' that is causing this odd behavior.
    If the animation rig is constructed similar to a normal rig - there is a IK junction at the ankle. This is where two IK hierarchies meet, one for the upper leg and one for the foot to have pivotable control - normally called a reverse foot setup.

    Scaling the upper (leg) IK hierarchy could possibly be causing the lower (foot) IK to be acting odd.

    One thing to test this would be to remove the IK controls on the foot then re-export to see if the effects still exist.
    This would have the negative effect of not giving the animator control to pivot on the ball of the foot or tip of the toe - but may have the positive effect of fixing the issue.

    Another test could be to bake the animations on export to see if the issue still exists. Expensive but could show positive results and non-uniform scaling of animated mesh is expensive as is.

    I've read about non-uniform scale being very taxing at render time
    http://unity3d.com/support/documentation/Components/class-Transform.html


    An alternative to non uniform scaling bones in the animation control rig is to link/parent dummy (nulls) to the bone that would normally be scaled. Weight the lower/upper limb to the dummy/null. When at the point in the animation where the scale should be - instead of scaling a bome - move in the local direction the dummy/null. This results in a "scaled" look but does not really scale any bones.
    Im mot sure about the export process foe this setup - if baked animation would need to be used or not, but the benefits of this would be a possible solution to the problem at hand and a second benefit of being able to use humanoid setup instead of generic.

    Hope this helps out.
    Please report back with your findings.