maya-melで表示項目を切り替える



表示項目を変更するのにパネルメニューバーの【表示】から設定するのが面倒で、用途に合わせて一発で変更する方法がないものかと調べてみました。例えば、NURBSカーブとポリゴンだけを表示するようにmelで記述してシェルフに登録をしておけば、クリック一発で変更することができます。

自分はプログラム知識が乏しいので、スクリプトエディターの[ヒストリ]メニュー ≫ [すべてのコマンドのエコー]にチェックを入れて、コマンドの動きを追っています。この機能をオンにすると、より詳しく内部の動きを見ることができます。

例えばパネルメニューの【表示】からNURBSカーブのチェックを外して見ると、スクリプトエディターに数行の文が表示されます。全てはよくわからないですが
modelEditor -e -nurbsCurves false modelPanel4;
この文が怪しいです。nurbsCurvesって書いてあるし…。

この文をコピーしてスクリプトエディターの自分で記述する部分に張り付けて、falseをtrueに変更して実行してみます。NURBSカーブにチェックが付きました!falseはオフtrueはオンです。(falseの代わりに数字の0でオフ、trueの代わりに数字の1でオンでも大丈夫です)

modelPanel4はパースペクティブビューの事です。今回パースペクティブビューで操作したのでmodelPanel4となっていますが、トップビューで操作するとこの部分はmodelPanel1になります。

先ほどの一文は、「パースベクティブビューでNURBSカーブの表示をオフにする」という意味になります。この構文を参考にしてmelを記述してきます!


melで表示項目を切り替える


今回はNURBSカーブ、ポリゴン、ジョイントの三つを表示させるようにしたいと思います。

以下の文をスクリプトエディターにコピーして、文を選択した状態で中クリックのドラックアンドドロップでシェルフに登録します。変更したいビューを選択したあと、登録したシェルフボタンをクリックすればOKです。

  • $FCpanel = `getPanel -withFocus`;
    modelEditor -e -allObjects 0 $FCpanel;
    modelEditor -e -nurbsCurves 1 $FCpanel;
    modelEditor -e -polymeshes 1 $FCpanel;
    modelEditor -e -joints 1 $FCpanel;

 

中身の説明です。

  • //↓変数FCpanelに選択しているウインドウの名前を代入する
    $FCpanel = `getPanel -withFocus`;

    //↓全ての表示をオフにする
    //パネルメニューバーの[表示]の「なし」を実行したときと同じです。
    modelEditor -e -allObjects 0 $FCpanel;

    //↓NURBSカーブを表示する
    modelEditor -e -nurbsCurves 1 $FCpanel;

    //↓ポリゴンを表示する
    modelEditor -e -polymeshes 1 $FCpanel;

    //↓ジョイントを表示する
    modelEditor -e -joints 1 $FCpanel;

 

まとめ


スクリプトエディターの[ヒストリ]メニュー ≫ [すべてのコマンドのエコー]にチェックを入れると、より細かい内部の動きを見ることができます。全部を理解できていなくても、ワードを見ていくと何となく予測がつくのでそれを足掛かりにmelを書いていきました。

今回は表示するものが少ないので、一度全部オフにしてから表示したい項目だけをオンにしていきました。表示するものが多い場合は、全部オンにしてから表示したくない項目だけをオフにしていったほうが文が少なくてスッキリすると思います。


関連記事
・Maya-あると便利なmelその01


≫Maya関連記事 もくじへ
≫トップページへ

 

2017年05月01日