Search Issue Tracker

By Design

Votes

0

Found in

2018.4

2019.4

2020.3

2021.1

2021.1.1f1

2021.2

Issue ID

1326650

Regression

No

The last frame of a animation is cut off when looping the animation

Animation

-

Reproduction steps:
1. Download and open the attached "Horror3D" project
2. In the Project window, go to "Characters" > "girl.fbx"
3. In the Inspector window, change the clip to "Armature|Walk"
4. Press the "Play" button in the Preview window

Expected result: The last animation frame isn't cut off
Actual result: The last animation frame is cut off

Reproducible with: 2018.4.35f1, 2019.4.27f1, 2020.3.11f1, 2021.1.9f1, 2021.2.0a18

  1. Resolution Note:

    Loop pose is working as intended in this case. The loop pose feature is designed to help remove small errors between the start and end frame by subtracting the difference between the last frame and the first frame and slowly applying this error correction over the length of the animation. This is useful when you are trying to make looping animations out of e.g. motion capture data where the poses at the beginning and end of a clip to not exactly loop. This means by definition the final frame of the animation will not be seen.

    For the case described in this bug, the way to achieve the desired outcome would be to copy the keys on the first frame to the end of the clip. This could be done in a DCC tool or could be done inside Unity's animation window. To do inside of Unity, first duplicate the clip (since clips in side fbx are read only), and then select all the keys on the first frame of the animation. Press ctrl+c to copy these keys, move the scrub to 1 frame past the end of the animation and then pasting them with ctrl+v.

Comments (1)

  1. ell1e

    May 28, 2021 14:19

    Just to add this small tidbit of info, it is probably useful for some use cases, like mo-cap, that the last frame is ignored when looping. However, for others it simply isn't. So I think a great way to address this bug/limitation/... would be an additional option to control whether the loop will incorporate the last frame as standalone anim data (NOT how it is right now) or whether it'll be trashed under the assumption it's an imperfect mo-cap repeat of the first that should be ignored (CURRENT behavior). That would make also backwards compatibility of this fix very easy, if the default of this new option was the old behavior of ignoring the last frame.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.