0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【ArtistでもMELが書きたい】Maya MEL入門(4)【フラグ】

Last updated at Posted at 2023-01-29

はじめに

この記事は、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フラグを使えたということになります。

フラグを使ってみる

スクリプトエディタで記述するとこのようになります。
;を忘れずに記述してください。
MEL_learning01.png
実行すると、
MEL_learning02.png
やりました!キューブの名前が「myCube」になっています。

フラグが使えるようなったので、MELで実行できることの幅が広くなりました。これは大きな一歩です!
しかし、このフラグ、どうやって調べればいいのでしょうか?
教えてくれる人が常に身近にいるとは限りません。

フラグの調べ方

初心忘るべからずということで、実はヒントは第一回にあります。

実は、Maya公式が出しているMELコマンドリファレンスがあります。

そうです。MELはコマンドリファレンスが公式から出ているので、それを参照すればフラグを調べることできそうです。
MELコマンドリファレンス

さっそくpolyCubeのページを見てみましょう。
MEL_learning03.png
どこから見ればいいやらという感じではありますが、必要な箇所だけ参照させてもらいましょう。
MEL_learning04.png
フラグの一覧のような記述を見つけました(黃線マーキング部)
-axis, -caching, -constructionHistory ...等たくさんあるようですね。
MEL_learning05.png
nameフラグも発見しました。

フラグを探すのは少し大変ですが、よく使用するものはある程度決まっているので、すべてのフラグを暗記するといったようなことは必要ありません。

サンプルコードを試す

コマンドをざっくりと知りたいときは、コマンドリファレンス下部の「MEL 例」にサンプルコードが載っているので試してみると理解が進みます。
MEL_learning06.png
サンプルコードの1行目をコピーして、Mayaのスクリプトエディタにペーストするとこのようになります。
MEL_learning07.png
ここで新発見が2つあります。

1つは、フラグは複数個にわたって連結して記述できるということです。
半角スペースを入れさえすれば、何個でもフラグを記述することができそうです。

2つは、フラグ名にはショートネームが使えるということです。
1つ目のフラグsxは、コマンドリファレンスでは下記に該当します。
MEL_learning08.png
フラグ名としてはsubdivisionsXですが、省略した名前としてsxという書き方もできるんですね。

ちなみに、nameフラグはnというショートネームのようです。
MEL_learning09.png

気を取り直して実行してみます。
MEL_learning10.png
なにやら細長いキューブが生成されました。
具体的にどんなフラグだったのか一つずつ見ていきましょう

-sx 10

MEL_learning08.png
X方向のサブディビジョンを10に設定しています。

-sy 15

MEL_learning11.png
Y方向のサブディビジョンを15に設定しています。

-sz 5

MEL_learning12.png
Z方向のサブディビジョンを5に設定しています。

-h 20

MEL_learning13.png
高さを20に設定しています。

本当に正しく設定されているか、チャネルボックスを確認してみましょう。
MEL_learning14.png
バッチリでしたね。

終わりに

コマンドのフラグ、かなり情報盛りだくさんだったと思いますが、いかがでしたか?
フラグを扱えるようになれば本当にいろいろなことがMELで実行できるようになります。
焦らず、ゆっくりとコマンドリファレンスを確認してもらえたらと思います。

次回はこちら→【ArtistでもMELが書きたい】Maya MEL入門(5)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?