文系デザイナーのためのmaya MEL/Python基礎の基礎②

先週の続きです。まずは今週の便利なMELツールの紹介です。



ダウンロードして解凍すると、このようなファイルがあります。「Help.png」があるので開いてみます。


どうやらマニュアルのようです。「1」はドキュメントのmaya→prefs→iconsに「icons」の中身を入れなさい、とあります。ここでMayaは起動してはいけません。
ここで注意なのですが、日本語版Mayaの場合は、ja_JP→prefs→iconsなのです。

「2」はmayaを起動して、スクリプトエディタでFile→LoadScriptでMELを選びなさい、とあります。

「3」でFile→Save Script toSelfを実行します。

名前を付けます。「Mesure」にしておきます。

わざとやったのですが、実は5文字しか表示できません。
右クリックから「編集」します。

前回と同じく「アイコン名」のフォルダアイコンをクリックすると、フォキュメンとの「icons」フォルダに行くので「4」にあるように「K_MeasureTool_SHELF_ICON.png」を選びます。起動アイコンができますからクリックしてみてください。

これで今日のMeasureToolsは起動できました。この手順がほぼ正しいMELの登録方法です。

このツールは頂点モードで2点を選ぶと長さを図ってくれたり、その値をオブジェクト上に配置できます。インチ、フィート、ヤードの換算もついてます。ゴミ箱で消せるのも嬉しいですね。

「スケール合ってるのかな?」という時、便利ですね。
ネットでダウンロードできるMELのツールは大体この方法で設定できますのでチャレンジしてみてください。

さて今日はプログラムを書いてみましょう。まず、今日の「MeasureTool_v1_1.mel」をテキストエディタで開いてみましょう。
MeasureToolをダウンロードして設定してない人はやらないで読み進めてOKです。

600行も意味不明な呪文が出て来ます・・・いえいえ、怖がらないでちょっとよく見ると、
proc ?????()
{
?????????
}
みたいな箇所がいくつかあります。

プログラムとはコンピュータ(この場合はmaya)へ命令します。
適当に言っても理解してくれません。ルールが必要なのです。

「命令」とは先週やりましたが、Mayaの操作はすべて命令なのでしたね?

前回もやりましたがスクリプトエディタを綺麗にしておきます。
では、プリミティブのポリゴン箱を出して、Xに3移動して、ハイパーシェードでBlinnで赤くしてください。

上のウインドウに、なんかたくさん書かれています。
最初にある「CreatePolygonCube;」の次の行以降をハイライトしてコピーします。
Mayaを「新規」にしてスクリプトエディタの下のウインドウにペーストしてCTRL+Enterしてください。

すると、箱が勝手に出て、X=3、でBlinnで赤くなってます。スクリプトエディタは上の段がMayaが何をしているか、されたか、を記録しているのです。それ自体がMELなのです。
新規作成して、そのMELを下のウインドウで実行すれば、どんなに長い手順でも一瞬で実行してしまいます。

// 結果: pCube1 polyCube1 //」の行はMayaが「やったよ」と報告しているのです。
そもそも「//」というのが最初にあるのは命令ではないのです。
それを全部削除して、先程話をした、proc test() { }を書き入れます。


これでMELの完成です。testはなんでも構いません。これを「test.mel」で保存します。

Mayaを再度新規作成し、できた「test.mel」をスクリプトエディタへドラッグして、CTRL+Enterします・・・何も起きないですが、下のウインドウが綺麗になったのでプログラムは正解です。

図のように「test;」(セミコロン)とキー入力してCTRL+Enterします。すると赤い箱がX=3で出ます。

プログラム自体の意味は良く解らなくても結構です。MayaはMELの命令を1つ1つ実行します。それを人間がやっても無駄です。なので命令を複数書いた行を以下のルールで書くのです。

proc 自分で作った新しい命令() {
MEL命令1;
MEL命令2;
MEL命令3;
 :
 :
}

するとMayaは設定された命令通りに手間のかかる作業を一気に実行するのです。
今日はここまでです。次回は1つ1つの命令の意味を説明します。