如何修改控制顶点
除了手动拖动控制点,我们还可以在属性编辑器里修改
曲线shape节点有数组型属性"cv[*]"
问题引出
如果控制顶点不在删格上的话,数字会很复杂
for cv in cmds.ls("curve1.cv[*]", flatten=True):
p = cmds.xform(cv,query=True,worldSpace=True,translation=True)
print p;
同时,我们还想要以list结构储存,方便再次利用
修改遍历方式
p = []
for cv in cmds.ls("curve1.cv[*]", flatten=True):
c = cmds.xform(cv,query=True,worldSpace=True,translation=True)
p.append([round(c[i],3) for i in range(len(c))])
print p
利用list型数据构建新的曲线
创建曲线的同时,得把shape节点的名称也更改了
def curve_ctrl(point_list, name, degree=1):
crv = cmds.curve(degree=degree, editPoint=point_list, name=name)
shp = cmds.listRelatives(crv, shapes=True)[0]
print(shp)
# rename shape node
cmds.rename(shp, crv + 'Shape')
return crv