2019年5月27日月曜日

mayaLTでもPythonでできることはPythonで

mayaLT の python コマンドでは、どこまでできるのか?
とりあえず maya.OpenMaya はインポートできました。
さすがに pymel は使えませんでしたが、サポート対象外だからでしょうね。

C:\Program Files\Autodesk\MayaLT2019\Python\Lib\site-packages の中身を調べれば何となく使えるものが分かるかもです。
まぁ、デバッグが大変そうなので mayaLT でそんな深いとこまで触ることは無いと思いますが。


2019年5月20日月曜日

mayaLTでPythonを実行する

mayaLT では Python スクリプトが使えない事になっています。
が、MEL には Python を実行するためのコマンドが存在していたりするのです。

その名も pythoncallPython

mayaLT の MELコマンドドキュメントには記載されていませんが、python コマンドの方は問題なく使えるようです。
まぁ callPython は値を返さないコマンドらしいので使えなくても問題ないですけどね。

2019年5月13日月曜日

Pythonで配列番号付きのリストを表示させる

デバッグでは配列に何が入っているのかを表示させるスクリプトを書くことが多いです。
それをPythonで書いてみようと思って調べていると、なかなか衝撃的なことが出てきました。
Pythonでは ++ や -- みたいなインクリメント・デクリメント演算子が使えないようです。
まぁ、前置・後置とかを考えなくて済むから楽といえば楽なのですが、なかなか衝撃的です。
i += 1 とか i -= 1 は使えるみたいなのでこちらで考えるように思考をかえないといけませんね。

2019年4月8日月曜日

MayaのスクリプトエディタでPythonを実行する

PythonスクリプトをMELのようにスクリプトエディタで実行してみるテスト。
サンプルの.melファイルと.pyファイルはこんな感じのこんにちは表示。

2019年4月1日月曜日

nodeGraphEditorInfoノードを削除するスクリプト

nodeGraphEditorInfoの投稿は、けっこうコンスタントに閲覧されているみたいです。
興味のある人が多いわりにネット上に情報が無いのでしょうかね。
需要もありそうなのでスクリプトを作成してみました。
メリイさんに「いまごろ?」と、つっこまれそうですけど・・・。

tryDeleteNode.mel

tryDeleteNode("nodeGraphEditorInfo");
と、ノードタイプを引数にして実行すると、シーン内の指定したタイプのノード全てでソース側の接続を解除してから削除します。
"imagePlane"とか"cameraView"とかゴミみたいなノードも簡単に削除できるかな?