はじめに
この記事は、3DCG業界で働くArtist向けのMEL入門記事です。
普段の業務を効率化したいけど、MELの書き方が分からない、調べたけどイマイチ分からなかった、そんな方向けに書きました。
本記事は「MELコマンドのフラグを使う」をゴールとします。
環境
Autodesk Maya 2022.2
前回のあらすじと今回へのつなぎ
前回はスクリプトエディタでMELを記述し実行しました。
MEL開発の環境も良くなったところで、そろそろ少し凝ったMELを書きたくありませんか?
少なくともキューブを生成するのであれば、MELを書くのではなくオペレーションで生成すればいいという話で終わってしまいます。
ということで実践的なMELを書きたいのですが、そのためにはコマンドのフラグというものを知る必要があります。
フラグとはなんぞや?
フラグという名前からはイメージがつきにくいかもしれませんが、
実態としてはオプション設定のようなものに近いです。
polyCube
コマンドを例にすると、キューブを生成する際にキューブの名前を指定できるオプションがあるというようなイメージです。
フラグの文法は下記です。
コマンド名 -フラグ名 フラグとして設定するもの
コマンド本体の記述の後に半角スペースを入れて、-
(ハイフン)とフラグ名を記述。その後ろにまた半角スペースを入れて、フラグとして設定するものを記述、
です。
日本語だとスペース関係が見辛いと思うので、英語版も用意すると、
commandName -flagName flagValue
という感じです。
キューブを生成する際にキューブの名前を指定できるオプション
上記の例だと、実際に実行できるMELとしては
polyCube -name myCube
というような書き方になります。
日本語で表現するなら
ポリゴンのキューブを生成する(オプション設定として、名前はmyCubeにする)
というようなイメージでしょうか。
これを実行して、生成されたCubeの名前が「myCube」となっていれば無事にnameフラグを使えたということになります。
フラグを使ってみる
スクリプトエディタで記述するとこのようになります。
;
を忘れずに記述してください。
実行すると、
やりました!キューブの名前が「myCube」になっています。
フラグが使えるようなったので、MELで実行できることの幅が広くなりました。これは大きな一歩です!
しかし、このフラグ、どうやって調べればいいのでしょうか?
教えてくれる人が常に身近にいるとは限りません。
フラグの調べ方
初心忘るべからずということで、実はヒントは第一回にあります。
実は、Maya公式が出しているMELコマンドリファレンスがあります。
そうです。MELはコマンドリファレンスが公式から出ているので、それを参照すればフラグを調べることできそうです。
MELコマンドリファレンス
さっそくpolyCubeのページを見てみましょう。
どこから見ればいいやらという感じではありますが、必要な箇所だけ参照させてもらいましょう。
フラグの一覧のような記述を見つけました(黃線マーキング部)
-axis, -caching, -constructionHistory ...等たくさんあるようですね。
nameフラグも発見しました。
フラグを探すのは少し大変ですが、よく使用するものはある程度決まっているので、すべてのフラグを暗記するといったようなことは必要ありません。
サンプルコードを試す
コマンドをざっくりと知りたいときは、コマンドリファレンス下部の「MEL 例」にサンプルコードが載っているので試してみると理解が進みます。
サンプルコードの1行目をコピーして、Mayaのスクリプトエディタにペーストするとこのようになります。
ここで新発見が2つあります。
1つは、フラグは複数個にわたって連結して記述できるということです。
半角スペースを入れさえすれば、何個でもフラグを記述することができそうです。
2つは、フラグ名にはショートネームが使えるということです。
1つ目のフラグsxは、コマンドリファレンスでは下記に該当します。
フラグ名としてはsubdivisionsXですが、省略した名前としてsxという書き方もできるんですね。
ちなみに、nameフラグはnというショートネームのようです。
気を取り直して実行してみます。
なにやら細長いキューブが生成されました。
具体的にどんなフラグだったのか一つずつ見ていきましょう
-sx 10
-sy 15
-sz 5
-h 20
本当に正しく設定されているか、チャネルボックスを確認してみましょう。
バッチリでしたね。
終わりに
コマンドのフラグ、かなり情報盛りだくさんだったと思いますが、いかがでしたか?
フラグを扱えるようになれば本当にいろいろなことがMELで実行できるようになります。
焦らず、ゆっくりとコマンドリファレンスを確認してもらえたらと思います。
次回はこちら→【ArtistでもMELが書きたい】Maya MEL入門(5)
参考