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

Posted

技术标签:

【中文标题】Blender 3D python为每个姿势骨骼添加一个约束不起作用【英文标题】:Blender 3D python For Every pose bone add a constraint not working 【发布时间】:2015-09-10 15:34:12 【问题描述】:
        selected = bpy.context.selected_pose_bones
        for bone in selected:
            bpy.ops.pose.constraint_add(type='COPY_ROTATION')

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Blender 3D python为每个姿势骨骼添加一个约束不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Blender骨骼动画快速教程

将非分层变换应用于分层骨架?

unity3d中怎么给带骨骼的人物模型摆个姿势?

基于babylon3D模型研究3D骨骼动画

Blender/UE4骨骼转换插件:Uefy v1.2.1 For UE4 BL 2.8+使用教程

平行拟合和旋转两个 3D 网格节点