【クリカン2017ネタ】リギングヘルプミー:リグの作法②と③の一部を自動化
こんにちは
MayaPython Advent Calender 2017の5日目の記事です。
今回の記事ではクリエイティブカンファレンス2017のセッションのひとつ、リギング ヘルプ ミー 「リガー集まれ~!」の「アセットの共有を円滑にするリグの作法」という発表資料を元に、作法の一部を自動化してみました。
作法② 骨のラベリング
まずは29スライド目「作法② 骨のラベリング」です
選択したジョイントに対して動作します。
※以下のコードでは対称なジョイント名にLeft/Rightという文字列が含まれている場合にのみ対応しています。
# -*- coding: utf-8 -*-
import maya.cmds as mc
selected = mc.ls(sl=True, type='joint')
for i in selected:
label_name = None
side_type = 0
if 'Left' in i:
label_name = i.replace('Left', '')
side_type = 1
elif 'Right' in i:
label_name = i.replace('Right', '')
side_type = 2
else:
label_name = i
side_type = 0
mc.setAttr(i + '.side', side_type)
mc.setAttr(i + '.type', 18)
mc.setAttr(i + '.otherType', label_name, type='string')
作法③ 初期ポーズの登録
次は33スライド目「作法③ 初期ポーズの登録」です。
スクリプトを走らせた時点の値をinit_~~
に登録します。
# -*- coding: utf-8 -*-
import maya.cmds as mc
selected = mc.ls(sl=True, type='transform')
for i in selected:
tx = mc.getAttr(i + '.translateX')
ty = mc.getAttr(i + '.translateY')
tz = mc.getAttr(i + '.translateZ')
rx = mc.getAttr(i + '.rotateX')
ry = mc.getAttr(i + '.rotateY')
rz = mc.getAttr(i + '.rotateZ')
mc.addAttr(i, ln='init_translateX', at='float', dv=tx)
mc.setAttr(i + '.init_translateX', e=True, keyable=False, lock=True)
mc.addAttr(i, ln='init_translateY', at='float', dv=ty)
mc.setAttr(i + '.init_translateY', e=True, keyable=False, lock=True)
mc.addAttr(i, ln='init_translateZ', at='float', dv=tz)
mc.setAttr(i + '.init_translateZ', e=True, keyable=False, lock=True)
mc.addAttr(i, ln='init_rotateX', at='float', dv=rx)
mc.setAttr(i + '.init_rotateX', e=True, keyable=False, lock=True)
mc.addAttr(i, ln='init_rotateY', at='float', dv=ry)
mc.setAttr(i + '.init_rotateY', e=True, keyable=False, lock=True)
mc.addAttr(i, ln='init_rotateZ', at='float', dv=rz)
mc.setAttr(i + '.init_rotateZ', e=True, keyable=False, lock=True)
まとめ
私は冒頭で紹介したセッションに参加し、そこで初めて骨のラベリングや初期ポーズという作法を知りました。ラベリングも初期ポーズも普段は全く意識していなかった箇所なので非常にタメになりました。
また、BACKBONE様単独でのセミナーも開催されるということなので、そちらも是非参加したいと思います。
Author And Source
この問題について(【クリカン2017ネタ】リギングヘルプミー:リグの作法②と③の一部を自動化), 我々は、より多くの情報をここで見つけました https://qiita.com/amanatsu-knit/items/dcae64b1fed2a65e797d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .