docs.unity3d.com
    Show / Hide Table of Contents

    Normal Blend Node

    Description

    Blends two normal maps defined by inputs A and B together, normalizing the result to create a valid normal map.

    Ports

    Name Direction Type Binding Description
    A Input Vector 3 None First input value
    B Input Vector 3 None Second input value
    Out Output Vector 3 None Output value

    Controls

    Name Type Options Description
    Mode Dropdown Default, Reoriented Selects the the method used for blending.

    Generated Code Example

    The following example code represents one possible outcome of this node per 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;
    }
    
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023