Version: Unity 6.0 (6000.0)
언어 : 한국어
커스텀 렌더 텍스처 생성
커스텀 렌더 텍스처가 업데이트되는 시점 제어

커스텀 렌더 텍스처의 셰이더 작성

커스텀 렌더 텍스처를 수동으로 업데이트하기 위해 특수한 커스텀 렌더 텍스처 셰이더를 작성할 수 있습니다.

커스텀 렌더 텍스처 셰이더를 작성하는 데 도움이 되도록 유틸리티 함수와 빌트인 도우미 변수가 포함된 두 가지 예시 프레임워크를 제공합니다.

다음은 컬러를 곱한 컬러로 텍스처를 채우는 셰이더 예시입니다. 커스텀 렌더 텍스처용 셰이더를 작성할 때는 다음을 수행해야 합니다.

  • #include "UnityCustomRenderTexture.cginc".
  • 제공된 버텍스 셰이더 CustomRenderTextureVertexShader 사용
  • 픽셀 셰이더에 제공된 입력 구조 v2f_customrendertexture 사용
Shader "CustomRenderTexture/Simple"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _Tex("InputTex", 2D) = "white" {}
     }

     SubShader
     {
        Lighting Off
        Blend One Zero

        Pass
        {
            CGPROGRAM
            #include "UnityCustomRenderTexture.cginc"
            #pragma vertex CustomRenderTextureVertexShader
            #pragma fragment frag
            #pragma target 3.0

            float4      _Color;
            sampler2D   _Tex;

            float4 frag(v2f_customrendertexture IN) : COLOR
            {
                return _Color * tex2D(_Tex, IN.localTexcoord.xy);
            }
            ENDCG
            }
    }
}

다음 예시는 커스텀 렌더 텍스처를 초기화하는 데 사용할 수 있는 머티리얼의 셰이더입니다. 초기화 머티리얼용 셰이더를 작성하는 경우 다음 단계를 반드시 수행해야 합니다.

  • #include "UnityCustomRenderTexture.cginc"

  • 제공된 버텍스 셰이더 CustomRenderTextureVertexShader 사용

  • 픽셀 셰이더에 제공된 입력 구조 v2f_customrendertexture 사용

Shader "CustomRenderTexture/CustomTextureInit"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _Tex("InputTex", 2D) = "white" {}
    }

    SubShader
    {
        Lighting Off
        Blend One Zero

        Pass
        {
            CGPROGRAM
            #include "UnityCustomRenderTexture.cginc"

            #pragma vertex InitCustomRenderTextureVertexShader
            #pragma fragment frag
            #pragma target 3.0

            float4      _Color;
            sampler2D   _Tex;

            float4 frag(v2f_init_customrendertexture IN) : COLOR
            {
                return _Color * tex2D(_Tex, IN.texcoord.xy);
            }
            ENDCG
        }
    }
}
커스텀 렌더 텍스처 생성
커스텀 렌더 텍스처가 업데이트되는 시점 제어
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961