Эх сурвалжийг харах

Use latest bake_action API.

As of blender 2.80, bake action takes an iterable `frames` argument
instead of frame_start, frame_end, and frame_step.

Compare
https://docs.blender.org/api/master/bpy_extras.anim_utils.html?highlight=bake_action#bpy_extras.anim_utils.bake_action
to
https://docs.blender.org/api/2.79b/bpy_extras.anim_utils.html?highlight=bake_action#bpy_extras.anim_utils.bake_action

Resolves #131:

```
TypeError: bake_action() missing 1 required keyword-only argument: 'frames'
```
Ryan Roden-Corrent 6 жил өмнө
parent
commit
c5a7d5c9fa

+ 11 - 1
io_scene_godot/converters/animation/constraint_baking.py

@@ -74,7 +74,7 @@ def bake_constraint_to_action(blender_object, base_action, bake_type,
         )
 
         bpy.context.scene.objects.active = active_obj_backup
-    else:
+    elif bpy.app.version < (2, 80, 0):
         baked_action = bpy_extras.anim_utils.bake_action(
             obj=blender_object,
             frame_start=frame_range[0],
@@ -86,6 +86,16 @@ def bake_constraint_to_action(blender_object, base_action, bake_type,
             do_object=do_object,
             do_visual_keying=True,
         )
+    else:
+        baked_action = bpy_extras.anim_utils.bake_action(
+            obj=blender_object,
+            frames=range(frame_range[0], frame_range[1]),
+            only_selected=False,
+            action=action_bake_into,
+            do_pose=do_pose,
+            do_object=do_object,
+            do_visual_keying=True,
+        )
 
     if in_place:
         return action_bake_into