こんにちは。Steemです。
今回は、入力したコマンドがどのようなものかを解析し、その解析結果に沿った調査を一括して行うMaya用MELスクリプトを紹介します。
スクリプトの概要
機能
- Mayaの標準コマンドwhatIsの機能を拡張し、GUI上で簡単にコマンドを解析できるようにしたもの。
用途
- Maya標準コマンドのヘルプ(フラグの使い方など)を手早く調べたいとき。
- 既存プロシージャがどのような書かれ方をしているのかを調べたいとき。
- 「ランタイムコマンド」として登録されている処理の、実際のMELスクリプトを確認したいとき。
操作方法
スクリプトを実行すると、ウィンドウが立ち上がります。
-
コマンド名の入力
「Command Name:」テキストフィールドに、調べたいコマンド名やグローバルプロシージャ名を入力します。
-
実行
「Analyze and Open」ボタンをクリックするか、テキストフィールド上でEnterキーを押します。
-
結果の確認と自動アクション
対象のコマンドの種類に応じて、ツールが以下の3つのパターンのいずれかの処理を自動で行います。
- Maya内部コマンド(Built-in Command)の場合
polyCubeのようなMayaの標準コマンドだった場合、自動でhelpコマンドを実行し、フラグや使い方などのヘルプドキュメントを表示します。
- ランタイムコマンドの場合
「ランタイムコマンド」(:複数のコマンドをひとつのコマンドとしてまとめたもの)だった場合、その裏で実際に実行されるスクリプト(マクロの中身)を表示します。
- 外部スクリプトファイル(.mel 等)の場合
ログにファイルの絶対パスが表示されます。同時に、該当するファイルをハイライトした状態でフォルダを各種エクスプローラで開きます。
- Maya内部コマンド(Built-in Command)の場合
使用上の注意点
- メモリにロードされていないプロシージャは探せない
- OSごとの挙動の差異
ベースとしてMaya標準のwhatIsを使用しているため、まだMaya上で一度も実行・ロードされていない(hush・sourceされていない)プロシージャ名を入力しても「Unknown」と返ってきます。その場合は、一度そのコマンドを実行してから再度お試しください。
WindowsとmacOSでは「対象ファイルが選択(ハイライト)された状態でフォルダが開く」までの処理を行いますが、Linux環境では対象ファイルが含まれる親ディレクトリを開くのみの挙動となります。
おわりに
今回はコマンド調査用スクリプトを紹介しました。皆さんの参考になれば幸いです。
当スクリプトの配布・販売予定については未定(調整中)です。
続報をお待ちください。



