26 lines
712 B
Markdown
26 lines
712 B
Markdown
|
# Normal Reconstruct Z Node
|
||
|
|
||
|
## Description
|
||
|
|
||
|
Derives the correct Z value for generated normal maps using a given **X** and **Y** value from input **In**.
|
||
|
|
||
|
## Ports
|
||
|
|
||
|
| Name | Direction | Type | Description |
|
||
|
|:------------ |:-------------|:-----|:---|
|
||
|
| In | Input | Vector 2 | Normal X and Y value |
|
||
|
| Out | Output | Vector 3 | Output value |
|
||
|
|
||
|
## Generated Code Example
|
||
|
|
||
|
The following example code represents one possible outcome of this node.
|
||
|
|
||
|
```
|
||
|
void Unity_NormalReconstructZ_float(float2 In, out float3 Out)
|
||
|
{
|
||
|
float reconstructZ = sqrt(1.0 - saturate(dot(In.xy, In.xy)));
|
||
|
float3 normalVector = float3(In.x, In.y, reconstructZ);
|
||
|
Out = normalize(normalVector);
|
||
|
}
|
||
|
```
|