我有此代码
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()
当选择一个关节并运行此代码时,您将得到一个控制该关节的圆。在层次结构中,您必须选择该关节,然后运行代码。
我如何能够让所有关节都具有圆来控制它们,而不必通过大纲轮廓选择一个关节呢?
答案 0 :(得分:0)
在您的关节链上运行它:
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(circle_name,joint_name,n ='something')