ํน์ ์์??
UPR ์ ฐ์ด๋ ๊ทธ๋ํ๋ก ์ ฐ์ด๋ ๋ง๋ค๊ณ ์ธ์คํํฐ์์ surface inputs ์์ ํ๋ฉด ๋ค๋ฅธ ๋ชจ๋ ๊ฐ์ ๋จธํ ๋ฆฌ์ผ์ย ์ด์ฉํ๋ ๊ฐ์ฒด๋ค์ด ๋์ผํ๊ฒ ๋ณํ์์.
๊ทผ๋ฐ ์ฌ์ธ์ ์คํ๋ผ์ดํธ ์ ฐ์ด๋ ๊ฐ์ ๊ฑฐ ์ด์ฉํ์ ๋ ์ ๊ทธ๋ฌ๋จ ๋ง์ด์ง.
๊ทธ๋์ ๊น๋ณด๋๊น ์๋ HLSL๊ฐ์ ๋นํธ์ธ ์ ฐ์ด๋? ์ด๋ฐ๊ฑธ๋ก ์์ฑํ๋๋ผ๊ณ
์ ฐ์ด๋ ๊ทธ๋ํ๋ก๋ ์ด๋ ๊ฒ ๊ฐ๋ณ์ ์ผ๋ก ์์น ์กฐ์ ํ๋๋ก ๋ง๋ค ์ ์๋? ์ด๊ฒ์ ๊ฒ ๋ค ๋ค์ ธ๋ด๋ ๋พฐ์กฑํ ์๊ฐ ์ ๋ ์ค๋ฅด๋ค;;
์ถ์ : ์คํฌ๋ฆฝํธ์์ย MaterialProprertyBlock mbp = new MaterialPropertyBlock() ๋ง๋ค์ด์ ํ๋ ๋ฐฉ๋ฒ์ ์์. ๋ด๊ฐ ์๊ณ ์ถ์ ๊ฑด ์ด๊ฑธ ๊ทธ๋ฅ ์ ฐ์ด๋๊ทธ๋ํ๋ก๋ง, ๋๋ ์ค์ ์ข ๋ง์ ธ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์๋๊ฐ ํ๋ ๊ฑฐ์ผ ใ ใ
์ฌ์ธ์ ์คํ๋ผ์ดํธ ์ ฐ์ด๋๋ ํด๋น ๋ฉํฐ๋ฆฌ์ผ์ ์ฐ๊ณ ์๋ ๋ชจ๋ UI๋ค์ด ๊ฐ์ด ๋ณํ ํ ๋ฐ..
์... ๊ทธ๋ฌ๋๊น ๊ฐ์ ์ ฐ์ด๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒฝ์ฐ ๋ง์ด์ผ. ์ฌ์ธ์์ ๊ทธ๋ผ ์๋ก ๋ง๋ค๋๋ง๋ค ์๋ก์ด ๋จธํ ๋ฆฌ์ผ์ ๋ง๋ค์ด์ฃผ๋๊ฑด๊ฐ?
๊ทผ๋ฐ ๊ทธ๊ฑธ ์ ์ฅํ๊ธฐ ์ด์ ์๋ ์ค์ ๋ก Asset ํด๋์ ์ ์ฅ๋ ์ํ๋ ์๋์ง ์์? ์ด๊ฑด ์ด์บ ํ๋๊ฑฐ์ง?
๋ฐ๋ก ์ ์ฅ ์ ํ๋๋ผ๋ ์์์ฉ์ผ๋ก ๋ง๋ค์ด์ค. ํ๋ฆฌํน ํธ์ง๊ธฐ์ฐฝ ๋ฒ์ด๋๋ฉด ๋ ์๊ฐ๊ณ ๊ทธ๋ผ
์ค ํน์ ๊ทธ๋ผ ๊ทธ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ๋ง๋๋์ง ์์? ์์๋ก ๋ง๋ค์ด์ฃผ๋๊ฑฐ
๋ฐ๋ก ์ ์ฅ ์ ํ์ผ๋ฉด ์ด๋ฏธ ๊ทธ ์ํ์;;
์? ๊ฐ์ฒด์ ์ ฐ์ด๋๊ทธ๋ํ๋ง ์ง์ด๋ฃ์์๊ฐ์์๋๊ฐ? ๊ทธ๋์ ๋จธํ ๋ฆฌ์ผ ๋ง๋ค์ด์ ์ง์ด๋ฃ์ ๋ค์์ ๋จธํ ๋ฆฌ์ผ์ ๋ฃ๋ ๋ฐฉ์์ผ๋ก๋ง ํ์ด์ ๋ชฐ๋๋ค ์ด๋ฐ๊ฐ ์ง๊ฐ๋ฉด ํ ๋ฒ ํด๋ด์ผ๊ฒ ๋ค
๋จธํฐ๋ฆฌ์ผ ํ๋กํผํฐ ๋ธ๋ก์ ์ด์ SRPBatcher๊ฐ ๋ฑ์ฅํด์ ์ ์ ์ฐ๊ณ , ์คํฌ๋ฆฝํธ ํ๋ ์ง์ ๋ฉ์ ๋ ๋๋ฌ๋ ์คํ๋ผ์ดํธ ๋ ๋๋ฌ์ ๋ฐํ ๋จธํฐ๋ฆฌ์ผ์ ์ธ์คํด์ค ์์ฑํด์คฌ๋ค๊ฐ ์ ์ธ ๋ ํ๊ดดํด์ฃผ๋ ๊ฑฐ ์ถ๊ฐํด์ฃผ๋ฉด ๋จ
srpbatcher? ํค์๋ ใฑใ ใฑใ ๊ณต๋ถํด๋ณผ๊ฒ ๊ทผ๋ฐ ๊ทธ ๋ฐฉ์์ผ๋ก ํ๋ฉด ๋ฐํ์์์๋ง ๊ฒฐ๊ณผ๋ฌผ์ ๋ณผ ์ ์์ง ์์? ๋๋ ์๋ํฐ์ฌ์์ ์ธ์คํํฐ ์์น๋ง ๋ฐ๋ก ๋ง์ ธ๋ณด๋ฉด์ ๊ฒฐ๊ณผ๋ฌผ ๋ณด๊ณ ์ถ์ด์ ๊ทธ๋ฌ์ด
๋ญฃ..........?
์ฃ๋ค ๋จธํฐ๋ฆฌ์ผํ๋กํผํฐ๋ธ๋ก์ผ๋ก ์งฐ๋๋ฐ..
ํ ๊ทผ๋ฐ SRP Batcher ๋ณด๊ณ ์๋๋ฐ... ๋จธํ ๋ฆฌ์ผ ํ๋กํผํฐ ๋ธ๋ก์ฒ๋ผ ํ๋ผ๋ฏธํฐ ๋จธํ ๋ฆฌ์ผ๋ง๋ค ๊ฐ๋ณ์ ์ผ๋ก ์กฐ์ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ์๋ ๊ฒ ๊ฐ์๋ฐ...? ๊ทธ๋ฅ ๋ณ๊ฐ์ ๋จธํ ๋ฆฌ์ผ ๋ง๋๋ ๋ฐฉ์์ธ ๊ฒ ๊ฐ์๋ฐ ์ด๊ฒ ์ต์ ํ ๋ ์ ๋ ์ด์ ๊ฐ ์๋?
SRPBatcher๋ ์ฌ๋ฌ๊ฐ์ ๋จธํฐ๋ฆฌ์ผ์ด ์์ด๋ ์ ฐ์ด๋๋ง ๊ฐ์ ๊ฑฐ ์ฐ๊ณ ์์ผ๋ฉด ์์์ ๋ฐฐ์นญ ํด์ค. ๋์ ์ ฐ์ด๋๊ฐ SRPBatcher๋ฅผ ์ง์ํด์ผํจ. Shader Graph๋ก ์ง๊ณ ์๋ค๋ฉด ๋ฑํ ์ถ๊ฐ๋ก ๋ญ ์์ ์ ํด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๊ณ ์ง์ ์ฝ๋ ์ง๊ณ ์๋ค๋ฉด CBuffer๋ผ๋ ๊ฑธ๋ก ํ๋กํผํฐ๋ฅผ ๊ฐ์ธ์ค์ผํจ. URP ์ํ ์ฝ๋๊ฐ SRPBatcher ์ง์ํ๋ ๋ฐฉ์์ผ๋ก ์ง์ฌ์ ธ์์ผ๋ ์ฐธ๊ณ ใฑใฑ
https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@13.1/manual/writing-shaders-urp-unlit-texture.html
์๋ํฐ ์ฌ์์ ๋จธํฐ๋ฆฌ์ผ ๊ฐ ๋ฐ๊ฟ๋ณด๊ณ ์ถ๊ณ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํฅ์ ์ ๋ฐ๊ฒ ํ๊ณ ์ถ๋ค... ๋ผ๋ ๊ฑฐ์ง...? ๊ทธ๋ผ ์ฒ์๋ถํฐ ๋จธํฐ๋ฆฌ์ผ์ ๊ฐ๊ฐ ๋ฐ๋ก ์ค์ ํด์ฃผ๋ ๊ฒ ์ข๋ค๊ณ ๋ด. ์ด๋ ๊ฒ ์จ๋ SRPBatcher๊ฐ ์์์ ๋ฐฐ์นญ ์ ํด์ฃผ๊ธฐ๋ ํ๊ณ .
211214 // ํธ์ฅ์ ์ ๊ทธ๋ ๊ฒ ์ ๋ง์ผ๋ฉด SRPBatcher๋ก ์กฐ๊ธ์ฉ ๋ฐ๊ฟ๋๊ฐ๋ ๊ฒ๋ ์ข์์ง๋... ๋จธ๋ฆฌํฐ์ผ ํ๋กํผํฐ ๋ธ๋ก์ ๊ด๋ฆฌํ๋ ์ฝ๋๊ฐ ์์ด์ง๋ค๋ ์ ์์ ๋ฉ๋ฆฌํธ๊ฐ ํด ๋ฏ...
์ํ... ๋จธํ ๋ฆฌ์ผ์ ๋ฐ๋ก ์จ์ผํ๋๊ตฌ๋ ๊ทธ๋ฐ ๊ฐ๋ ์ด์๊ตฌ๋ ์ดํดํ์ด ํ๊ธด ๋๋ ๋ฃ๊ธฐ๋ก urp์์๋ ๋จธํ ๋ฆฌ์ผ ํ๋กํผํฐ ๋ธ๋ก์ด ํผํฌ๋จผ์ค ์ด์๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค๊ณ ๋ค์ ๊ฒ ๊ฐ๋ค