MEL/Pythonの連載も4回目です。RedShiftをお待ちの方、すいません・・・
今日からPython(パイソン)です! ってここまでMELの勉強は何だったの・・・と思わないでください。MELはMaya独特のプログラム言語なので、後で困った問題が起きます。
Pythonはここを見てもらうと判りますが、C++とかJava言語とかに並ぶ人気のあるプログラム言語なのです。 なんといってもGoogleで主要に使っていることで有名です。 CGツールでは、Mayaだけでなく、3dsmax、MotionBuilder、NUKE、Blenderなどでも使えて明るい未来があります。
また、計算が速かったり、頂点座標とか大きなデータ(配列といいいます)を使いやすかったり、ネットワークに強いなど、向かうところ敵なし!です(言い過ぎかも・・・)。
ただし、いきなりPythonから入ると文系デザイナーの方は拒絶反応を示すかと思い、まずはMELから説明してきた、という次第なのです。 という訳でPythonは「最初は難しい」のです・・・そこで、ちょっとズルい手を使います。
「highend3d.com」というサイトに「Free ezMel2Python for Maya」というフリーソフトがあるのです。 これはMayaのPythonで作ったツールで、MELプログラムをPython(PyMELという種類のプログラム)になんと自動翻訳してくれるのです。
※ダウンロードにはアカウント作成とログインが必要です。
一旦Mayaを終了して、ドキュメントの「maya」→「バージョン」→「ja_jp」→「script」にダウンロードから解凍したファイルを2つコピーします。拡張子が「~.py」なのがPythonのプログラムです。
Mayaを起動して、スクリプトエディタを「Python」に切り替えます。 そこに以下の2行を入れます。
import ezMel2Python ezMel2Python.ezMel2Python()
シェルフに登録します。この辺の操作はMELと同じです。
登録したボタンをクリックで起動します。
では昨日のMELを用意します。
昨日のものから「//」の説明文(コメント)を取って、さらに人間の操作する不要な行も撮りました。これを翻訳ウインドウの左にコピー&ペーストし、下にあるボタンをクリックします。
すると、右のウインドウに似ている文が出てきました。これがPythonです!
「すごい」と言いたいところですが、フリーソフトですし、みなさんも英語を機械翻訳システムで変換すると意味不明になった経験ありますよね?(Mayaが「マヤ文明」とか) これも若干間違えます。
テキストエディタへ一度ペーストして修正します。
後で解説しますが、MayaのPythonは行の最初に「pm.」が付きます。ですが、この行だけ2回ついてます・・・「pm.pm.cmds」を「pm.」に直します。
これをスクリプトエディタのPythonへコピー&ペーストして、CTRL+Enterして実行します。
復習ですが、下のウインドウが全部消えて上に移ればプログラムは正常でしたね? さらに下のウインドウに以下の命令をキー入力してCTRL+Enterして実行します。
_test3()
ちゃんと昨日同様の結果になりました!これでPython化OKです。
という訳でこのブログでは、
1.MAYAで何か操作する 2.スクリプトエディタでMELを確認する 3.2をテキストエディタへ移して編集する 4.できたMELプログラムをPtyhonに翻訳 5.Ptyhon側で細かく編集して完成→実行
という流れで勉強していきます。とにかく理系的な話はなるべくする気はないので、嫌がらずにお付き合いください。
では、今日はここまでです。