在层次中一次选择一个关节

2024-03-28 17:10:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码

joint_name = cmds.ls(sl=1)[0]
circle_name = cmds.circle(name = joint_name + "_CTL", nr=(1, 0, 0) )
group_name = cmds.group(name = joint_name + "_OFFSET")
cmds.select(joint_name, group_name)temp_constraint = cmds.parentConstraint()
cmds.delete(temp_constraint)
cmds.select(circle_name, joint_name)
cmds.pointConstraint()
cmds.orientConstraint()

当您选择一个关节并运行此代码时,您将得到一个控制该关节的圆。沿着层次结构往下走时,必须选择该关节,然后运行代码。你知道吗

我怎样才能让所有关节都有圆来控制它们,而不必通过“大纲视图”(outliner)选择关节?你知道吗


Tags: 代码name密码groupselecttemplsnr
1条回答
网友
1楼 · 发布于 2024-03-28 17:10:19

在你的关节链上运行这个:

for x, joint_name in enumerate(cmds.ls(sl=1, dag=True, type='joint')):
    circle_name = cmds.circle(name = '{}_CTL{:02d}'.format(joint_name,x), nr=(1, 0, 0) )
    group_name = cmds.group(name = '{}_OFFSET{:02d}'.format(joint_name,x))
    cmds.select(joint_name, group_name)
    temp_constraint = cmds.parentConstraint()
    cmds.delete(temp_constraint)
    cmds.select(circle_name, joint_name)
    cmds.pointConstraint()
    cmds.orientConstraint()

请注意,您可以输入pointConstraint,而不是使用select: cmds.pointConstraint命令(圈出名称,联合名称,n='something')

相关问题 更多 >