はじめに
この記事は、3DCG業界で働くArtist向けのMEL入門記事です。
普段の業務を効率化したいけど、MELの書き方が分からない、調べたけどイマイチ分からなかった、そんな方向けに書きました。
本記事は「複数のMELコマンドを同時に実行する」をゴールとします。
環境
Autodesk Maya 2022.2
前回のあらすじと今回へのつなぎ
前回はコマンドラインを用いて、nurbsCube
やpolyCube
コマンドを実行しました。
MELコマンドが実行できたのはいいのですが、一回の実行で一つのコマンドしか実行できないというのは少々不便です。
例えば、一回の実行でNURBSのキューブとポリゴンのキューブの二つを生成するとしたら?現状はできませんよね。
少なくとも、有志の方がネット上で配布されているMELはワンクリックで様々な自動処理がすべて実行される類のものが多いかと思います。
複数のコマンドを同時に実行するには?
ものは試しということで、コマンドラインに二つのコマンドを一緒に入れて実行してみましょう。
nurbsCube polyCube
実はMELを書く際には守らなければいけない文法が存在します。
今の書き方はMELの文法に反しているのです。
間話 文章の読みやすさ
ここで一つ例え話をします。
私は今日パンを食べましたお腹が膨れたら眠くなったので仮眠をとりました30分後に起きて明日の宿題をやり始めました
上記の文章を読んでなにか感じることはありますか?
そうです。読みにくいですね。
読みにくい原因は様々あると思いますが、一番の要因は句点(。)がないことだと思います。
私は今日パンを食べました。お腹が膨れたら眠くなったので仮眠をとりました。30分後に起きて明日の宿題をやり始めました。
句点を入れると上記のようになります。
多少は読みやすくなりましたね。
ということで、
文章は意味の区切りで分割することでより認識しやすくなる事がわかるかと思います。
意味の区切りで分割するという概念はMELにも存在します。
MELで意味の区切りを分割するには
MELでは意味の区切りを;
(セミコロン)で表現します。
たとえば
nurbsCube;polyCube;
上記のテキストはnurbsCube;
とpolyCube;
の二つに分割できていることになります。
なので、端的に言ってしまえば、
nurbsCube polyCube
は二つのコマンドが分割されていなかったので、文法として違反しているよというエラーが出たというわけです。
正しい文法で再度実行してみる
シーンビューでは成功しているかが確認しづらいため、アウトライナで確認しましょう。
NURBSのキューブとポリゴンのキューブがそれぞれ生成されています。成功です。
つまり、
nurbsCube;polyCube;
は正しい文法で書けていたということになります。
MELで守らなければいけない文法
MELはいくら簡単とはいえプログラムです。
先程の;
を用いた意味の分割のような文法がいくつか存在します。
ここですべてを紹介することはしませんし、把握する必要もありません。
おわりに
少しプログラミングチックになってきて、めんどくさいなと思った方がいるかもしれません。
ですがそこまで滅入る必要はありません。
最初からすべてのルールを把握している人などいないのです。
大切なのはエラーが起きたときに、原因を見つけ出すことにあります。
最初のうちはあまり深く考えずに、そういうものという認識でMELを書くことをおすすめします。
MELを書くことが嫌いになっては元も子もありませんからね。
次回はこちら→【ArtistでもMELが書きたい】Maya MEL入門(3)
参考