Animation カテゴリ - Stingray シェーダ ノード リファレンス

説明

このカテゴリのノードは、シェーディングされるピクセルのローカル アニメーションをシミュレートします。

ノード

入力

scalar

FPS

フリップブック ノードがソース テクスチャのスプライトまたはグリッド セルに切り替える必要がある 1 秒あたりの回数です。

既定値: 5

scalar

Time

現在のシステム時刻です。必須。Input > Time ノードからこの値を取得できます。

vector2

UV

通常は Vertex Inputs > Texcoord ノードから出力される、テクスチャ座標です。必須。

scalar

Sprite Rows

スプライト シート内の行数です。

既定値: 2

scalar

Sprite Columns

スプライト シート内の列数です。

既定値: 2

出力

Out

auto

このフレームのアニメートされたテクスチャからサンプリングする UV 座標です。

Flipbook ノードは、行と列の数を設定できるグリッドに、UV スペースを分割します。 各フレームは、現在の時刻と希望するアニメーション再生速度に基づいて、これらのグリッド セルのうちどれを表示するかを決定します。 次に、テクスチャ座標をその単一セルに制限する出力 UV 値を生成します。

ファイル内のノード定義: core/shader_nodes/flipbook.shader_node

入力

vector4

Vertex Position

ワールド空間の、シェーディングされる頂点の位置です。必須。Transform > Object To World を使用して値を変換する場合、Vertex Inputs > Position ノードからこの値を取得できます。

vector4

Vertex Color

リーフのベンド方法を詳細レベルで決定する RGBA 値です。これらの値は通常、3ds Max または Maya などの DCC ツールで作業を行うアーティストによってメッシュの頂点にペイントされます。

  • 赤のチャネルは、リーフのエッジの硬さを決定します。
  • 緑のチャネルは、リーフごとの位相の変動を決定します。このチャネルで異なる強度を使用してリーフをペイントすることで、すべてのリーフが同時に同じ方向に動くことを避けることができます。
  • 青のチャネルは、全体的なリーフの硬さを決定します。
  • アルファ チャネルは、事前に計算されたアンビエント オクルージョン用に使用されます。

必須。

vector3

World Normal

ワールド空間の、シェーディングされる頂点の法線です。必須。Vertex Inputs > World Normal ノードからこの値を取得できます。

scalar

Time

現在のシステム時刻です。必須。Input > Time ノードからこの値を取得できます。

scalar

Speed

シミュレーションの速度です。

既定値: 0.5

vector2

Bend Amplitude Frequency

このペアの最初の値は、リーフがどの程度ベンド可能かを決定します。2 番目の値は、リーフが元の位置に戻る速さを決定します。

既定値: (0.3, 0.1)

vector2

Detail Amplitude Frequency

このペアの最初の値は、リーフのエッジがどの程度ベンド可能かを決定します。2 番目の値は、エッジが元の位置に戻る速さを決定します。

既定値: (0.05, 0.5)

vector3

Wind

X 軸と Y 軸に沿った風の方向と強さを表すベクトルです。Z 値は使用しません。

既定値: (1.0, 1.0, 0.0)

scalar

Bend Scale

植物が風の方向に沿ってどの程度変形されるかを決定します。

既定値: 0.005

出力

Out

vector3

現在のフレームに計算された位置オフセットです。この出力値を Output > Standard Base シェーダ ノードの Position Offset 入力プラグに渡すことができます。

前提条件
Output nodesこのノードは、次の出力ノードが含まれているシェーダ グラフでのみ使用できます。

Output > Standard Base

まず、全体的な頂点ディスプレイスメントが垂直軸に沿ってオブジェクト全体に適用され、幹のベンドがシミュレートされます。このディスプレイスメントの方向と強度は Wind オプションによってコントロールされ、Bend Scale オプションによってスケールされます。また、ベンドはメッシュの高さに応じて自動的にスケールされ、メッシュの上部は変形されますが、メッシュの下部(すなわち根元)は動きません。

次に、リーフとリーフ エッジがそれぞれ Bend Amplitude/Frequency 設定と Detailed Amplitude/Frequency 設定に基づいて個別にアニメートされます。これらのリーフ アニメーションは、メッシュの頂点をペイントすることで非常に細かいレベルでコントロールできます。Vertex Color 設定を参照してください。

このノードは、NVIDIA の GPU Gems 3この章に記載されている方法に基づいています。

このノードを使用する方法を示すチュートリアルについては、このビデオを参照してください。

ノード定義が含まれているファイル: core/shader_nodes/vegetation_bending.shader_node