The last key of Animation sequence cannot be removed?

I’m using ue5. I just want to trim my animation. I right-click the timeline and click “remove from frame ‘current’ to frame ‘last’”. What I expect is that the animation gets trimmed after the current frame. But the last frame actually gets remained in the animation. Is this a feature or bug? If feature, how can I remove the last frame?

Same problem for me, it was working just fine in UE4…
please help :o

Just ran into this myself. Appears to be a precision related problem in AnimationData::Trim

If you are able to update engine source, you can change this line in AnimSequenceHelpers.cpp:

	const FFrameNumber EndFrameTrim = FrameRate.AsFrameTime(TrimEnd).RoundToFrame();

To this:

	const FFrameNumber EndFrameTrim = InSequence->GetPlayLength() == TrimEnd ? NumKeys : FrameRate.AsFrameTime(TrimEnd).RoundToFrame();

This should fix the problem. Floating point equality is generally frowned upon, but it happens to work correctly in this case because the source of TrimEnd is exactly the same Sequence->GetPlayLength() call just from further up the call chain.

There might be a more “correct” way to fix this, but this seems to work well enough.

1 Like

Hello, there, this answer is coming 4 months later. I just happen to run accross it. FYI, the cropping/splicing tool was not designed to create single frame animations when removing frames. That tool is for splicing/cropping out multiple animations from a ‘single’ animation frame. I created a video tutorial on my YT below and I discuss what tool is available to create a ‘crop or splice’ out a single frame animation from another animation in Unreal Engine 5.

Also, here is a link to my Udemy course where we cover this material in detail.

Cheers.

If you don’t want to rebuild the engine and still have the original resource you can reimport it with a set range of frames.

2 Likes

Worked good, but for me I want to remove the last 5 frames of a actual animation, so it is in a pose where I can play a other animation behind, but it wont remove the last 5 frames, how do I fix that?

I’m not sure if this is related to it, but I’m trying to remove a few frames at the end and need the last frame to be exactly the way I selected, however the last frame is always doing some weird blend out.

2 Likes

Yeah I also have that, no idea what that is, a couple months ago I didnt have that

does this still work
I try but it’s not

Yes, the tutorial above. Will do what you’re trying to do!

Still have this problem (UE 5.0.3) - feeling that the engine automatically creates an interpolation loop (Menu Asset->Add Looping Interpolation) even though there is no such setting. I tried changing the rootmotion, interpolation, compression settings, delete animation modifiers - nothing help.
Any other ideas? And who has already switched to 5.1, can you tell if this problem remains there or is it fixed?

EDIT: Tried this “UE5 bug when trimming animation? - #5 by Vegan_Lightning” - didn’t help either, even after restarting the Unreal :thinking:

1 Like

The solution for this post isn’t an actual solution. It only works if you want a still frame.

For others we still get the last frame of the animation when trimming.

Tried changing the code in the source but no effect.

2 Likes

5.1 preview 2 fix it
but it’s a pain to update all my plugin to there… hope 5.1 stable come out soon

4 Likes

At last What I have done is record the animation and manaually drag the frame pin. And if you had recorded the animation a bit slow, you can increase the rate scale to adjust the speed of the animation.

Guys, dont complicate so much. Simply you need to export the animation to Blender and delete the frames that you wanna delete in Unreal Engine and simply import it again to Unreal Engine. That is all