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.
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.
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.
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
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.
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
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
Well. I found a cheat work around. I had to terminate an animation at frame 140, so I went back to frame 119 and then I was given the option to delete everything after frame 140. It was a bit of trial and error.