docs.unity3d.com
    Show / Hide Table of Contents

    Sample Texture 2D Node

    Description

    Samples a Texture 2D and returns a Vector 4 color value for use in the shader. You can override the UV coordinates using the UV input and define a custom Sampler State using the Sampler input.

    To use the Sample Texture 2D Node to sample a normal map, set the Type dropdown parameter to Normal.

    NOTE: This Node can only be used in the Fragment Shader Stage. To sample a Texture 2D in the Vertex Shader Stage use a Sample Texture 2D LOD Node instead.

    If you experience texture sampling errors while using this node in a graph which includes Custom Function Nodes or Sub Graphs, you can resolve them by upgrading to version 10.3 or later.

    Ports

    Name Direction Type Binding Description
    Texture Input Texture 2D None Texture 2D to sample
    UV Input Vector 2 UV UV coordinates
    Sampler Input Sampler State Default sampler state Sampler for the texture
    RGBA Output Vector 4 None Output value as RGBA
    R Output Float None red (x) component of RGBA output
    G Output Float None green (y) component of RGBA output
    B Output Float None blue (z) component of RGBA output
    A Output Float None alpha (w) component of RGBA output

    Controls

    Name Type Options Description
    Type Dropdown Default, Normal Selects the texture type
    Space Dropdown Tangent, Object Selects the space of the normal map. If Type is not Normal, this control is ignored.
    Enable Global Mip Bias Toggle On, Off Enables the automatic global mip bias imposed by the runtime. This bias is set during certain dynamic resolution scaling algorithms to improve detail reconstruction.

    Generated Code Example

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

    Default

    float4 _SampleTexture2D_RGBA = SAMPLE_TEXTURE2D(Texture, Sampler, UV);
    float _SampleTexture2D_R = _SampleTexture2D_RGBA.r;
    float _SampleTexture2D_G = _SampleTexture2D_RGBA.g;
    float _SampleTexture2D_B = _SampleTexture2D_RGBA.b;
    float _SampleTexture2D_A = _SampleTexture2D_RGBA.a;
    

    Normal

    float4 _SampleTexture2D_RGBA = SAMPLE_TEXTURE2D(Texture, Sampler, UV);
    _SampleTexture2D_RGBA.rgb = UnpackNormalRGorAG(_SampleTexture2D_RGBA);
    float _SampleTexture2D_R = _SampleTexture2D_RGBA.r;
    float _SampleTexture2D_G = _SampleTexture2D_RGBA.g;
    float _SampleTexture2D_B = _SampleTexture2D_RGBA.b;
    float _SampleTexture2D_A = _SampleTexture2D_RGBA.a;
    
    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