Normal Blend ノード
説明
入力 A で定義される法線マップと入力 B で定義される 2 つの法線マップをブレンドし、結果を正規化して有効な法線マップを作成します。
ポート
Name | Direction | タイプ | バインディング | 説明 |
---|---|---|---|---|
A | 入力 | Vector 3 | なし | 1 つ目の入力値 |
B | 入力 | Vector 3 | なし | 2 つ目の入力値 |
Out | 出力 | Vector 3 | なし | 出力値 |
制御
Name | タイプ | オプション | 説明 |
---|---|---|---|
Mode | ドロップダウン | Default、Reoriented | ブレンドの方法を選択します。 |
生成されるコードの例
以下のサンプルコードは、Mode ごとに、このノードの出力の一例を示したものです。
Default
void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
{
Out = normalize(float3(A.rg + B.rg, A.b * B.b));
}
Reoriented
void Unity_NormalBlend_Reoriented_float(float3 A, float3 B, out float3 Out)
{
float3 t = A.xyz + float3(0.0, 0.0, 1.0);
float3 u = B.xyz * float3(-1.0, -1.0, 1.0);
Out = (t / t.z) * dot(t, u) - u;
}