簡単なスクリプト
MELスクリプトとは
MELコマンドはファイルに書いておくと Script Editor から読み込むことによって何度でも実行できる。
このファイルに書き込んである MELコマンドを MELスクリプトと言う。
ファイルに書いておけば、そのファイルを消さない限り MAYA に読み込むことによって何度でも同じコマンドを実行できるし、後で必要に応じて書き換えてゆくことによって違う処理を実行することができる。
そして、後で学習するように変数、制御構造などを使用することによって複雑な処理を行うプログラムを作ることができるようになる。
(MELスクリプトの文法は C言語に似ている)
また、MELのスクリプトはファイル名を変えれば同じディレクトリ(フォルダー)に、いくつでも作っておくことができる。
作業用のディレクトリ(フォルダー)作成
これから授業を進めてゆく時の作業用ディレクトリとしてホームの下に mel という名前のディレクトリを作成しておこう。
(以下の % はコマンドプロンプトである)
% cd ← ホームディレクトリへ移動(すでにホームディレクトリにいる場合は必要無し)
% mkdir mel ← mel ディレクトリを作る
% cd mel ← mel ディレクトリに移動(以後この中で作業をする)
以後の授業で作成する MEL スクリプトはすべてこの mel ディレクトリの中に作るようにすること。
スクリプトを作ってみる
スクリプトの作り方と実行例
- まず、mel ディレクトリの中に test.mel というファイルをエディター(vi)によって作る。
% vi test.mel
- ファイル(test.mel)の内容は、以下のように書いておく。
sphere;
scale 1 3 1;
- ファイルをセーブ(:wq)して vi を終了する。
- Script Editor から test.mel を読み込んで実行する。
そのためには以下の2種類の方法がある。
- Open Script による方法
- Script Editor の によってファイルを読み込む。
- 読み込んだスクリプトが Script Editor の下のウインドウに表示される。
- 必要ならば読み込んだスクリプトを書き換える。
- テンキーにある Enter キーで実行する。
- Source Script による方法
Script Editor の によってファイルを読み込む。
この方法では読み込まれると同時にファイルの中身(MELスクリプト)が実行される。
MELスクリプトをただちに実行したい時はこの方法が便利である。
- y軸方向に長くなった球が表示される。
スクリプトの保存方法
Script Editor 内に表示されているコマンドをファイルに保存することができる。
保存しておいたファイルは上記の方法によっていつでも実行できる。
- すでに MAYA が立ち上がって、Script Editor が表示されているとする。
- Script Editor の上または下のウインドウに表示されているコマンドで保存したい部分をマウスで選択する。
ちなみに、マウスのダブルクリックで1単語分、3回クリックで1行分、4回クリックでウインドウ全体を選択できる。
- Script Editor の によってファイルに保存する。
保存するファイル名は最後に .mel をつけた名前にする。
(たとえば tmp.mel)
Script Editor の メニュー
Script Editor のメニューについて一通り説明しておこう。
-
- Script Editor の下のウインドウに読み込んだ MEL スクリプトを表示する。
-
- 読み込んだ MEL スクリプトを実行する。
-
- Script Editor 上で選択された MEL スクリプトをファイルに保存する。
-
- Script Editor 上で選択された MEL スクリプトを Shelf に登録する。
マウスのドラッグ・アンド・ドロップによっても同じことが可能である。
-
- 下のウインドウに表示された MEL コマンドを全部選択する。
-
- ヒストリーウインドウ(Script Editor の上のウインドウ)のクリア。
-
- インプットウインドウ(Script Editor の下のウインドウ)のクリア。
-
- ヒストリーおよびインプットウインドウ(Script Editor の上下のウインドウ)のクリア。
-
- 下のウインドウに表示されている MELコマンド(スクリプト)を実行する。
テンキーの Enter キーによって実行するのと同じである。
-
- チェックしておくと実行されたMELコマンドをすべてヒストリーウインドウに表示する。
GUI(マウス)によって実行されたMELコマンドがすべて表示されるようになる。
-
- チェックしておくとMELスクリプトなどにエラーがあった場合、エラーのあった行番号を表示する。
MELスクリプトのデバッグに便利なので必ずチェックしておくこと。
これをチェックしておくと、以下の図のようにエラーのある行数が表示される。
上の図では、2行目(line 2)にエラーがあるのがわかる。
エラーメッセージの Cannnot find procedure "moove" というのは、
そのようなコマンド(moove)は存在しないという意味である。
-
- チェックしておくと不明のコマンド・プロシージャーなどがあった場合、エラーのトレース結果を別ウインドウに表示する。
練習
- 上のスクリプト (test.mel) の内容を色々書き換えて実行してみよう。
たとえば move、scale、rotate や cone その他のプリミティブを作るコマンドを付け加えてみよう。
(各行の最後に ; (セミコロン) を忘れないように)
- Script Editorで読み込んだコマンドを Script Editor 内で書き換えて実行してみよう。
プリミティブの種類を変えたり、位置や大きさを変えてみよう。
- 次に書き換えたスクリプトを別のファイルに保存してみよう。
保存したファイルを vi で適当に書き換えて、もう一度 Script Editor で読み込んで実行してみよう。
まとめ
- MELコマンドを書き込んだファイル (MELスクリプト) を後から読み込んで実行できる。
- MELスクリプトのファイル名には最期に .mel をつけておく。
- Script Editor に表示されているコマンドは MELスクリプトに保存することができる。
練習課題
参考
Prev | Next
Home | Contents
abe@injapan.net