I imported an a character to Unity 2019.2.8 that I made in Blender 8.0, which was exported from that program in .FBX format. The animations play back the same (perceptually, but the keyframes are very messy and out of place by comparison.
What can be causing this? The animations in Blender and Unity are the same length (I checked) so what happened to the keys? How can I re-import these animations so that the keys match?
EXAMPLE: (this all happens in Blender 8.1)
In Blender, have a rigged and animated character ready:
These animations (this animation in particular, "Battle_Punch") was recorded with the Frame Rate set to 60fps. That may not be true for all of them (hope not) but it is for this one.
Prior to export, I select all the objects in under the Luigi collection. I do that by right-clicking the Armature object in the Collections panel and selecting "Select Hierarchy".
Then I use the following FBX export settings:
Of particular note should be the options to export only what is selected. I set the normals to "face" because once-upon-a-time, that worked well for me when the default did not.
Here are my FBX IMPORT settings inside Unity:
Model:
Rig:
Animation (only change is Import Constraints-YES and Anim. Compression-NONE):
(I'm sure the Materials settings are unimportant for this)
Here are they keyframes I get with Anim. Compression set to NONE:
...and here is what I get with the default setting (Reduced Keyframes). This result is the same as if I select OPTIMAL:
You can compare this to the keyframes in the first image and see that this outcome resembles shotgun fire better than it resembles my keyframes.
Now, an observation: Tinkering with the translation/rotation/scale error settings under Reduced Keyframes in the Animations import settings will give me more keyframes, but I can't confirm this is more consistent with what I started with because it will insert a keyframe for every position, not just where the original keyframes were.
How do I get keyframes ONLY where my original keyframes were?