[maya] コマンドの調べ方

複雑なスクリプトを書くときに限らず「Mayaのこの動作のコマンドってなんだろう」や「~ってできたっけか?」というふうに、
自分のやりたいことから、コマンドを探す というケースは多々あります。

そんな時の私なりのコマンドの探し方をご紹介します。
MayaのUI上からできることなんかはこれでほぼ見つかる…はずです。たぶん。

1 MayaのHelp コマンドリストでそれっぽいワードで検索してみる
スクリプト作業でのコマンド(substitute,tokenize,ls,select…)のような基本的なコマンドはこの方法で見つけます。
いわゆる、 数学コマンド・文字列コマンド・UI作成コマンド のようなものですね。
こういうコマンドの場合、どの言語もだいたい似たようなワードでコマンドが作られているのでワード検索でも見つけられるし
大まかな分類分けがされてるので、分類からコマンド一覧を確認して、それっぽいコマンドをかたっぱしから開いてみる…という、まぁある意味地味な見つけ方ですが
これが一番確実なんじゃないかなと思います。
ある程度わかってくると、推測しやすくなるので見つけるのも早くなります。
あと、MayaのScriptEditorに表示されているログも Helpを探せばたいてい見つかります。

2 MayaInstallFolder>Scriptsの中を探す
基本コマンドなら1の方法でも問題ないのですが、そうではない場合(UIにあるMayaの機能を呼び出してるようなもの)は、Mayaのコマンドリストには乗っていません。
そういうものは、Mayaのコマンドではなく、Melで書かれたスクリプトコマンドです。
MayaのUIはすべてMelで書かれているので、とりあえず、Scriptフォルダの下を探せば少なくてもどれかには書かれているわけです。

しかし1つづつ開いては実行して確認するのは無理がある上に、あるていどmelファイルのファイル名で推測はたつけれども そのmelコマンドにある どれかのコマンドだったりすることもあるので
あまり効率的ではありません。

ので、こんな時は VisualC++ を使います。
といっても、C++でコマンドを使うわけではなく VisualC++の検索機能だけを使います。
VisualC++のバージョンはなにでもOKです。

VisualC++を立ち上げたあと CTRL+F で、検索画面を出します。
クイック検索をフォルダーを指定して検索にしたあと、検索対象のフォルダに、 <MayaInstallFolder>/scripts を指定して、検索ワードにそれっぽいものをいれて検索します。
検索すると、そのワードに引っかかるファイルと行数がわかるので、引っかかったものからそれらしいものを開いてコマンドを確認・・・を繰り返します。

「それっぽいもの」を入れる とか 「それっぽいファイルのそれっぽいコマンドを見つける」 というのにはある意味コツが必要ではあるのですが、コツが分かると
この方法で大抵のものは調べがつきます。

その「コツ」ですが、まずは 検索ワードに自分が知りたいMayaのUIの名前やMenuの名前で検索します。
そうすると、 そのままスクリプトのコマンドになっていてHitするか ~.res.mel  ファイルというのに検索が引っかかります。
.res.mel は、それと同じ名前の .mel  ファイルの言語設定ファイルなので、 .resを抜いた その名前のファイルを開けば、UIを作成しているmelファイルが見つかります。
見つかったら、そのファイルを開いて 中で実行しているコマンドを探します。あったら、それを再度検索をかけて絞り込んでいきます。

UIでTemplateを使っている場合とか ちょっとわかりにくいケースもあるのですが概ね私はこの方法でコマンドを探しています。
そのまま使えない場合は、コマンドの実行部分だけ切り出したり一部書き換えたりして別コマンドにしたり…とかでもわりと1から書くよりは手軽にかつ素早くできます。

と、参考になるかはわかりませんが 私のコマンドの探し方はだいたいこんなかんじです。
調べ方とか書きつつも 方法1 慣れ9 ぐらいです。
スクリプトの逆引き辞典書いててもおもいますが、自分が知りたいものから答えを探すのは難しいです(´・ω・`)

コメントを残す

メールアドレスが公開されることはありません。

*