Twirl ノード
説明
入力 UV の値に、ブラックホールのような渦巻き状のワープ (ゆがみ) の効果を適用します。ワープ効果の中心基準点は入力 Center で定義され、効果の全体的な強度は入力 Strength の値で定義されます。入力 Offset で結果の個々のチャンネルをオフセットできます。
ポート
Name | Direction | タイプ | バインディング | 説明 |
---|---|---|---|---|
UV | 入力 | Vector 2 | UV | 入力 UV 値 |
Center | 入力 | Vector 2 | なし | 中心の基準点 |
Strength | 入力 | Vector 1 | なし | 効果の強度 |
Offset | 入力 | Vector 2 | なし | 個々のチャンネルのオフセット |
Out | 出力 | Vector 2 | なし | 出力 UV 値 |
生成されるコードの例
以下のサンプルコードは、このノードの出力の一例を示したものです。
void Unity_Twirl_float(float2 UV, float2 Center, float Strength, float2 Offset, out float2 Out)
{
float2 delta = UV - Center;
float angle = Strength * length(delta);
float x = cos(angle) * delta.x - sin(angle) * delta.y;
float y = sin(angle) * delta.x + cos(angle) * delta.y;
Out = float2(x + Center.x + Offset.x, y + Center.y + Offset.y);
}