0
$\begingroup$

Hello my dear Blender experts!

The title sums it up pretty well. Whenever I try to export my animation from blender to Unity all I get is the first frame of the animation. I've been bugging with this issue for a solid 3 days now and I'm completely out of ideas. I've tried a million different combinations of settings when exporting, all resulting in the same result or no animation being exported at all.


EDIT: I figured out that the animation exports fine when setting the Frame Rate of the scene to anything that isn't 30 FPS. Unfortunately it obviously has the wrong speed then, 60 makes it twice as fast which is not what I want. In theory I could export it as a 60 FPS animation and slow it down back in Unity but obviously that's not a forever-solution. Figuring out that it's related to the scene's frame rate is a good start though, I guess. Any idea why only 1 frame get's exported in 30 FPS?

If you have any idea on what could be happening, any help is appreciated. In case you want some more context, here's some info:


SETUP - My blender scene consists of:

  • The character mesh
  • The character armature (which is the actual skeleton that the mesh is parented to)
  • And a control armature (which contains things like IK bones, extra bones for heel roll etc., anything that's not needed on the actual skeleton. I believe another term is meta-rig but I'm not sure)

Each bone of the character armature has a "Copy Transform" constraint with the corresponding bone of the control armature as a target, so any motion from the control armature gets applied to the character armature. Animating (and thus keying) is all done on the control armature. The plan was to bake the animation onto the character armature once I'm done with the animation, as this was my usual workflow back when I used Maya.

The Skeleton and Skinned Mesh have already been exported as a seperate file as I like to have the rig and animations seperate. Both the blender files for the rig and animation are identical though, the animation just gets exported without the mesh as to not clutter the project with unnecessary/duplicate data.

So far this setup worked perfectly fine so I hope it's not part of the problem.


EXPORT FLOW - This is what I tried to export the animation:

  • Select my character armature in object mode
  • Switch to pose mode and press "a" to select all bones of the character armature
  • Open the Bake Action window via Pose > Animation > Bake Action
  • "Start Frame" is set to 0 and "End Frame" is set to 20 (as the animation is 20 frames long), "Frame Step" is set to 1
  • Select the following settings:

enter image description here

  • Press OK
  • The animation of the control armature has successfully been baked onto the character armature
  • Press "a" key to select all bones of the character armature again in pose mode
  • Go to File > Export > FBX (.fbx)
  • Setting the following settings:

enter image description here

  • Press "Export FBX"
  • Setting up the FBX file in Unity

enter image description here

Now here's where my journey ends. The animation is only 1 frame long but also only 1 FPS... which lead me to believe that it's a problem with the Sampling Rate but like I said, I basically checked every export setting there is to see if it has any other result but unfortunately nothing changed.


Here's some of the things that I tried already that didn't help:

  • Exporting both the animation and the mesh instead of the animation only
  • Add the action to the Non-Linear-Animation table
  • In- and decreasing the "Sample Rate" in the > Bake Animation Tab
  • In- and decreasing the "Simplify" amount
  • Exporting the whole scene, not just "Selected Objects"
  • Baking the character armature in object mode instead of the bones in pose mode
  • Deleting all unnecessary objects from the scene, leaving only the character armature (which still animates perfectly fine)

Again, any help is appreciated. If you can think of anything, I'd love to hear from you. Thanks in advance! (And sorry for the wall of text, I'd just rather have too much info than too little)

$\endgroup$
1
  • 1
    $\begingroup$ The procedure you use to export is basically correct, and anyway there shouldn'y be any difference between 30 FPS and any other FPS. What does it happen if you re-import in Blender the FBX? Is it one frame only or the complete animation? For a fast solve you can scale by 2 the timing of the animation, export at 60 fps and set the 30 fps in the game engine. Maybe you can upload a file with the armature and the animation only, to be inspected. $\endgroup$ Mar 24, 2023 at 18:48

1 Answer 1

2
$\begingroup$

I got a fix!

Thanks to a suggestion by @josh sanfelici I tried importing the exported FBX back to blender, in which it looked absolutely as it should be. So after some additional research I found another post asking the same question and it turns out that this is just a bug:

https://forum.unity.com/threads/animations-imported-from-blender-have-1-fps-instead-of-30-fps.1348730/

I've been using Blender 3.3.1 before, after installing Blender 3.4.1 Unity imported my file just fine!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .