Merge branch 'blender-v5.0-release'

This commit is contained in:
Lukas Tönne
2025-10-16 12:15:44 +02:00
12 changed files with 158 additions and 81 deletions

View File

@@ -886,24 +886,23 @@ class TransformsToDeltasAnim(Operator):
# no conflict yet
existingFCurves[dpath] = [fcu.array_index]
# if F-Curve uses standard transform path
# just append "delta_" to this path
# Move the 'standard' to the 'delta' data paths.
for fcu in channelbag.fcurves:
if fcu.data_path == "location":
fcu.data_path = "delta_location"
obj.location.zero()
elif fcu.data_path == "rotation_euler":
fcu.data_path = "delta_rotation_euler"
obj.rotation_euler.zero()
elif fcu.data_path == "rotation_quaternion":
fcu.data_path = "delta_rotation_quaternion"
obj.rotation_quaternion.identity()
# XXX: currently not implemented
# ~ elif fcu.data_path == "rotation_axis_angle":
# ~ fcu.data_path = "delta_rotation_axis_angle"
elif fcu.data_path == "scale":
fcu.data_path = "delta_scale"
obj.scale = 1.0, 1.0, 1.0
standard_path = fcu.data_path
array_index = fcu.array_index
try:
delta_path = STANDARD_TO_DELTA_PATHS[standard_path]
except KeyError:
# Not a standard transform path.
continue
# Just change the F-Curve's data path. The array index should remain the same.
fcu.data_path = delta_path
# Reset the now-no-longer-animated property to its default value.
default_array = obj.bl_rna.properties[standard_path].default_array
property_array = getattr(obj, standard_path)
property_array[array_index] = default_array[array_index]
# hack: force animsys flush by changing frame, so that deltas get run
context.scene.frame_set(context.scene.frame_current)