【MEL基本】4時限目 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;

}






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

MEL基本カテゴリ




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

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

スポンサーリンク

コメントの投稿

非公開コメント

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

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

[サブジャンルランキング]
デザイン
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 モデリングツールキット つぶやき 記事まとめ マテリアル Maya超基本 AriReFreezeRotate 頂点カラー AriSetPivot 新機能 法線 Maya基本 ホットキー MEL基本 AriUVFit AriVertexColorEditor AriRenamer バグ? ~ない AriSceneOpener AriMirror AriUVGridding AriCircleVertex AriViewWindow Normal レビュー AriTransferPosition ジョイント スケルトン カメラ リトポロジー テクスチャ AriAniKeyCycle AriUVScaleChecker AriSelectMaterialAndObject AriAdsorptionVertex AriPolygonCounter AriAniKeyScale AriSortOutliner AriUVRatio AriUVSetList AriCombineExtract アンケート Rig AriQuadrangulateRing AriUVScaleUnfold AriJointBendOrient 標準機能 バグ修正 3Dスキャナ AriStraightVertex カーブ AriComponentsController AriSymmetryChecker AriSplitPolygon AriWindowPositionReset AriIconViewer AriRenameShapeDefault AriSelectEdgeRing AriMaterialList UVGridding AriSamePositionSelector AriDeleteEdgePreserveBorder 更新 レンダリング ZBrush AriAnimationCopy モデリングAriCircleVertex AriUVAdsorption MEL更新頂点カラー AriUVNotchSew AriUVAdsorptionMove GameExporter OBJ FBX AriNormalValueCopy AriFBXExporter Tips スクリプト AriUVController Twitter AriVertexColorChangeRGBA AriVertexColorSplitRGBA リトポロジ AriSelectLoopRing AriWireColor AriQuickSelecter AriAssetChanger AriNormalDefaultBlend AriNormalRadial AriNormalSmooth AriReFreezeScale 

最新記事
メールフォーム

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