【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
アクセスランキング
[ジャンルランキング]
コンピュータ
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 

最新記事
メールフォーム

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