When scrubbing an Animator track, sometimes root motion is applied twice

Slate Forums General Discussion When scrubbing an Animator track, sometimes root motion is applied twice

This topic contains 4 replies, has 2 voices, and was last updated by  Gavalakis 2 months, 1 week ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #1069

    Breaking Fourth
    Participant

    We’ve been using a motion capture suit to capture body animations, and importing them into Unity to add to the Slate timeline. Sometimes, when these animations are not fully cleaned up or perfectly centred, we can find that, although the cutscene plays fine in preview and play modes, when we scrub the Slate timeline in the editor and release the mouse, the character seems to ‘snap’ beyond their original root motion position. Then, any time we click anywhere in the Slate window, the character’s root position will keep being shifted.

    Below is a link to a sample Unity project demonstrating the issue. Try scrubbing to a point in the timeline, keeping the mouse held down, and note the position of the character. Then, release the mouse and notice that the character seems to ‘jump’ to an incorrect position. Then click on any empty space in the Slate window, and notice that the character will jump again. The project is using Slate 1.7.0, Unity 5.5.0f3.

    Attachments:
    You must be logged in to view attached files.
    #1075

    Gavalakis
    Keymaster

    Hello,

    After investigating this, there is indeed a bug here, when the clip starts at time 0 and there is a negative ClipOffset set in the Animator clip. I will of course fix this (still investigating), but until then, you can avoid this bug from appearing by either doing one of the following:
    1) Don’t use a negative ClipOffset.
    2) Place the clip start time at anything other than 0.
    3) introduce a slight BlendIn for the clip.

    Doing one of the above will avoid this bug. Please let me know if that works for you.
    Once again, I am already looking into fixing this as I write this post.

    By the way, please do not publicly post links that include paid assets. I have removed your link because the download package included Slate. If you want to send me something, please do so to support_AT_paradoxnotion.com

    Thanks.

    #1077

    Breaking Fourth
    Participant

    Thanks, that does seem to fix it. We’ll make sure not to start our animations at zero until a fix is confirmed.

    And apologies, that project has now been taken down from our file share and we will attempt to be more conscientious with licensed assets from now on.

    #1751

    Breaking Fourth
    Participant

    We have just run into this bug again. Is there any update on when a fix might be made available for this issue, or when the refactored / performance-optimized root motion system might be released?

    #1752

    Gavalakis
    Keymaster

    Hello again!

    I am currently working on an update, so I take another look at this, but meanwhile, here is a quick fix to avoid the root motion being re-applied:
    Please open up AnimatorTrack_2017.cs file and change line #237 to be like this:

    
    for (var time = startTime - float.Epsilon; time <= endTime + updateInterval; time += updateInterval){
    

    The change here, is actually var time = startTime - float.Epsilon.

    This avoids the root motion from jumping around, but a better fix is required to the rest of the code to work more in harmony.
    Let me know if that works for you.

    Thanks!

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.