CBUFFER๋ ์ฑ๊ฒผ๊ณ , Draw Dynamic์ผ๋ก ๋ ์ด์ ๋ ์๋ ๊ฒ ๊ฐ์๋ฐ Node is not compatible with SRP batcher ์ด๋ฌ๋ฉด์ ๋ฐฐ์นญ์ด ์ ๋ผ;;
์ ๋ ์ด์ ๊ฐ ์์ด ๋ณด์ด๋๋ฐ... ๋ค์์ ์ ฐ์ด๋ ์ฝ๋ ์ ๋ฌธ์ด์ผ
Shader "URP/Unlit/NosingMask"
{
Properties
{
[MainTexture] _BaseMap("Texture", 2D) = "white" {}
[MainColor] _BaseColor("Color", Color) = (1, 1, 1, 1)
}
SubShader
{
Tags { "RenderType" = "Opaque" "Queue"="Geometry" "RenderPipeline" = "UniversalPipeline" }
LOD 100
Pass
{
Name "URPUnlit"
Tags {"LightMode" = "SRPDefaultUnlit"}
Stencil
{
Ref 1
Comp always
Pass replace
}
HLSLPROGRAM
#pragma target 4.5
#pragma exclude_renderers gles d3d9
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
CBUFFER_START(UnityPerMaterial)
float4 _BaseMap_ST;
float4 _BaseColor;
CBUFFER_END
TEXTURE2D(_BaseMap); SAMPLER(sampler_BaseMap);
struct Attributes
{
float4 positionOS : POSITION;
float2 uv : TEXCOORD0;
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float2 uv : TEXCOORD0;
};
Varyings vert(Attributes input)
{
Varyings output = (Varyings)0;
float4 positionOS = input.positionOS;
float3 positionWS = TransformObjectToWorld(positionOS.xyz);
float4 positionCS = TransformWorldToHClip(positionWS);
output.positionCS = positionCS;
output.uv = input.uv;
return output;
}
float4 frag(Varyings input) : SV_Target
{
float2 baseMapUV = input.uv.xy * _BaseMap_ST.xy + _BaseMap_ST.zw;
float4 texColor = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, baseMapUV);
float4 finalColor = texColor * _BaseColor;
return finalColor;
}
ENDHLSL
}
}
}
๋จ์ํ ์ฝ๋๋ผ์ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ๋ค ์ง์ง
์ ฐ์ด๋ ๊ทธ๋ํ ์ฐ๋ค๊ฐ ์คํ ์ค ์ฐ๋ ค๋๊น ์ฝ๋๋ก๋ฐ์ ์ ๋๋ค๊ณ ํด์ ์ง์ง ๊ฐ๊ณ ์ ์ค์ด๋ค
๋๋ํ ์น๊ตฌ ์์ผ๋ฉด ๋ต๋ณ ์ข;;
ํน์ ๋งคํธ๋ฆฌ์ผ์ ์งํจ ์ธ์คํด์ฑ ์ธ์์ด๋ธ ๋์ด์์? ์จ๋ฒํผ ๊น์ง ๋ฐ์๋๋ฐ ์ ์๋๋ค ๋จ๋๊ฑฐ์ง
๊ทผ๋ฐ ์คํ ์ค ๊ทธ๋ํ ๋ ธ๋์๋ ์์ง ์๋..?
๊ทธ๋๊น ๋ฏธ์น๊ฒ ์ ใ ใ ๋จธํ ๋ฆฌ์ผ์ GPU ์ธ์คํด์ฑ ํญ๋ชฉ์ด ์์ ๋ ธ์ถ์ด ์ ๋์ด์์ด
์คํ ์ค ๊ทธ๋ํ ๋ ธ๋์ ์๋๋ฐ...??'
์คํ ์ค์ ๊ทธ๋ํ๋ก ๋ชปํ์ง์์??
์์ด๋, ์ฌ์ง์ด ๋จธํ ๋ฆฌ์ผ์ด ๊ฐ์๋ ๋ผ์ดํธ๋ ๋ ธ๋ง, ํ ์ค์ณ๊ฐ ๋ค๋ฅด๋ฉด ์๋ ์ ์์ฃ
์... ์์ธ์ ์์๋ฐ Sprite Renderer๋ ๊ฐ์ด ์ผ๋๋ฐ ์ด๊ฒ ์๋์ผ๋ก ํ ์ค์ณ๋ฅผ ๋ฎ์ด์์ฐ๊ณ ์์๋ค. 2D ์์์๋ Dynamic draw๊ฐ ๋ ์ ธ๋ ดํด์? ์์์ ์ต์ ํํ๊ฑด๊ฐ? ์๋ฌดํผ ์ถ์ธก์ ๊ทธ๋ผ...
์คํ๋ผ์ดํธ ๋ ๋๋ฌ๋ ๋ด๋ถ์ ์ผ๋ก srp ์ง์ํ ํ ๋ฐ์. ํน์ ์คํ๋ผ์ดํธ์ ์ํ๋ผ์ค๊ฐ ๋ค๋ฅด๊ฒ ์ง์ ๋์ด์๋์ง ํ์ธํด๋ณด์ธ์