Blender 3D python 为每个姿势骨骼添加一个不起作用的约束

Blender 3D python For Every pose bone add a constraint not working

        selected = bpy.context.selected_pose_bones
        for bone in selected:
            bpy.ops.pose.constraint_add(type='COPY_ROTATION')

每次我 运行 这是对同一姿势骨骼的约束,而不是对所有姿势骨骼的约束。

有谁知道如何让它在每个选定的姿势骨骼上添加约束。

bpy.ops.pose.constraint_add() 是一个仅影响活动项目的运算符,在本例中为姿势骨骼。当您在选择中循环遍历骨骼时,您并没有在循环遍历时使用对每个骨骼的引用。

您可以在每个特定骨骼上手动创建约束并随时调整其他参数,而不是使用操作符。

for bone in bpy.context.selected_pose_bones:
    nc = bone.constraints.new(type='COPY_ROTATION')
    nc.target = bpy.data.objects['Armature']
    nc.subtarget = bone.parent
    nc.influence = 0.5