MEL入門
始めに
MEL(Maya Embedded Language)とはMAYAで使用できるスクリプト言語である。
GUIを含むMAYAのほとんどの機能はMELによって作られている。
つまりMAYAのGUIによるメニューで何かを実行すると、その裏で対応するMELのコマンドが実行されている。
ゆえにMAYAを使うということはMELを使うということに等しい。
そしてMAYAでできることはMELによってほぼ何でもできる。
しかし、GUIでも基本的なことは実行できるのに、さらにMELスクリプト(MELによるプログラム)を作れるようになると何が便利だろうか。
- 複数のコマンド(メニュー)による操作を繰り返さなければならない時、コマンド一つでできるようになる。
- GUIのカスタマイズ。
- GUIだけで作ることが難しい大量のオブジェクトのモデリングができる。
- 数式・プログラムによる複雑なモデリングができる。
- メニューに無い独自の機能を追加できる。
- GUIを使わないでモデリング・レンダリングができる。
MAYAプログラミング で勉強すること
ここでは主にMELスクリプトの作り方について学習する。
- 基本的なMELコマンドを覚えて、簡単なスクリプトを書くことができるようにする。
- 独自のGUI(グラフィック・ユーザー・インターフェース)を作る。
- できればMELでパーティクル・ダイナミクスなどの特殊効果を制御する。
MELの概略
MELの文法はC言語とUNIXのシェルスクリプトを合体させたようなものになっている。
また、MELには600以上のコマンドと、75以上の関数がある。
非常に種類が多いが、もちろん全部覚える必要は無い。
最初は基本的なものを覚えて後はマニュアルなどを参照しながら作ってゆけば良い。
MELコマンドの種類は以下の通り。
- シーンコマンド (シーンとその環境を操作するために使われる。 500種類くらいある)
- アドミニストレーションコマンド (ファイル入出力、OSへのアクセスなど)
- ユーザーインターフェースコマンド (GUIをつくる)
- 関数 (配列、カーブ、数学関数、乱数、色変換など)
簡単なMELコマンドの実行方法
MELを実行するための方法には色々あるが、まずは簡単な方法からやってみよう。
コマンドラインからの実行
MAYAウインドウの下にあるコマンドラインにコマンドを入力する方法でMELコマンドを
実行してみよう。
- MAYAを立ち上げる。
- コマンドラインにsphere(Enter)と打ち込む。
コマンドラインにカーソルがでていない場合はマウスによってフォーカスする。
- 半径1の球(Nurbs)がシーンに現れる。
なお、(Enter)キーはキーボードの右端にあるテンキーのものを使うと、いちいちフォーカスをコマンドラインにあわせる必要が無いので便利である。
次に今作られた球を移動してみよう。
- コマンドラインからmove 3 0 0(Enter)と打ち込む。
- 球が(3, 0, 0)の位置に移動する。
- 再びコマンドラインからmove 0 0 3(Enter)と打ち込む。
- 今度は球が(0, 0, 3)の位置に移動する。
また、作られたオブジェクトを回転、拡大・縮小するにはrotate、scaleコマンドを使う。
- コマンドラインからrotate 90 0 0(Enter)と打ち込む。
- 球がX軸方向に90度回転する。
- そしてコマンドラインからscale 1 2 1(Enter)と打ち込む。
- 今度は球がY軸方向に長くなる。
練習
- 上のシーンにもう一つ球を作って、その球もmoveによって適当な位置に移動して、 rotate,scaleを使ってみよう。
そのとき、最初に作った球の状態はどうなっているだろうか?
- 球以外のプリミティブも作ってみよう。
球以外のプリミティブには
cone、 nurbsCube、 cylinder、nurbsPlane、polyTorus
などがある。
- たくさんのオブジェクトを作って、好きなように並べてみよう。
Script Editorによるコマンドの実行
MELを実行するもう一つの方法としてScript Editorを使うことができる。
Script Editorを使用することによって
- まとめていくつかのコマンドを入力することができる。
- エラーがあればScript Editorの上のウインドウに表示される。
- GUIでの操作によってどの様なコマンドが実行されているかわかる。
上側のウインドウに実行されているコマンドが表示される。
- viなどのエディターで作っておいたMELスクリプトを読み込んで実行することができる。
Script Editorにおけるコマンドの実行方法の例
- MAYAを立ち上げる。
- 一番上のメニューバーから によって
スクリプトエディター を表示する。
または、MAYAの右下にあるScript Editorボタン
を押す。
- スクリプトエディターの下のウインドウにコマンドを入力する。
たとえばsphereと入力する。
- スクリプトエディターの上のメニューバーから で実行する。
または、キーボード右端のEnterキーを押して実行する。
- 半径1の球(Nurbs)がシーンに現れる。
練習
- スクリプトエディターの下のウインドウに複数のコマンドを入力して実行させてみよう。
その場合、各行のコマンドの後ろに ; (セミコロン)をつけておくこと。
たとえば、下のウインドウに
sphere;
move 5 0 0;
と打ち込んで キーボード右端のEnterキーを押して実行する。
- GUIの操作によってScript Editorにどんなコマンドが表示されるか確かめよう。
たとえば、マウスを使って球を表示させるとどんなコマンドが表示されるか?
まとめ
- コマンドラインからMELコマンドを実行できる。
- プリミティブを作るコマンドはsphere、cone、 nurbsCube、 cylinder、nurbsplane、polytorusなどがある。
- 移動、回転、拡大・縮小はmove、rotate、scaleで実行する。
- Script Editorによってコマンドが実行できる。
- Script Editorによってマウスによる操作が実際はどんなコマンドによって実行されているかわかる。
- Script Editorにおいてコマンドを複数実行する時は、行の最期に ; をつける。
参考
Next
Home | Contents
abe@injapan.net