iray レンダリング要素はライト パスの式によって指定されます。
Light Path Expression(ライト パス表現、LPE)は、特定のライト パスを記述する正規表現です。iray レンダラー用の[レンダリング要素](Render Elements)インタフェースでは、これらの表現によって特定の要素を構成する特定のライトの影響のみを選択します。
ライト パス表現から、ライト オブジェクトおよびジオメトリ オブジェクトを参照できるようになりました。
完全なライト パス表現は、ライト ソース イベントで始まり、アイ イベントで終わる(またはその逆である)必要があります。
E は、アイ イベントを示します。3ds Max では、これはアクティブなビューポート(通常、レンダリングの場合はカメラ ビュー)の視点です。
ライト ソース イベントには、以下のライトの種類を指定できます。
ライト タイプ | 意味 |
---|---|
L | 任意のライト |
Lp | ポイント ライト |
La | エリア ライト |
Le | 環境またはバックグラウンド |
たとえば、[ライト: エリア ライト](Light: Area)要素を生成する LPE は La.*E であり、アスタリスク(*)は任意の数のエリア ライト イベントと一致します。[ライト: 環境光](Light: Environment)要素の LPE は Le.*E です。
[マテリアル: 自己照明](Mtl: Self Illumination)イベントを生成する LPE は LE です。言い換えると、ライト ソースはレンダリングされますが、ライトとオブジェクトの相互作用はレンダリングされません。
相互作用イベントは、シーンの光線とマテリアルの相互作用を表します。ライト パス表現では、相互作用イベントは角括弧で囲まれており、タイプとモードの 2 つのコンポーネントが含まれています。
イベント自体は、レイとオブジェクトの相互作用を表します。相互作用イベントには 3 種類あります。
イベント タイプ | 意味 |
---|---|
R | 反射 |
T | 透過 |
V | ボリュームの相互作用 |
モードは、発生するスキャッタリングを記述します。次の 3 つのモードがあります。
イベント モード | 意味 |
---|---|
D | 拡散反射光 |
G | 光沢 |
S | 鏡面反射光 |
例:
<RD>
... シンプルな拡散反射を記述します。
「ドット」(.)文字は、任意のタイプまたはモードと一致するワイルドカードです。
<R.>
... イベントのすべての反射を記述します。
<R.> は R として省略することができます。これは、1 つのタイプまたは 1 つのモードのみを指定する任意のイベントに適用されます。
省略されたコードを読むときは注意が必要です。<RD> は拡散反射を記述しますが、RD は反射イベントに続く拡散反射光スキャッタリング イベントを記述しています。
複数のイベントを一致させるには、括弧([])で囲むことでセットを作ることができます。
[RT] では反射と透過のイベントが組み合わせられます。[DGS] ではすべてのスキャタリング モードが組み合わせられます。このため、<[RT][DGS]> は、すべての種類のスキャタリングを含み、ボリュームの相互作用のみを除く反射および透過が含まれるイベントです。
また、カレット(^)を前に付けることによってセットからタイプまたはモードを除外することもできます。
<[^T].> はイベントから透過を除外するため、これは <[RT][DGS]>、または単に <[RT].> と等しくなります。
複数のオペレータを使用してサブ表現を組み合わせることができます。使用できるオペレータは次のとおりです(A および B はサブ表現を表し、m および n は整数値を表します)。
オペレータ | 意味 |
---|---|
AB | 最初に A、次に B と一致 |
A|B | A または B と一致 |
A? | オプションで A と一致。シーンに A が存在しない可能性があります。 |
A* | A の 0 (ゼロ)以上の出現と一致 |
A+ | A の 1 つまたは複数の出現と一致 |
A{n} | A の n 個の連続する出現と一致 |
A{n,m} | A の n ~ m 個の出現と一致 |
A{n,} | A の n 個以上の出現と一致 |
オペレータはこの優先順位に従って評価されます。
?、*、+、{}
AB
|
括弧(())を使用すると、サブ表現をグループ化し、評価の順序を変更することができます。括弧内のサブ表現が最初に評価されます。