Skip last frame in a looping animation?

I have a character with “running” and “walking” animations. When enabled, each one loops infinitely. When I slow the time scale down on either one, I can see that the first and last frames are being repeated, which causes a very slight visual “pause” between loops of the animation. Is there a simple way to skip the first or last frame in this type of scenario?

I guess you should use crossFadeFrom or crossFadeTo function. Check here .
P.S. You might check here

Can you use crossFadeFrom / crossFaceTo when the source and destination actions are the same one?

let’s say you wanna change action1 to action2 …

action2.crossFadeFrom(action1,0.3,true);

Edit: Sorry I misunderstood your question. I don’t know this will work out. You may try it though.

1 Like

Having the exact same problem here!

After investigating a bit, I found that my animation started and ended with the same positions (first and last frames were identical).

Therefore I thought that removing the last frame would help make a smooth loop, but unfortunately, it looks like the mecanism does not “fill in” the action between the last frame and the first frame of the next loop, so i was still getting a jerky “leap” between each iteration.

Have you found any solution on your end ?

Thanks!

I’m still looking for a solution. Thanks for experimenting with “skip last frame”. Maybe there’s a way to speed up the animation just for one or two frames?

Hiya
Are you exporting the animations from Blender by any chance ?
If so, moving each animation to start at the 0 frame (instead of 1 by default) before pushing them down into the NLA solves the issue.