Houdini 20.0 ノード シェーダノード

Mantra: Houdini Engine Procedural shader node

オブジェクトのジオメトリ上のポイント毎にHoudini Engineを呼び出して、スクリプトで出力されたジオメトリをそのポイントにインスタンス化します。

On this page
Since 13.5

概要

このシェーダは、レンダリング時にインスタンスジオメトリを生成するSOPアセットを指定することができます。 このシェーダを適用したオブジェクト内の各ポイントに対して、Mantraは、そのPointアトリビュートを、そのSOP上のそれと同じ名前のパラメータにコピーしてから、そのSOPをクックしてインスタンスジオメトリを生成します。

例えば、このシェーダがPlatonic SOPを使用するように設定し、ソースオブジェクトにtypePointアトリビュートを追加します。 すると、このPointアトリビュートは、どの正多面体を生成するのか制御することができます(Platonic SOPには内部名がtypeのパラメータがあり、これはソリッドのタイプを制御します)。

Warning

このシェーダを使ってシーンをレンダリングするには、-e basic|fullコマンドラインオプションを使ってMantraを起動する必要があります。詳細は、-eのヘルプを参照してください。

メモ

  • 境界ボックスを指定しなかった場合、このシェーダは、このオブジェクトのジオメトリの境界ボックスを使用し、予測されたインスタンスサイズで大きくします。

  • 使用するSHOPsが入ったSHOPネットワークがこのSOPに格納されている場合、非表示バージョンのSOPがシーンファイルに使用されます。また、出力ドライバの SHOP References パラメータを Declare all SHOPS に設定してください。

  • このProceduralシェーダは、詳細レベルをlodパラメータに渡します。lodアトリビュートがない場合は、Mantraで計算された詳細レベルで上書きします。

パラメータ

Main

SOP

SOPタイプの名前。これは名前であってラベルではありません。例: box, platonic, sphere。

OTL Files

HScriptがSOPを作成する前にotloadを実行するOTLライブラリのパスを含んだファイル名。

Basic Size

各インスタンスの評価最大サイズ(各方向の半径)。Mantraは、インスタンス化した後のオブジェクトの新しい境界ボックスを計算する時にこのサイズを使用します。 インスタンスに追加する余裕代を過小評価するとレンダリングエラーが発生する可能性があるのに対し、過大評価するとレンダリングが遅くなってしまいます。そのため、過大評価の方が良いです。

Orient to Point

有効にすると、ポイントのVelocityに向くように試みます。設定しなくても、ポイントの空間への移動は実行されます。

Defer Geometry Creation

通常では、このProceduralは、レンダリングする時にすべてのジオメトリを生成します。このオプションは、各インスタンスがレンダリングされるまでインスタンスの作成を遅延させます。 例えば、インスタンスがばら撒かれている時に、そのうちの一部だけをレンダリングする場合、このオプションは、いくつかのジオメトリをまったく作成しなくなるので、メモリを節約することができます。

ジオメトリの作成を遅延させることにより、このEngine Proceduralは、もはや異なるポイントインスタンス間でジオメトリを共有できなくなります。

SOP HDA Requires LOD

このEngine Proceduralは、近似された詳細レベルを計算して、これをlodパラメータを使用したSOP HDAに渡すことができます。 そのSOP HDAが詳細レベル別に異なった処理をしないのであれば、このEngine Proceduralは、より効率的になります。

IFD Bounds

Bounding Box

境界ボックスコントロールは、参照ジオメトリの境界ボックスを指定することができます。この境界ボックスが“on screen”の時のみ、Mantraは参照ジオメトリを読み込みます。 Mantraがとにかく常に参照ジオメトリを読み込む場合には、 Bounding boxNo bounding box required に設定します。 SOP Bounds パラメータのSOPの境界ボックスを参照することで、境界ボックスを指定することもできます。

SOP Bounds

参照したい境界ボックスのジオメトリ。

Min Bounds

明示的に境界を設定した時の境界ボックスの最小寸法。

Max Bounds

明示的に境界を設定した時の境界ボックスの最大寸法。

シェーダノード