Since | 12.0 |
Point Instance Proceduralは、オブジェクトセットを取得し、レンダリング時に指定した数のポイント上にそれらのオブジェクトを配置します。 各ポイントは、そのオブジェクト自体に関係なく、そのポイント上でインスタンス化されたオブジェクトにマテリアルを割り当てることができます。 主な利点は、Copy SOPと異なり、レンダリング時に、そのメモリのオーバーヘッドが、少ないソースオブジェクトセットからしか発生しないことです。 したがって、単一のオブジェクトを1000回インスタンス化しても、そのオブジェクトの単一のコピーを取得する場合と比べて、それほどメモリを必要としません。
これはいくつかの場面で役に立ちますが、特に、それぞれマテリアルが異なる少ないジオメトリセットを、多数のポイント上に配置する場合に便利です。 例えば、森林、植物、群衆、町の建設、小惑星、岩やがれき、ハエや鳥、コウモリなどの群れを表現する場合です。
パラメータ ¶
Main ¶
Point Object
インスタンスの作成元のポイントを含むオブジェクトです。
Instance Object
Point Object の各ポイントにインスタンスを作成するオブジェクトです。
これは、 Point Object のinstance
アトリビュートにより、ポイントごとに上書きできます。
また、instancefile
アトリビュートにより、ジオメトリの遅延ロードをすることもできます。
これは、Houdiniで読み込み可能なジオメトリファイルの絶対パスを含む文字列のアトリビュートです。
モーションブラーが必要な場合、そのinstancefile
アトリビュートと併用するinstanceblurfile
アトリビュートを使用することができます。
この場合、instancefile
アトリビュートを適用してシャッターを開き、instanceblurfile
アトリビュートでシャッターを閉じます。
ジオメトリファイルがVelocityブラーにv
アトリビュートを使用する場合、オブジェクトの境界ボックスにはVelocity値が含まれていないため、レンダリング時にクリッピングが発生する可能性が高くなります。
この場合、浮動小数点アトリビュートのinstancefile_maxv
を Point Object に追加することができます。
このinstancefile_maxv
アトリビュートには、すべてのVelocityベクトルコンポーネントの絶対Velocity値を指定し、その値に応じてオブジェクトの境界ボックスを膨らませます。
Instance Transform
通常、インスタンス化したオブジェクトのトランスフォームは、インスタンス化に使用されたオブジェクトと結合します。このオプションにより、この挙動をオフにすることができます。
Point Motion Blur
レンダリング時にモーションブラーの挙動を指定します。 各ポイントは、ジオメトリのインスタンスを持ちます。 インスタンスのトランスフォームは、ポイントの位置で決まります。 インスタンスに対するトランスフォーメーションモーションブラーは、ポイントの動きで決まります。 ポイントの動きは、このパラメータで制御します。
No Motion Blur
モーションブラーを実行しません。
Compute sub-frame geometry (deformation)
サブフレーム間隔でジオメトリを評価して、ポイントの位置を計算します。ポイント数がフレームごとに変化する場合、問題が起こることがあります。
Use point velocity attribute
ポイントのベクトルアトリビュートv
により、ポイントの動きを外挿します。
遅延ロードアトリビュートを使用している場合、instanaceblurfile
アトリビュートの指定がないと、Velocityブラーが自動的に遅延ロードジオメトリに想定されます。
この場合、ユーザの責任においてinstancefile_maxv
浮動小数点アトリビュートにより、Velocityベクトルの最大長さをプロシージャルへ伝えてください。
これを行なわないと、クリッピングによる画像の乱れが発生することがあります。
Render Geometry as Bounding Boxes Only
実際のジオメトリをレンダリングせず、その境界ボックスのみをレンダリングします。シーンのデバッグやレンダリングのクィックテストを行ないたい場合に便利です。
CVEX Operator
CVEX SHOPノードへの任意のパスです。ポイントのインスタンス化により、レンダリングする前に各インスタンスでこのCVEXシェーダを実行します。 これにより、プロシージャルに各インスタンスのトランスフォームを設定することができます。
ポイントでインスタンス化したCVEXシェーダには、単一の出力であるトランスフォーム(xform
)マトリックスがあります。
ポイントでインスタンス化したCVEXシェーダは、下記のグローバル変数を使用できます。
CVEX Attribute Mask
必要な場合、どのPointアトリビュートとDetailアトリビュートをCVEXコンテキストへコピーするべきかを示すグローバル変数です。
IFD Bounds ¶
Bounding Box
境界ボックス制御により、参照元のジオメトリの境界ボックスを指定できます。 この境界ボックスが“on screen”の場合のみ、mantraは参照元のジオメトリをロードします。 Bounding Box を No bounding box required に設定できます。この場合、Mantraは常に参照元のジオメトリをロードします。 SOP Bounds パラメータのSOPの境界ボックスを参照することでも境界ボックスを指定できます。
SOP Bounds
参照したい境界ボックスのジオメトリです。
Min Bounds
明確な境界を設定する場合の境界ボックスの最小サイズです。
Max Bounds
明確な境界を設定する場合の境界ボックスの最大サイズです。