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

Bug Velocity doesn't blend properly when using motion node

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

  1. Nathanieljla

    Nathanieljla

    Joined:
    Apr 18, 2014
    Posts:
    97
    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?