Houdini 20.0 マテリアル

マテリアルコードのキャッシュ化

マテリアルをデジタルアセットとして事前コンパイルすることで、レンダリング時のシェーダコンパイルを高速化することができます。

On this page

概要

Houdiniは、マテリアル内のノードネットワークから生成されたVEXコードをキャッシュ化することができます。

  • Material Builderノードに関しては、そのマテリアルをクック(割り当ててレンダリング)した時に自動的にキャッシュ化されます。

  • Material Builderをデジタルアセットに変換する時、Operator Type PropertiesSave タブの Save cached code オプションを使用することでキャッシュ化を有効にすることができます。

キャッシュ化のメリットは、特に分散レンダリングする時に、ファーム上の各レンダラーがマテリアル自体を無駄にコンパイルする必要がなくなるので重要です。 非常に複雑なマテリアルのコンパイル時間は、数分の時間を要することがあります。

バッジ

ネットワークエディタで、VEXコードのキャッシュ化が 可能 でもまだキャッシュ化されていないノードは、“空っぽの” Cachableバッジを持ちます。

ノードにキャッシュ化されたVEXコードが含まれていれば、そのバッジは“フル” Cachedバッジに変わります。

How to

Tip

アセットに変換されていないMaterial Builderノードを使用している場合、そのノードが自動的にキャッシュ化を制御するので、キャッシュ化を有効にする必要はありません。

To...Do this

マテリアルアセットのVEXコードを自動的に事前コンパイルさせる

デジタルアセットのOperator Type PropertiesSave タブの Save cached code オプションを有効にします。

通常では、非常に複雑なマテリアルアセットを編集する必要がない限りは、このオプションを有効なままにし、それを扱う場合はその自動再コンパイルを無効にすると良いでしょう。

ヒントとメモ

  • アセットのロックを解除すると、Houdniは、そのネットワークを読み込みます(通常では、Houdiniはアセットのネットワークを読み込まないようにコンパイルされたVEXコードを使用します)。

  • アセットのロックが解除されている間は、Houdiniはそのネットワークを使用してマテリアルのコードを動的に生成します。

  • アセットを再保存する時(例えば、ノードを右クリックして Save Operator Type を選択するか、Type Propertiesウィンドウで Accept または Apply をクリックします)、キャッシュ化されたVEXコードが再コンパイルされます。

  • ロック解除したノードを同期化する時(ノードを右クリックして Match Current Definition を選択します)、Houdiniはアセットのネットワークをアンロードしてメモリを節約し、キャッシュ化されたコードを使用します。

マテリアル

マテリアルの使い方

テクスチャとUV

マテリアルの作成

導師レベル

他のレンダラー