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 コマンドを
実行してみよう。
なお、以下において (Enter)キーはキーボードの右端にあるテンキーのものを使うと、いちいちフォーカスをコマンドラインにあわせる必要が無いので便利である。
- MAYA を立ち上げる。
- コマンドラインに sphere(Enter) と打ち込む。
(コマンドラインにカーソルがでていない場合はマウスによってフォーカスすること。)
- 半径1の球(Nurbs)がシーンに現れる。
次に今作られた球を移動してみよう。
- コマンドラインから move 3 0 0(Enter) と打ち込む。
- 球が(3, 0, 0)の位置に移動する。
- 再びコマンドラインから move 0 0 3(Enter) と打ち込む。
- 今度は球が(0, 0, 3)の位置に移動する。
また、作られたオブジェクトを回転、拡大・縮小するには rotate、scale コマンドを使う。
- コマンドラインから rotate 0 45 0(Enter) と打ち込む。
- 球がY軸方向に45度回転する。
- そしてコマンドラインから scale 1 2 1(Enter) と打ち込む。
- 今度は球がY軸方向に長くなる。
練習
- 上のシーンにもう一つ球を作って、その球も move によって適当な位置に移動して、 rotate,scale を使ってみよう。
そのとき、最初に作った球の状態はどうなっているだろうか?
- 球以外のプリミティブも作ってみよう。
球以外のプリミティブには
cone、 nurbsCube、 cylinder、nurbsPlane、torus, polyTorus
などがある。
- たくさんのオブジェクトを作って、好きなように並べてみよう。
Script Editorによるコマンドの実行
MEL を実行するもう一つの方法として Script Editor がある。
Script Editor を使用することによって以下のような利点がある。
- まとめていくつかのコマンドを入力することができる。
- エラーがあれば Script Editor の上のウインドウに表示される。
- GUI での操作によってどの様なコマンドが実行されているかわかる。
上側のウインドウに実行されているコマンドが表示される。
- vi などのエディターで作っておいた MELスクリプトを読み込んで実行することができる。
Script Editor におけるコマンドの実行例
- MAYA を立ち上げる。
- 一番上のメニューバーから によって
スクリプトエディター を表示する。
または、MAYAの右下にあるScript Editorアイコン
を押す。
- スクリプトエディターの下のウインドウにコマンドを入力する。
たとえば sphere と入力する。
- 以下のいづれかの方法でコマンドを実行する。
- スクリプトエディター上のメニューバーから で実行する。
- Ctrl + Enter キーを押す。
- キーボード右端の Enter キーを押す。
上のウインドウに作られた球の名前(nurbsSphere1, makeNurbsSphere1)が表示される。
- 半径1の球(Nurbs)がシーンに現れる。
練習
- スクリプトエディターの下のウインドウに複数のコマンドを入力して実行させてみよう。
その場合、各行のコマンドの後ろに ; (セミコロン)をつけておくこと。
たとえば、下のウインドウに
sphere;
move 5 0 0;
と打ち込んで キーボード右端の Enter キーを押して実行する。
ただし、最期の行( move 5 0 0; )の後ろの ; は省略できる。
- GUI の操作によって Script Editor の上のウインドウにどんなコマンドが表示されるか確かめよう。
たとえば、GUI のメニューから
によって
球を作ると、どんなコマンドが表示されるか?
まとめ
- MEL コマンドの実行方法には以下のものがある。
- Script Editor によって GUI による操作が、どのような MEL のコマンドによって実行されているかわかる。
- Script Editor においてコマンドを複数実行する時は、行の最期に ; をつける。
- プリミティブを作るコマンドはsphere、cone、 nurbsCube、 cylinder、nurbsplane、torus, polyTorusなどがある。
- 移動(Translate)、回転(Rotate)、拡大・縮小(Scale)は move、rotate、scale で実行する。
参考
Next
Home | Contents
abe@injapan.net