資料
動画のトピックス
・リガーに必須!NURBS!
・リボンリグって何よ?
・実際に作ってみよう
・事例紹介:GDCの講演から
動画内で作業を効率的に行うために作ったコード
from maya import cmds
#Dash
#l(5.0, -5.0)
# jointOrient 0 0 0
joints = cmds.ls(selection=True, type="joint")
for joint in joints:
cmds.setAttr("{}.jointOrient".format(joint), 0.0, 0.0 ,0.0)
# リネーム
nodes = cmds.ls(selection=True)
for i, node in enumerate(nodes):
cmds.rename(node, "ribbon_ctrl{}".format(i))
# 親空間を作成する
nodes = cmds.ls(selection=True)
for node in nodes:
joint = cmds.createNode("joint", name=node.replace("_ctrl", "_ctrlSpace"), parent=node)
cmds.parent(joint, world=True)
cmds.parent(node, joint)
cmds.setAttr("{}.drawStyle".format(joint), 2)
# 選択したノードの子にジョイントを作成する
nodes = cmds.ls(selection=True)
for i, node in enumerate(nodes):
cmds.joint(node, name="ribbon_bindJoint{}".format(i))
cmds.setAttr(".radius", 0.2)
# コントローラーを作成する
nodes = cmds.ls(sl=True)
for node in nodes:
circle = cmds.circle(ch=False, radius=0.4)[0]
circle_shape = cmds.listRelatives(circle, shapes=True)[0]
cmds.parent(circle_shape, node, r=True, shape=True)
# drawStyleをNoneにする
nodes = cmds.ls(selection=True, type="joint")
for node in nodes:
cmds.setAttr("{}.drawStyle".format(node), 2)
コメント