【MEL基本】Windowコマンドについて

MelWindowExp02.jpg

【MEL基本】ボタンで機能を実行するMELを書く
の記事で作成したMEL。今回はウィンドウの作り方など、Windowコマンドについて少し説明します。

括弧を除いた最初の2行の説明です。(最後のほうのshowWindowもですね・・・)




ウィンドウの作成

何もない単なるウィンドウは、

window;
showWindow;

のみ。これを実行するだけで作成、表示することが出来ます。
MelWindowExp03.jpg
作成と表示。
実際はボタンなどのコマンドを間に書きますが、セットで使うと覚えてしまっていいと思います。

ただし、このままでは、実行するたびにどんどん作成されてしまいます。
MelWindowExp04.jpg

これだとちょっと不便なので、すでに表示されている場合は一旦消してから、新しく表示するという仕組みにします。



UIに名前をつける

消すための準備です。何を消すか指定できるようにするため、作成するウィンドウに名前をつけます。
window の後に、好きな名前をつけます。

window AriWindowTest;
showWindow;

MelWindowExp06.jpg
その名前のウィンドウが作成されます。

好きな名前をつけられますが、半角英字で、
Maya全体でかぶらないようにしてください。

タイトルバーには、また別に好きな名前をつけられるので、今のところはかぶらない半角英数字を最優先で。
(最初に数字使えないとか記号はアンダーバーだけとかありますが、説明長くしたくないのでなんとなく察してください。)

●今は読まなくてもいいコーナー●
Windowだけでなく、UI系のコマンドには、同じようにコマンドの最後に固有の好きな文字を書くことで、UI自体に名前をつけることができます。
ボタンとかも後でサイズ変えたい色変えたい。とか後で何かしたいことがある場合、名前が必要だったり、必要じゃなかったり。



UIを消す

deleteUI AriWindowTest;

deleteUIというコマンドで、消したいUIの名前を指定することで、UIを消すことが出来ます。

MelWindowExp07.jpg

スクリプトエディタの コマンド>新規タブ でタブを増やすと、複数のMELを書くのにわざわざ消さなくてすむので便利です。
MelWindowExp08.jpg
私の場合増やしすぎで恥ずかしいです。管理できてない証拠。



存在するときだけ消す

deleteUI コマンドは、そのUIがないのに実行してしまうとエラーになってしまいます。
そこで、AriWindowTestという名前のウィンドウが存在する場合だけ、ウィンドウを削除するコマンドを実行したいわけになるわけです。
こまごました説明無しに一気に書きます。

if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window AriWindowTest;
showWindow;


もはや意味わからないのは最初の行の最初だけですね?
MelWindowExp09.jpg

この部分。「もしAriWindowTestという名のWindeowが存在したら」という意味です。
今回詳しい説明省きますが、「存在するときだけ、後に続くdeleteUI AriWindowTest;を実行する」という形になってるのです。

存在したら、消してから、2行目以降に書いてあるウィンドウを作成するし、
存在しなかったらdeleteUIは実行せずに、ウィンドウを作成を行う。
つまりそういうことなんです。

飛ばしすぎてすみません。



まとめ

if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window AriWindowTest;
showWindow;

最初のうちは深く考えず、コピぺで、この3箇所だけ固有の同じ名前にしとけばいいと思います。

MelWindowExp10.jpg
そうすれば、どんどんウィンドウが作成されることはなくなります。



タイトルバーの名前をつける

最後に、タイトルバーに好きな名前をつけましょう。今はウィンドウのUI名になっちゃってますね。

window のフラグ -title (-t)を使用して、 " "の中に好きなタイトルをつけて今回は終了です。


if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window -t "ここは日本語でもOK好きなタイトル" AriWindowTest;
showWindow;


MelWindowExp11.jpg
UI名はAriWindowTestのまま、タイトルの表示が変わっただけです。念のため。

最初に書いたコードだとここは-tではなくロング名の -title になってますが、ご存知のとおり同じです。




テーマ : 3DCG
ジャンル : コンピュータ

tag : Maya, MEL, MEL基本, UI, カスタマイズ,

コメントの投稿

非公開コメント

カテゴリ
おすすMEL1
UV格子状整列 AriUVGridding03.gif

UV解像度チェック AriUVScaleChecker01.gif
月別アーカイブ
おすすMEL2
リネーマー AriRenamer01.gif

置換/配置 AriAssetChanger01.gif
タグ

Maya MEL モデリング MEL更新 Mayaあるある UI カスタマイズ データ管理 数値設定 UV ~がない モデリングツールキット リネーム マテリアル バグ? MEL基本 つぶやき ホットキー 新機能 アニメーション リトポロジー テクスチャ アンケート 頂点カラー 更新 カメラ Rig レンダリング ZBrush 記事まとめ スクリプト 

記事一覧

全ての記事を一覧

アクセスランキング
[ジャンルランキング]
コンピュータ
60位
アクセスランキングを見る>>

[サブジャンルランキング]
デザイン
2位
アクセスランキングを見る>>
ad


ブログ内検索
最新記事
ad


プロフィール

Ari

Author:Ari
ゲーム系を中心にモデラーをやってます。プライベートでその他の作業も挑戦中です。
拍手ボタンありがとうございます。テンションあがります。

少し前ツイッターはじめました。よかったらどうぞフォローお願いします。
ツイッターを覗いてみる

(あ…呼び方はAriでも自習部屋でも何でもいいです)

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文: