【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 になってますが、ご存知のとおり同じです。





1時限目 ボタンで機能を実行するMELを書く
2時限目 コマンドとフラグについて
3時限目 MELファイルの作り方
4時限目 UIを横に並べる&アイコンボタンの使用方法
5時限目 Windowコマンドについて
6時限目 ボタンで複数行のコマンドを実行する

MEL基本カテゴリ




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

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

スポンサーリンク

コメントの投稿

非公開コメント

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

UV解像度チェック AriUVScaleChecker01.gif
アクセスランキング
[ジャンルランキング]
コンピュータ
6位
アクセスランキングを見る>>

[サブジャンルランキング]
デザイン
1位
アクセスランキングを見る>>
月別アーカイブ
スポンサーリンク
おすすMEL2
リネーマー AriRenamer01.gif

置換/配置 AriAssetChanger01.gif
記事一覧

全ての記事を一覧

ブログ内検索
プロフィール

Ari

Author:Ari
ExpertElite000.jpg
Autodesk Expert Elite
本業はゲーム系中心の3Dモデラーです(フリーランス)。
プライベートではその他の作業も興味持ったものは何でも挑戦中。
拍手ボタンありがとうございます。テンションあがります。

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

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

Maya MEL モデリング MEL更新 Mayaあるある データ管理 UI カスタマイズ UV 数値設定 MayaTips ~がない アニメーション リネーム モデリングツールキット つぶやき AriCompactToolSettings マテリアル 記事まとめ AriReFreezeRotate Maya超基本 頂点カラー AriSetPivot 新機能 法線 MEL基本 Maya基本 ホットキー AriUVFit AriRenamer AriVertexColorEditor バグ? ~ない AriUVGridding AriSceneOpener AriMirror Normal AriCircleVertex AriViewWindow ジョイント スケルトン AriTransferPosition テクスチャ AriUVScaleChecker カメラ リトポロジー AriSelectMaterialAndObject AriAniKeyScale AriAdsorptionVertex レビュー AriPolygonCounter AriAniKeyCycle AriSortOutliner AriUVRatio AriUVSetList Rig AriCombineExtract AriQuadrangulateRing アンケート AriUVScaleUnfold 標準機能 3Dスキャナ AriJointBendOrient AriStraightVertex カーブ AriIconViewer AriSplitPolygon AriSelectEdgeRing AriSymmetryChecker UVGridding AriRenameShapeDefault AriMaterialList AriSamePositionSelector AriWindowPositionReset MEL更新頂点カラー レンダリング ZBrush AriUVNotchSew 更新 AriAnimationCopy AriUVAdsorption AriDeleteEdgePreserveBorder モデリングAriCircleVertex AriUVAdsorptionMove バグ修正 AriVertexColorChangeRGBA AriVertexColorSplitRGBA AriNormalDefaultBlend AriNormalValueCopy FBX スクリプト AriFBXExporter OBJ AriNormalRadial AriNormalSmooth AriSelectLoopRing AriWireColor AriComponentsController リトポロジ GameExporter AriAssetChanger AriQuickSelecter AriReFreezeScale 

最新記事
メールフォーム

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