概要
MayaのMELは高機能なので色々と出来ます。
逆に色々出来すぎるだめ、ネットで検索しても
なかなか細かいことが載ってなかったりします。
今回は「Windowを表示しMeshのみを羅列する」スクリプトを
自分の勉強がてら書いてみました。
ご参考になれば幸いです。
MELコード
Window.mel
// Meshを検索する関数
global proc SearchMesh(){
string $obj;
$allObjects = `ls -l`;
// Meshだけを探す
for ( $obj in $allObjects ) {
if ( `nodeType $obj` == "mesh" ) {
// Meshの名前をプリント
print ($obj + "\n");
}
}
}
// Window表示
string $window = `window -title "Mesh Search" // Windowのタイトルを指定
-iconName "Short Name"
-minimizeButton off // Windowミニマムボタンをなくす
-maximizeButton off // Window最大化ボタンをなくす
-widthHeight 250 100`; // Windowサイズを指定
columnLayout -adjustableColumn true;
// Mesh検索ボタン
button -label "Search Mesh" -command ("SearchMesh");
// クローズボタン
button -label "Close" -command ("deleteUI -window " + $window);
setParent ..;
// ウィンドウを表示させる
showWindow $window;
作成したウィンドウ
結果
解説
ls コマンドが Maya内にあるすべてのものを列挙するコマンド
window コマンドが Window を作成するコマンド
button コマンドが ボタンを作成するコマンドで引数に [-command]をつけるとボタンを押下したときに実行されるものを指定