Как в Blender скопировать анимацию с одной кости на другую, используя встроенные инструменты Python?
Я хотел, чтобы все анимации перемещения были на «корневой» кости, а все анимации вращения — на дочерней «бедренной» кости, но я случайно поместил все анимации на бедренную кость, и теперь я не могу использовать корневое движение в игровом движке!
Желательно не переделывать вручную все анимации, так как их у меня почти сотня.
Я попробовал несколько вариантов этого псевдокода, надеясь, что анимация переместится на другую кость. Я продолжаю получать ошибки об отсутствующих полях/методах, но трудно понять, к каким полям у меня есть доступ в python, поскольку он не типизирован статически.
import bpy
# Get the root bone and the hips bone for future reference
root = bpy.data.objects["Armature"].data.bones["_rootJoint"] # Root bone with no animation called "_rootJoint"
hips = bpy.data.objects["Armature"].data.bones["CG_02"] # Hips bone that was supposed to have only rotation animations called "CG_02"
# I wish to select the actions to perform this operation on
# OR iterate through all NLA actions...???
for action in bpy.context.selected_objects:
for point in action.fcurves.keyframe_points:
# if this point is on the hips object:
# for each keyframe on tracks 0, 1, and 2 (the location tracks):
# Copy that keyframe from hips to root
# Then remove it from hips