XGen エクスプレッションの基本

エクスプレッションは、結果値を生成する、変数、演算子、関数、および定数値の組み合わせです。エクスプレッションの結果を使用して、プリミティブ アトリビュート値の設定、XGen モディファイアのエフェクトの変更、Ptex マップをディスクリプションに適用する方法のコントールなどができます。XGen エクスプレッション エディタ(XGen Expression Editor)を使用して、新しいエクスプレッションを作成したり、事前作成されたエクスプレッションをロードすることができます。

エクスプレッションの構成要素

次のエクスプレッションは、変数、関数、パラメータ定義、コメント、および演算子で構成されています。これらの各コンポーネントについて、次のセクションで説明します。

$minLength = 1.0; # 0, 2
$maxLength = 5.0; # 0,10
rand($minLength, $maxLength)* $Pref  #randomizes the min and max values.

変数

エクスプレッションでは、変数は値を表す名前です。これらの値は、関数などで計算に使用する、またはアトリビュート値を設定するために使用できます。変数に関して理解が必要な点を以下に示します。

  • 変数は、ローカル(つまりユーザ定義)、またはグローバル(XGen によって設定された固定値)にすることができます。
  • ローカルおよびグローバルの変数名は、ドル記号($)とそれに続く一意の名前で構成されます。

    上記のエクスプレッションでは、$minLength $maxLength はローカル変数名で、$Pref はバインドされたメッシュ上のポイントを表すグローバル変数です。

  • ローカル変数は、セミコロンで(;)終わるステートメントで宣言する必要があります。例、$minLength = 1.0; および $maxLength=5.0;

    グローバル変数に確保されている名前を除いて、ローカル変数には任意の名前を付けることができます。グローバル変数は宣言する必要がありません。より複雑なエクスプレッションには多くの場合、ローカル変数宣言の数が含まれます。

関数

関数は、特定のタスクの評価を実行します。関数が評価する入力値は引数と呼ばれ、変数、定数、またはその両方の組み合わせとすることができます。関数の引数はカッコ()で囲まれており、各入力値はカンマで区切ります。

上記のエクスプレッションでは、rand () ランダム化関数は、$minLength 変数と $maxLength 変数を入力値として使用して、ランダム値を生成します。

その他の一般的に使用される関数には、noise()map() があります。エクスプレッションには、常に関数が含まれるわけではありません。

パラメータ定義とコメント

パラメータ定義とコメントは、シャープ記号(#)で開始し、その後に数字と文字が続きます。XGen エクスプレッションでは、一般的なパラメータ定義を、ローカル変数または Ptex マップ ファイルのテクセル解像度の値の範囲を設定するために使用できます。上記の例では、ローカル変数の宣言の後に # 0, 2 #0, 10 が示され、変数値の範囲(0〜2 と 0〜10)を定義しています。

コメントには、エクスプレッションを理解しやすくする情報を提供する任意の文字を入力できます。たとえば、ローカル変数や関数の評価の理由を説明するコメントを追加することができます。上記の例では、コメント #randomizes the min and max values は、rand() 関数の評価について説明しています。

演算子

演算子は、計算または計算順序を表現する記号です。一般に、演算子は算術計算、比較、条件などを実行します。たとえば、追加(+)、乗算(*)、未満(<)、より大きい(>)、等しい(=)などがあります。

ヘアとファーのグルーム シーンおよび景観シーンで、エクスプレッションの使用を開始するには、「基本的なエクスプレッションの例」を参照してください。

関連トピック