アトリビュート関係のツールを作る時、アトリビュートの初期値が分かったら便利だなーって思ったことありませんか!?
初期値がわかったら、
キーの打ち忘れにキーを設定してあげるサポートツールとか、、、
必要のないキーを削除するクリーンアップツールとか、、、
アトリビュート値を元に戻してあげるリセットツールとか、、、
色々アイディアが
出てきますよね
(゚∀゚)
アトリビュートの初期値を調べるには、「attributeQuery」を使えば簡単です!!(`・ω・´)ゞ
cmds.attributeQuery(アトリビュート名, n=ノード名, ld=True)
例えば、指定されたノードのアトリビュートが初期値か調べる関数「isStaticValue」を作ってみると、こんな感じになると思います!
from maya import cmds def isStaticValue(node, attr): default = cmds.attributeQuery(attr, n=node, ld=True) if type(default) == list and len(default) >= 1: default = default[0] current = cmds.getAttr('%s.%s' % (node, attr)) if type(current) == list and len(current) >= 1: current = current[0] return (default != current)
attributeQueryでデフォルト値を調べて(A)、getAttrで現在の値を調べ(B)、(A)と(B)を比較する流れです。
これを使えば、変更済みなら「True」、変更していなければ「False」が返ります(*´ω`*)b