MEL合宿は、MELを楽しく勉強できるように書いていく不定期連載です!!ナンバリングは、合宿らしく「**日目」にしていきます(*´ω`*)b
Maya使いの方々が、退屈な作業はプログラミングでやっつけて、楽しくMayaライフを迎えられるようになれれば!っと思います(`・ω・´)ゞ
はじめに
MELとは「Maya Embedded Language」の頭文字を取った略称で「メル」といいます!Mayaでのみ使用できる「スクリプト言語」というモノになります。
実は、あなたがMayaで行っている殆どの操作がMELで作られています!なので、MELを頑張って勉強して使いこなせるようになると、、、
- いつもやっているお決まりの操作コンボを、1回で済ませられるようになる!
- ミスしがちな作業を自動化して、スマートにやっつける!
- 俺様仕様のインターフェイスを作って、作業しやすくする!
- 何百回も繰り返さないといけないことを、1発でやっつける!
- 数式を使って、手作業では難しいモデリングを作ったり、アニメーションしたりできる!
- ジョイントを直線上に整列したり、Mayaではできないことを可能できる!
などなど、いい事づくしです!(`・ω・´)ゞ
プログラミングを勉強すると、なかなか理解できないこと、うまくいかないことがあるかと思います。けど、簡単なプログラムでも動いた事を楽しんだり、プログラムがスラスラ書けるようになってやりたいことを想像しながら、楽しんでもらえればっと思います!(`・ω・´)ゞ
初めてのMEL
MELは、ゲームの「戦う」「逃げる」といったコマンドと一緒で、「スフィアを作れ!」「動かせ!」といったMayaを操作するために用意された「コマンド」で構成されています(*´ω`*)
1つ1つのコマンドは単純な役割ですが、複数のコマンドを組み合わせることで色々な事ができます!
MELを実際に使うには、2箇所のインターフェイスが用意されているので一個ずつ使ってみましょう∠( ゚д゚)/
Command Line
1つ目は、「Command Line(コマンドライン)」と言われるインターフェイスです。コマンドラインは、Mayaの画面の左下(画像の赤枠の部分)にあります。
コマンドラインは、以下のような作りになっています。
早速、「コマンドライン」を使ってみましょう!コマンドラインの入力欄をクリックして、以下の文章(コード)を入力してください。
polyCube
入力したコードを実行するには、「Enterキー」を押します。すると、Viewportにポリゴンのキューブが作成されます∠( ゚д゚)/
続いて、以下のコードを入力し、Enterキーを押します。
scale 2 2 2
すると、スケールがXYZ軸それぞれ2に設定され、キューブが大きくなりました。
続いて、以下のコードを入力し、Enterキーを押します。
move 0 2 0
すると、グリッドに埋まっていたキューブが、グリッドの上に乗っかるように移動します。
このような感じで、コマンドラインは、1回に1つのコマンドを記述して実行するときに便利なインターフェイスです。
Script Editor
2つ目は、「Script Editor(スクリプトエディタ)」と言われるインターフェイスです。スクリプトエディタは、Mayaの画面の右下のアイコン(画像の赤枠の部分)をクリックすると表示されます。コマンドラインと違い独立したウインドウで、コマンドラインよりスクリプトエディタのほうが使用頻度が高いです!(`・ω・´)ゞ
スクリプトエディタは、以下のようになっています。
早速、「スクリプトエディタ」を使ってみましょう!スクリプトエディタの「MELのタブ」の入力欄に、以下のコードを入力してください。
polyCube; scale 2 2 2; move 0 2 0;
スクリプトエディタで、記述したコードを実行するには「Ctrl+Enter」を押します。すると、コマンドラインでは3回に分けてやったことが、一度でできちゃいます!(*´ω`*)
しかし!
折角スクリプトエディタの入力欄に頑張って書いたコードが消えてしまいました、、、
毎回1から書き直すのは大変ですので、記述したコードを「Ctrl+A」ですべて選択した状態にしてから「Ctrl+Enter」で実行するとコードが消えません(*´ω`*)b
実践!
スクリプトエディタで、以下の手順をプログラミングし「ゆきだるま」を作ってみましょう!
手順
- ポリゴンのスフィアを作成し、スケールを(1.5, 1.5, 1.5)、移動(0, 1.5, 0)をして土台を作ります。
- もう一度ポリゴンのスフィアを作成し、移動(0, 3.5, 0)をして頭を作ります。
ヒント
- 「ポリゴンのスフィア」を作成するコマンドは「polySphere;」です。
- 「スケールを(1.5, 1.5, 1.5)」とは、「scale 1.5 1.5 1.5;」と記述します。
答え
[toggle title=”答えを表示”]polySphere; scale 1.5 1.5 1.5; move 0 1.5 0; polySphere; move 0 3.5 0;[/toggle]
まとめ!
- コマンドラインは、「1度に1つのコマンド」を「Enterキー」で実行できる。
- スクリプトエディタは、「1度に複数のコマンド」を「Ctrl+Enter」で実行できる。
- スクリプトエディタに書いたコードを消さずに実行するには、「Ctrl+A」ですべて選択してから実行する。
- 複数のコマンドを記述するには、行の終わりに「;(セミコロン)」が必要です。
以上、MEL合宿1日目でした!初めてのMELはいかがでしたか!?
「記述ミスでなかなか思うように行かなかった人」「すんなりできた人」色々かと思います。
今回は、コマンドラインと、スクリプトエディタの使い方でしたが、とても大切な内容になっていますのでしっかり覚えていただければと思います(`・ω・´)ゞ
それでは、次回もお楽しみに!!(`・ω・´)ゞ