Pymel使い方

Pymelオブジェクトを取得する

文字列からPymelのオブジェクトを取得するときは、 PyNode コマンドを使用する。
返り値は、指定したノードのオブジェクト

Back To Top

アトリビュートへのアクセス

アトリビュートを操作する場合は、
obj.<アトリビュート名>.コマンド
のように、オブジェクトの後ろにアトリビュートの名前を入れる。
変数にいれた値をアトリビュート名として使いたい場合は
のように、 attr() を使う。

Back To Top

アトリビュートの接続・切断

 

Back To Top

リファレンスを操作する

リファレンスオブジェクトを取得する

fileReferenceのメソッドよく使うもの

_UNKNOWN_REF_NODE_ または sharedReferenceNode かどうか判別する方法

RefNode.referenceFile() の返り値がNoneの場合 は上記2つのうちどちらか。
有効なリファレンスの場合は、referenceFile() の返り値は fileReferenceオブジェクトになる。

ノードがリファレンスかどうか調べる

Back To Top

EnumAttributeを操作する

cmds だと、すこぶるメンドクサイEnum型のアトリビュート操作が Pymelだと楽だったので、忘れないうちにメモ。

内部的には、 EnumDict の内容を  “:”.join(paramList) でくっつけてaddAttr しているらしい。
EnumDictは、その名の通り、Enumの中身をDict型で持っている(そのまんまだね)

Enumの設定・取得まわりをDictやListであれこれできるの素敵。

Back To Top

シェーダーのアサイン方法

シェーダーをアサインするには、シェーディンググループにアサインしたいオブジェクトを入れて上げれば良い。
入れ方は、
pm.sets(shadingEngine名,forceElement=<アサインしたいオブジェクト、またオブジェクトのリスト>)

上のサンプルだと、 pm.ls(sl=True) で選択しているノードをObjに代入して sets に入れているが

のように、アサインしたいオブジェクト名を直接引数に書くこともできる。

Back To Top

コメントを残す

メールアドレスが公開されることはありません。

*