diff --git a/retarget.py b/retarget.py index 764f3b9..a32c103 100644 --- a/retarget.py +++ b/retarget.py @@ -251,6 +251,10 @@ def main(): # imported action reads '|' — the same shape Mixamo's anim-only FBXs use. bpy.context.scene.name = name target.animation_data.action.name = name + # bake_anim exports the SCENE frame range, not the action's. Left at Blender's factory 1..250 + # this silently mangled every clip: shorter ones gained a frozen tail (98f clip -> 250f), longer + # ones were truncated (the 317f gymnasts clip lost 67 frames / 2.2s). Pin it to the real range. + bpy.context.scene.frame_start, bpy.context.scene.frame_end = f0, f1 export_fbx(target, fbx) # sanity: the FBX action must carry keys on the driven bones assert target.animation_data and target.animation_data.action, "no baked action on target"