Houdini 17.0 ノード シェーダノード

Properties shader node

シェーダが割り当てられたオブジェクトにプロパティを追加します。

On this page

Propertiesは、下位レベルから引き継いだ様々なレベル(レンダラー、カメラ、オブジェクト、プリミティブ)に追加できるレンダリングパラメータです。

Propertiesシェーダを持つマテリアルを適用すると、基本的にはシェーダのプロパティがターゲットオブジェクトにコピーされます。 しかし、各オブジェクトのプロパティは、オブジェクトのシェーダのプロパティを上書きします。

プロパティをオブジェクトに直接追加するのではなく、シェーダを通して適用すると、以下の様な状況で役に立ちます。

パラメータ

Propertiesシェーダを作成する時点では、そのシェーダにはパラメータはありません。 シェーダノードにプロパティを追加すると、それらのプロパティが、シェーダを使うオブジェクトやプリミティブに適用されます。

ノードにプロパティを追加する方法を参照してください。

Examples

The following examples include this node.

FieldForceSmoke Example for Field Force dynamics node

SmokeシミュレーションからVelocityフィールドを抽出して、それをPOPシミュレーションの風のフォースとして使用します。

FlipFluidWire Example for FLIP Solver dynamics node

このサンプルでは、Flip SolverとFluid Force DOPの使い方を説明しています。 Fluid Force DOPを使って、FLIP流体の動きに応じてワイヤーオブジェクトに力を加えています。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。

FillGlass Example for Fluid Object dynamics node

他のRBDオブジェクトからのシミュレーションをソースとした流体でRBDコンテナを満たします。

PaintedGrog Example for Fluid Object dynamics node

このサンプルでは、色の付いた滴を落として、Grogキャラクタをペイントするためにトーラスを作成しています。 Grogキャラクタは、その色の付いたトーラスによって色が付着します。 このサンプルでは、流体シミュレーションにカラー情報を追加する方法も説明しています。

TeapotUnderTension Example for Gas Surface Tension dynamics node

このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。

パーティクル流体の浮力

このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。

PressureExample Example for Particle Fluid Solver dynamics node

このサンプルでは、Viscosity(粘度)を考慮しない圧力駆動型の単純なフローを説明しています。 また、継続的にパーティクル流体を放出する方法とParticle Fluid Surface SOPによる流体のサーフェス化の方法も説明しています。

ViscousFlow Example for Particle Fluid Solver dynamics node

このサンプルでは、パーティクルベースの流体によって高い粘度の流れを作成する方法を説明しています。 この流体によって、溶岩や泥のような遅い流れの流体をシミュレーションすることができます。

rbdsmokesource Example for Smoke Object dynamics node

ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。

Down Hill Lava Flow Example for Material shader node

このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。

Note

Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。

FirePit Example for Material shader node

Note

このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。

炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。 炎には、黄色または青のFlameテクスチャのどれかを割り当てています。 Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。 また、flameOpacMap.jpgというマスクファイルを使って、上部にFlameの形状を調整しています。 noise offsetを$TでY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。

炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。 Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBYなどのローカル変数を使ってテクスチャをアニメーションさせることができます。 そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。 これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kdアトリビュート)をスタンプしてアニメーションしています。

VolumeNoiseIso Example for Mantra: VEX Volume Procedural shader node

このサンプルでは、Mantraのボリュームレンダリング機能を使って、CVEXシェーダで定義したアイソサーフェスをレンダリングする方法を説明しています。 noiseフィールドをCVEXシェーダで生成し、それをVEX Volume Proceduralに接続しています。 密度が0のサーフェスを見つけて、法線を表示するSimple Surfaceシェーダを使ってシェーディングすることで、ボリュームをシェーディングします。

See also

シェーダノード