【MEL基本】5時限目 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
記事一覧

全ての記事を一覧

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

[サブジャンルランキング]
デザイン
2位
アクセスランキングを見る>>
ブログ内検索
プロフィール

Ari

Author:Ari
ExpertElite000.jpg

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

ツイッターでお知らせなどやってます。よかったらどうぞフォローお願いします。
ツイッターを覗いてみる

MEL
スポンサーリンク
QRコード
QR
タグ

Maya MEL モデリング MEL更新 Mayaあるある UI UV データ管理 カスタマイズ 数値設定 ~がない MayaTips アニメーション モデリングツールキット リネーム AriReFreezeRotate AriCompactToolSettings つぶやき MEL基本 マテリアル AriUVGridding バグ? AriSetPivot Maya基本 ホットキー 頂点カラー AriUVFit 新機能 記事まとめ AriVertexColorEditor AriMirror AriCircleVertex ~ない AriSceneOpener リトポロジー テクスチャ カメラ ジョイント スケルトン アンケート AriSortOutliner AriUVScaleChecker AriTransferPosition スクリプト MEL更新頂点カラー AriViewWindow AriUVAdsorption AriSplitPolygon AriSelectEdgeRing AriUVRatio AriDeleteEdgePreserveBorder AriUVAdsorptionMove AriAniKeyScale Rig AriAnimationCopy AriRenamer AriQuadrangulateRing 更新 レンダリング AriUVSetList ZBrush モデリングAriCircleVertex 

最新記事
メールフォーム

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