arenos-nexus/Arenos Nexus/Library/PackageCache/com.unity.shadergraph@940512a5d7e1/Documentation~/Normal-Unpack-Node.md
Daniel 2e704cae70 init
Init Commit Unity
2025-09-25 22:01:28 +02:00

1.5 KiB

Normal Unpack Node

Description

Unpacks a normal map defined by input In. This node is used to unpack a texture that is defined as a Normal Map in its Texture Import Settings when it is sampled as if it were a default texture.

Data is stored in textures from 0 to 1. But vectors need to be from -1 to 1. Unpacking the normal means to expand its range from the original range to a range of -1 to 1, so you can use it as a vector.

Note that in most cases this node is unnecessary as the normal map should be sampled as such by setting its Type parameter to Normal when it is sampled using a Sample Texture 2D or Triplanar node.

Ports

Name Direction Type Binding Description
In Input Vector 4 None Input value
Out Output Vector 3 None Output value

Controls

Name Type Options Description
Space Dropdown Tangent, Object Sets the coordinate space of the input normal.

Generated Code Example

The following example code represents one possible outcome of this node per Space mode.

Tangent

void Unity_NormalUnpack_float(float4 In, out float3 Out)
{
    Out = UnpackNormalMapRGorAG(In);
}

Object

void Unity_NormalUnpackRGB_float(float4 In, out float3 Out)
{
    Out = UnpackNormalmapRGB(In);
}