Does unreal resample your fbx animation at import?

I have a skeletal animation that has some keyframes really close together (1% of 60fps)
There are some bones that need to snap back to a position so fast so you can’t see them move.
But when I import the animation in unreal it seems to discard the keyframes that where close together.
Unreal seems to resample the animation at import at 60fps or something.
Is this something I can switch off?

There are options for key reduction in export settings as far as i can remember. Check and see if any of those are enabled by default.

Hi Jacky, do you mean the fbx export settings from a 3d program? Yes I did check the settings and when I import the fbx into maya the keys are as the should.

In that case, open up the animation in UE4 and check out Linear Key Removal settings on the left. I dont know what each slider does but you may fix your problem there.

I tried different settings but it doesn’t seem to do anything.

I found sort of a work around. I exported my animation with a time scale of 100 (the animation of 128 frames will be 12800 frames) and speed up the animation a 100 times in unreal.
So this time unreal will import it with a higher sample rate. This kind of works, but I need to export the animation with about a thousand to really get it really to working.
Importing the animation with 12800 frames takes about half an hour and I am afraid that if I import the animation of 128000 frames it will take 5 hours. Besides that this isn’t really a good workflow, wouldn’t this be heavy on the cpu to play an animation at 100 speed?

Hello, yes UE4 resamples animation, so if you have multiple keys close each other, it won’t work correctly. The best way is to increase sample rate as you noticed. (Make sure you don’t have “Import using default sample rate”, which samples 30 fps)

This is a known issue but fixing this isn’t high priority for us yet because evaluating random curves in run-time is more expensive (right now everything is linear). I think what we can try first is to import curve but allow you to modify resample rates in editor. I’ll add this to roadmap in trello.

Either way, the major problem seems still how long it takes to import long animation. I think we can probably profile and see where that time comes from and optimize. If you have any idea on this part, please let us know.

Besides that this isn’t really a good workflow, wouldn’t this be heavy on the cpu to play an animation at 100 speed?

Playing isn’t much of issue since we use linear to interpolate fixed sample points, so it doesn’t matter how long it is. It only is problem with memory since you have to sample a lot of points.



Thank you for the reply. I didn’t saw my post was answered until now.
I found a workaround for my specific problem by using vertex animation in the materials, but that wouldn’t work for every animation. To have control over the resample rate in the editor would be great. I hope to see that feature in the editor in the future. Hopefully in combination with alembic support.

Looked like I had the exact same problem ( see comment of the original question). I managed to solve it by re drag and dropping the fbx that had the problem and by having these import settings:
1-skeleton: well use the skeleton that should be used, the one in T Pose.
2-uncheck Use Default Sample Rate
3-Check import Custom Attributes
4-check Preserve Local transforms

And then I clicked on import ( not import all) Here I have no idea if one or the other has anything to do with it.

Looks like it’s some pretty silly settings and stuff, but hell, I spent sooo much time trying to figure that stuff out, browsing internet tryingto find someone who would have had the exact same problem and with a solution. So here it is for me. I hope this would help you. I feel sooo much better now that I can finish up some stuff on those 3 characters.

Cheers! :slight_smile:

Lina, this is actually quite a problem. Animators need to use very fast changes of pose sometimes. I just spent a couple days trying to figure out why my animations look vague and unresponsive in the engine before finding this post. Could you please support a better version of “least destructive” that is something like “uncompressed”?

This is very big problem… I don’t know why unreal developers are ignoring animators, but its bad for UE. unity can play animation whith custom framerate, but in Unreal i need to have so many moves to do same thing. Fix that problem please. you dont do anithing whith that in about 3 yers((