【MEL基本】UIを横に並べる&アイコンボタンの使用方法

AriToolWindow30.jpgAriToolWindow32.jpg

【MEL基本】ボタンで機能を実行するMELを書く
の続きで、今回はボタンを横に並べる方法と、アイコンボタンを使用する方法です。



準備

とりあえMEL基本初回記事の続きからはじめます。
このときは、簡単にボタンの幅を揃えたかったので、「縦に並べる機能」のcolumnLayoutのフラグでサイズを指定(-w 120)にして、その子であるボタンはその幅にピッタリになるよう(-adj true)にしていました。
このままだと都合が悪いので、今回それは解除しましょう。
columnLayoutの直後のフラグを削除してください。
AriToolWindow25.jpg
セミコロン( ; )まで消さないように注意してください。

サイズが指定されていないので、ラベルに書かれている内容によって各ボタンの幅がばらばらになります。
AriToolWindow26.jpg

では、個別にサイズを色々指定してみましょう。
-w が幅で、必要であれば -h で高さも指定できます。詳細
AriToolWindow27.jpg

(親columnLayoutの -w を消すまでは、オーバーしたサイズは隠れてしまうのですが、)
親の縛りがなくなったので、自由な大きさにできます。
AriToolWindow28.jpg

全部同じサイズ揃えたい場合、今のところちょっとめんどくさいですが、すべてに同じサイズを書いてください。
今のところすみません。




横に並べる

それではいよいよ横に並べて見ます。
横に並べたいボタンを
rowLayout というコマンドと、setParent..; で挟みます。
このときrowLayout のフラグ -nc (-numberOfColumns) で横に並べたいボタンの数を必ず指定します。
AriToolWindow29.jpg
横に並べたいボタンの数は3つなので、-nc 3。
3つボタンをのあとには、setParent..;で閉じる。こんな感じです。

ボタンを横に並べることが出来ました。
AriToolWindow30.jpg

下のコマンドをコピペで、ここまでの結果が得られます。


{
if ( (`window -ex AriToolWindow`) == true ) deleteUI AriToolWindow;
window -title "機能ボタン" AriToolWindow;

scrollLayout;

columnLayout;

button -w 120 -l "シンメトリーチェック" -c "AriSymmetryChecker";
button -w 120 -l "リネーマー" -c "AriRenamer";

separator ;//ただの分割線

button -w 200 -l "UVスケール" -c "AriUVScaleChecker";
button -w 100 -h 60 -l "UV格子状" -c "AriUVGridding";

separator ;//ただの分割線

rowLayout -nc 3;
button -l "アウトライナ" -c "OutlinerWindow";
button -l "ハイパーシェード" -c "HypershadeWindow";
button -w 60 -l "" -c "";
setParent..;

separator ;//ただの分割線

//ここから下はダミー
button -l "" -c "";
button -l "" -c "";
button -l "" -c "";
button -l "" -c "";

setParent..;
setParent..;

showWindow;
}




アイコンボタンを使用する

アイコンの使用も簡単です。
今までbuttonコマンドを使用していましたが、
iconTextButtonというコマンドを使用します。
buttonのときは、(-label) -l でラベル文字を書いていましたが、(-image) -i でアイコン名を指定します。
(-command) -c で実行するコマンドを指定するのは同じですね。
AriToolWindow31.jpg
.pngのような拡張子は無しでも大丈夫なはずです。

こんな感じにアイコンのボタンになります。ボタンと同じように押すと、コマンドが実行されます。
AriToolWindow32.jpg
もちろんrowLayoutで横になれべられますので、よかったらやってみてください。

使用できるアイコンはデフォルトのものであれば、シェルフエディタで確認できるものです。
AriToolWindow33.jpg

(デフォルトアイコンを一覧したい場合このMELお勧めです。)
【MEL】デフォルトアイコン一覧
AriIconViewer01.jpg


オリジナルを使用したい場合は、
マイドキュメントmaya階層内にあるiconフォルダに入れれば使用できます。

マイドキュメント > maya\2015-x64 > ja_JP > prefs > icons(日本語版)
マイドキュメント > maya\2015-x64 > prefs > icons(英語版)


あとは、一応絶対パスでもいけます。(\は/に)

-image "D:/mayaProj/image/test.png"

iconTextButtonコマンドの極最小限の使い方でしたが、フラグはまだまだたくさんあり、こちらで確認できます。
理解できそうなものはチャレンジしてみてください。
http://download.autodesk.com/global/docs/maya2012/ja_jp/Commands/iconTextButton.html

あとフラグですが、-i とかショートのもの使ってますが、後々わかりにくくなりそうでしたら-imageとかロングを使用してください。
自分はそのときの気分で混在させちゃうと思います。

ここまでのソースです。

{
if ( (`window -ex AriToolWindow`) == true ) deleteUI AriToolWindow;
window -title "機能ボタン" AriToolWindow;

scrollLayout;

columnLayout;

button -w 120 -l "シンメトリーチェック" -c "AriSymmetryChecker";
button -w 120 -l "リネーマー" -c "AriRenamer";

separator ;//ただの分割線

button -w 200 -l "UVスケール" -c "AriUVScaleChecker";
button -w 100 -h 60 -l "UV格子状" -c "AriUVGridding";

separator ;//ただの分割線

rowLayout -nc 3;
button -l "アウトライナ" -c "OutlinerWindow";
button -l "ハイパーシェード" -c "HypershadeWindow";
button -w 60 -l "" -c "";
setParent..;

separator ;//ただの分割線

iconTextButton -i "polyDodecahedron.png" -c "OutlinerWindow";
iconTextButton -i "SP_MessageBoxWarning.png" -c "OutlinerWindow";

//ここから下はダミー
button -l "" -c "";
button -l "" -c "";
button -l "" -c "";
button -l "" -c "";

setParent..;
setParent..;

showWindow;

}





テーマ : 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
メールフォーム

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