Arnold シーン ソース(ass)

.ass ファイルの構造

Arnold のネイティブなシーン ディスクリプション ファイル形式は、「ass ファイル」と呼ばれ、人間に読み取れる ASCII テキスト ファイルです。.ass ファイルには、通常、カメラ、ライト、モデル ジオメトリ、およびシェーダがノードのリストとして、その接続およびパラメータとともに含まれています。

Maya や Houdini などの Arnold DCC プラグインは ass ファイルを書き出せます。 Arnold のコマンド ライン レンダラである kick を使用して、これらの ass ファイルをイメージ ファイルにレンダリングできます。

.ass ファイルの例

オプション ブロック、フィルタ ノード、ドライバ、カメラ、ライト、ポリメッシュ、およびシェーダが含まれる単純な .ass ファイルの例を以下に示します。

 

Python と同様に、「#」文字で始まる行はコメント行です。

ノードとパラメータ

Arnold はさまざまなタイプのノードを中心に構築されています。 たとえば、シェーダ ノード、カメラ ノード、ライト ノード、フィルタ ノード、ジオメトリ(別名「シェイプ」)ノード、出力ドライバ ノードがあります。 各ノードには多くのパラメータがあります。

各ノード タイプは一意の名前(options、persp_camera、polymesh、lambert など)で識別されます。 各ノードタイプのノードは必要な数だけ持つことができます。 各ノードは、「name」という文字列パラメータによって一意に識別されます。 ノードを作成するには、ノード タイプを作成し、パラメータ値の定義を括弧で囲みます。 たとえば、次のようになります。

ノード

ass ファイルに含まれる重要度の高いノードをいくつか示します。

  • options - このノードは以下のようなグローバル レンダリング オプションのコンテナです。
  • xresyres: イメージの解像度。
  • AA_samples: アンチエイリアシング サンプル。
  • camera: アクティブ カメラ。 これはシーン内の有効なカメラ ノードを指定する必要があります。
  • outputs: この文字列の配列は、AOV チャネル(またはレイヤ)のマッピングを出力ドライバに対して定義します。各文字列の形式は次のとおりです。「<AOV_name> <data_type><filter> <driver>」。
  • gaussian_filter: これは kick によって使用されるフィルタの既定のタイプです。フィルタの幅はユーザが指定した既定値は 2.0 ピクセルに設定されています。
  • driver_tiff: オプション ノードの出力パラメータによって参照できるドライバ ノード。これには、最終的なレンダリング イメージを保存する出力ファイルの filename パラメータがあります。
  • persp_camera: オプション ノードの camera パラメータで参照できるカメラノード。他のパラメータの中でも特に、これは視野および方向を定義するカメラから実世界への行列を持っています。
  • distant_light: トランスフォーム行列、カラー、強度などを持つディスタント(またはディレクショナル)ライト ノード。
  • polymesh: これはレンダラで最も重要なジオメトリック プリミティブです。 そのパラメータの例を挙げます。
  • vidxsnidxsvlistnlist: これらの配列は、メッシュ頂点、法線、および対応する個々のトポロジ(面のインデックス)を表します。メッシュに UV 座標がある場合、uvidxs パラメータおよび uvlist パラメータに保存されます。
  • visibilitysidedness: これらは、各レイのタイプ(カメラ、シャドウ、反射など)の可視性や側面性のプロパティを定義するビットマスクです。
  • matrix: メッシュのオブジェクトから実世界へのトランスフォーム行列。
  • shader: オブジェクトをシェーディングするときに実行されるシェーダ ノードへのポインタ。

パラメータ

すべてのパラメータには既定値があるため、使用可能なすべてのパラメータを明示的に設定する必要はありません。 既定のパラメータ値は、Arnold のコマンド ライン レンダラである kick でクエリーできます。 たとえば、Lambert シェーダ タイプのパラメータ Kd の既定値を検索するには、次のようにします。

最も一般的なタイプは、BOOL、INT、UINT、ENUM、FLOAT、MATRIX、VECTOR、NODE、および STRING です。

配列

基本タイプの配列(VECTOR[ ]や FLOAT[ ]など)は、次の構文を使用して指定されます。

たとえば、ポリメッシュ ノードには、vlist と呼ばれるパラメータがあり、これはポリゴンの頂点が保存される点の配列です。

したがって、1 つの三角形を含むポリメッシュは、3 つのベクトルの配列を使用して指定します。

 

モーション ブラー

モーション ブラーをサポートするパラメータの場合、モーション ブラー時間サンプル(または「キー」)のそれぞれに対して複数の値を定義できます。 次の例は、2 つのモーションキーを持つ 1 つの三角形の頂点のリストを示しています。ここでは、三角形が Y 方向に 5 単位移動しています。


同じ垂直方向のモーションは、静的な三角形の頂点を保存し、代わりに複数のトランスフォーム行列を指定することで実行できます。


  • No labels