ウインドウの作り方

MELにおけるGUIと簡単なウインドウ

MayaのGUIにおけるウインドウ(アトリビュートエディターその他)はMELによって作られている。
つまり、MELを使えばGUIのカスタマイズ・独自メニューの作成ができる。

これからMELコマンドや自分で作ったプロシージャを操作するGUIを作ってゆこう。
今回は簡単なスクリプトなのでプロシージャではなくScript Editor → File → Source Scriptで読み込むと、すぐに実行できるようにコマンドをそのまま並べて書いてゆく。

ウインドウの作り方

ウインドウを作るにはwindowコマンドを使用する。
ただしウインドウを実際に表示するためには、windowコマンドに-visible true をつけて実行するか、このコマンドの後でshowWindowコマンドを実行する。

スクリプトの解説

window -title "window1";
ウインドウバーにwindow1というタイトルが表示されたウインドウを作成する。
ただし、この時点では画面には表示されない。
windowコマンドもsphereコマンドなどと同じく作られたオブジェクト(ウインドウ)の名前を返す。 このスクリプトでは返されたウインドウの名前は使っていないが、必要ならばアサインによって変数に代入し、後で使うこともできる。
(-titleの後ろのwindow1はタイトルであってウインドウの名前ではないので注意すること)
showWindow;
windowコマンドで作られたウインドウを表示する。
このコマンドを忘れるとウインドウが表示されない。

ボタンのついたウインドウ

作られたウインドウにボタンなどを配置してゆくには、レイアウトコマンドを使用する。
レイアウトとは部品(ボタンなど)をどのような方法で並べるかを決めるものである。
上から順番に並べてゆくだけなら columnLayoutを使用する。

スクリプトの解説

window -title "window2";
ウインドウバーにwindow2というタイトルが表示されたウインドウを作成する。
ただし、この時点では画面には表示されない。
columnLayout;
レイアウトコマンドの実行。
このコマンドの後に配置されるGUIの部品(ここではbutton)は縦1列に並べられる。
このコマンドからshowWindowまでの間に必要なGUI部品を作るコマンドを実行してゆく。
GUIの部品をウインドウに配置してゆく時にはレイアウトコマンドが必ず必要である。
レイアウトコマンドには他にも様々な種類がある。
button;
ボタンを1つ作る。
コマンドを割り当てていないので押しても何も実行されない。
ボタン上のラベルには、何も指定されていなければbutton1などの文字が表示される。
showWindow;
windowコマンドで作られたウインドウを表示する。
このコマンドを忘れるとウインドウが表示されない。

ボタンにコマンドを割り当てる

ボタンが押された時などに特定のコマンドを実行させるためには-commandフラグを使用する。

スクリプトの解説

window -title "window3";
ウインドウバーにwindow3というタイトルが表示されたウインドウを作成する。
ただし、この時点では画面には表示されない。
columnLayout;
レイアウトコマンド。
このコマンドの後に実行されるGUIの部品(ここではbutton)は縦1列に並べられてゆく。
button -label "sphere" -command "sphere";
ボタンを1つ作る。
このボタンを押すと-commandの後にある"から次の"までに書いてあるコマンドが実行される。 ここではsphereコマンドが実行されてNURBSの球が作られる。
-commandの後ではMELコマンドだけでなく自分で作ったプロシージャも実行できる。
また、2つ以上の複数のコマンドを実行することもできる。 (下の練習問題を参考のこと)
-labelの後にある文字列sphereがボタンの上に表示されるラベルになる。
showWindow;
windowコマンドで作られたウインドウを表示する。
このコマンドを忘れるとウインドウが表示されない。

練習

まとめ

参考


Prev | Next
Home | Contents
abe@injapan.net