[pymel] ExpressionをImport・Exportする

最近、自分のブログ比でみてもCG比率高杉なので CG屋Blogっぽいことになってますね(´Д)

MayaのExpressionEditorはゴミすぎるし、外部エディタ使用はびみょいので 外部で書いたExpressionテキストをImport・Exportするコマンドを書いてみました。

Import

引数に与えたExpressionファイル名でExpressionノードを作成し、
Expressionコマンドをセットします。
すでに同名のExpressionノードが存在する場合は、上書きします。
Expressionのオブジェクトを作成し、asString(cmds)で、後からコマンドをセットすることが出来ます。

fileIOは自分用のファイル書き込みクラスで、やってることは、 openFileして配列に読み込みまで。
ファイル読み込みはOpenCloseをちゃんとしないといけないのと、日本語周りで気を遣わないといけないので、共通のクラスを書いとくと便利です。

Export

選択しているExpressionノードを引数で指定したフォルダに出力します。
ファイル名はExpression名です。
Expressionのコマンドを取得するにはExpObj.getString()

これで、外部のエディタでごりごりExpressionを書いて、Maya上でコマンド実行してExpressionをセットすれば Expressionエディタの呪縛から抜けられるので便利です。
あと、複雑なセットアップを作るときとかに、Expression部分だけ分離してつくるのにも使えます。

そろそろOpenMayaの新しい勉強しようかなぁと思うのですが、なかなかネタが思いつきませぬ...
コンストレインノードの作り方とかでも試してみようかな?

追記
逆引きMayaCommandに 選択しているノードの頭・後ろに文字を追加リネーム を追加。
Blogの検索で、だと MEL 名前 変更 とかだったので、MelのほうがいいのかもですがあえてPymelで(´ω)

コメントを残す

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


*