日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年12月21日月曜日

ウインドウの作成(まとめ): GUIの基礎

ここ2週間ほどでGUIに関して最低限、必要なMelの知識について調べてきた。

これまでの関連エントリをリストすると以下のようになる。
ウインドウの作成
ウインドウの作成(2): ボタン
「グローバル・プロシージャ」と「ローカルプロシージャ」の違い
プロシージャの保存場所
プロシージャの保存場所 (まとめ)
ウインドウの作成(3): -command 「プロシージャ」の実行


以上のことから、自分なりにGUI作成上の考え方を順番にまとめてみた。



----------------------------------------
1)プロシージャの準備:

まず何を実行するかだが、
スクリプト・ファイルに保存したプロシージャを実行することにした。

testCube.melというファイルを作成し、以下のプロシージャを書いた。

global proc testCubeA()
{
polyCube;
move 0 0 2;
}


このファイルの保存場所は「M:\MelOnUSB」で、
すでに「Maya.env」ファイルには「MAYA_SCRIPT_PATH=M:\MelOnUSB」として指定してある。

念のため、スクリプト・エディタにて「createNsphere」と入力後Enterキーを押してプロシージャが動作することを確認。

----------------------------------------
2)ウインドウの準備:
以下の内容から成り立つ。

ウインドウが存在する場合は削除する。
ウインドウの作成
ウインドウを表示。


{
if(`window -exists movePcube`)
deleteUI movePcube;


window movePcube;


showWindow;
}

----------------------------------------
3)ウインドウへコントロール(例:ボタン)を追加:
これは以下の内容から成り立つ。

ウインドウへボタンを追加できるようにレイアウトを作成。
(Tips: いつもwindowコマンドの後に一つ以上のレイアウトを追加する)
ボタンを追加。
ボタンが押されたら上記のプロシージャが実行できるようにする。

columnLayout;
button -label "makeCube" -command "testCubeA";

--------

これを上記ステップ2で作ったウインドウへ組み込む。

{
if(`window -exists movePcube`)
deleteUI movePcube;


window movePcube;


columnLayout;
button -label "makeCube" -command "testCubeA";


showWindow;
}


以上でボタンを押せばポリゴン・キューブが作成されるウインドウを表示できる。


----------------------------------------

ステップを整理してみるとGUIを作成するという作業の要点はウインドウ自体を作ることではなく、ほとんどがコントロールの追加に関係していることがわかる。

コントロールに関して重要なポイントからリストすると

●追加するコントロールの選択
●コントロールをプロシージャへリンクする。
●コントロールの配置(レイアウト)

そしてメインとなる機能は、プロシージャを作成することである。

ようするにGUIを含めてMelスクリプトを作るときの作業は大別して以下の二つのみ。

1)プロシージャの作成
2)コントロールの選択とリンク

これが注意をはらうべきメインの作業である。

0 件のコメント:

コメントを投稿