我认为这只是一个申报问题。我想在两个关节之间约束一个圆柱体。此块代码有效,它向所有关节的每个圆柱体添加了一个权重为0.5的约束。我想在这件事上增加一些限制: 从接头1和2上拆下气缸1 将气缸2从接头2和3上拆下 将油缸3从接头3和4上拆下
import maya.cmds as cmds
import math as mt
# CREATE THE CYLINDER ON JOINTS
cmds.joint (p = (-5, 0, 0))
cmds.joint (p = (-2, 0, -2))
cmds.joint (p = (10, 0, -6))
cmds.joint (p = (10, 0, 3))
# GET THE RELATIVES FOR THE JOINT CHAIN
sel = cmds.ls (selection = True)
jnt_Hi = cmds.listRelatives (sel, allDescendents = True)
jnt_Hi.extend (sel)
for jnt in jnt_Hi:
pc = cmds.polyCylinder (name = (jnt + '_cyl'), radius = 1, height = 2, subdivisionsX
= 20, subdivisionsY = 1,subdivisionsZ = 1, axis = (0, 1, 0), rcp = 0, createUVs = 3,
constructionHistory = 1)
# CONSTRAINT THE CYLINDER TO THE JOINT
cmds.pointConstraint (jnt_Hi, pc,
weight = 0.5,
name = (jnt[0] + 'point_1'))
cmds.pointConstraint (jnt_Hi, pc,
weight = 0.5,
name = (jnt[0] + 'point_2'))
在循环中:
您可以对关节名称进行迭代。但是,稍后将关节名称引用为jnt[0],稍后将关节名称引用为j1[0]和j2[0]。因为jnt、j1和j2是字符串而不是字符串数组,所以您总是会得到不存在的第一个字母“j”
相关问题 更多 >
编程相关推荐