Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Bug Velocity doesn't blend properly when using motion node

Discussion in 'Animation' started by Nathanieljla, Jun 9, 2021.

  1. Nathanieljla


    Apr 18, 2014
    I have what I believe is a very simple bug to reproduce, which I created a bug report for, but support is pretty much saying "as designed/we have no other suggestions for you".

    I have two animations.
    • A run-Left and a run-Forward.
    • Both travel at 10 m/s
    Case 1 (works)
    • Using Unity's default humanoid, blend these to animations in a blendTree.
    • Run at 45 degrees. ie 50% blend of both animations.
    • Result == Character moves at 10 m/s after blending.
    Case 2 (bug/bad design)
    • Same setup at case 1, but in the animation import reference a motion node to define the velocity.
    • result == Character moves at 7.x m/s after blending
    • result == foot sliding and inconsistent character movement speed.
    It's obvious to me that the transform of the motion node is being linearly interpolated between the two animations. I believe this to be an edge case that's not properly handled in unity (hence the bug status) If an object is defined as a motion node for a character, then it's blending should be a special case to ensure the velocity is properly preserved when mixing animations.

    Yes, Unity Support, you have run out of suggestions for how I can fix this on my side, because I can't fix this on my side.

    I don't understand how this hasn't been brought up before/or hasn't been addressed. What am I missing?