日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年3月10日火曜日

構文 (2) -q -e フラグについて

他の人の書いたMelを見ていると「-q 」とか「-e」というフラグがよく見られる。

これの意味を調べるために
ユーザ ガイド > テクニカルドキュメント > MELコマンド
でそのコマンドのところを探してみたが、なぜかこの二つのフラグは説明がない?!

唯一関係ありそうなのは、フラグの一覧表の右端にあるQ、E、といった記号だけ。
この説明は、下に書いてあるが、
「コマンドの照会モードで使用可能なフラグ」
「コマンドの編集モードで使用可能なフラグ 」
とだけしか書いていない。

--------------------
いろいろと調べたところ、回答は「コマンド構文」にあった。
これは、コマンドの動作をことなる動作にする特別なフラグだった。

ユーザ ガイド > 一般 > MEL とエクスプレッション > 構文 > コマンド構文

作成、編集および照会モード
多くのコマンドは、-edit と -query という特別なフラグの一対に基づいて異なる動作をします。


それぞれの詳細は以下の通り、
-edit
コマンドは指定されたオブジェクトの 1 つまたは複数のプロパティ(他のフラグによって決まる)を変更します。
sphere -edit -radius 10 "george";

この例では、シーン内にすでに存在する「george」というスフィアの半径を10に変更する。
もし「george」が存在しない場合は、エラーとなる。
// エラー: 名前とマッチするオブジェクトがありません: george //
ただし、"george" の部分を省いて、
sphere -edit -radius 10 ;
だけなら、現在選択されているオブジェクトがsphereであれば実行可能。


-query
コマンドは指定されたオブジェクトのプロパティの値(他のフラグによって決まる)を返します。

sphere -query -radius "george";
// Result: 10 //

この例では、「george」というスフィアの半径の値を返してくる。
これもすでに「george」という名前のスフィアが存在する必要がある。
存在しない場合は、エラーになる。
ただし、"george" の部分を省いて、
sphere -query -radius ;
だけなら、現在選択されているオブジェクトがsphereであれば実行可能。

0 件のコメント:

コメントを投稿