On this page |
Propertiesは、下位レベルから引き継いだ様々なレベル(レンダラー、カメラ、オブジェクト、プリミティブ)に追加できるレンダリングパラメータです。
Propertiesシェーダを持つマテリアルを適用すると、基本的にはシェーダのプロパティがターゲットオブジェクトにコピーされます。 しかし、各オブジェクトのプロパティは、オブジェクトのシェーダのプロパティを上書きします。
プロパティをオブジェクトに直接追加するのではなく、シェーダを通して適用すると、以下の様な状況で役に立ちます。
-
Noise Displacementマテリアル内では、PropertiesシェーダはDisplacement Boundsプロパティをターゲットオブジェクトに追加し、 それを自動的に兄弟関係にあるディスプレイスメントシェーダ上に設定された変位の最大量と同じ量で設定します。
-
例えばキャラクタ内部の目玉など、他のオブジェクト内部にあるオブジェクトにマテリアルが割り当てられている場合、 マテリアル内のPropertiesシェーダを使って、ターゲットオブジェクトにカスタムライトマスクを与えることができます。
-
Instance Objectでは、インスタンスしたジオメトリのプロパティを上書きする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 |