/* ๋ณธ ๊ธ์ Unity 2020.3.25f1 LTS ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค. */
์ ๋ํฐ 2D ํ๋ก์ ํธ์์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์กฐ๋ช ์ฒ๋ฆฌ๊ฐ ๋์ง ์๋๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ๋ค. ๊ตฌ๊ธ์ ๊ฒ์ ํด๋ณด๋ฉฐ ์ฐพ์๋ณด๋, 2D์์๋ ๋น(Light)์ด ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ ๋น์ ํ๋ด๋ด๋ ์ฌ๋ฌ ๊ธฐ๋ฒ๋ค๋ก ํํ์ ํด์๋ค๊ณ ํ๋ค.
๊ด์์ ๊ฐ๊น์ด ์๋ ์ ์ (Vertex)์ ๋ฐ๊ฒ ํ๊ณ , ๋ฉ๋ฆฌ ์๋ ์ ์ ์ ์ด๋ก๊ฒ ํ๊ฑฐ๋ Material์ Shader ์ค์ ์ "Sprite/Diffuse"๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ฑ์ ๊ธฐ๋ฒ์ ํตํด ๋น์ ์ฒ๋ฆฌ๋ฅผ ํํํด์๋ค๊ณ ํ๋ค.
๊ทธ๋ฐ๋ฐ, ์ ๋ํฐ 2D์์๋ ์ด์ ๋น ์ฒ๋ฆฌ์ ๋ํ ํจํค์ง๋ฅผ ์ง์์ ํ๋ค. URP(Universal Render Pipeline)์ด๋ค. ์ด์ ๋ฒ์ ์ ๊ฒฝ๋ ๋ ๋ ํ์ดํ๋ผ์ธ(LWRP)์ด๋ผ๊ณ ๋ถ๋ ธ๋๋ฐ, ์ง๊ธ์ URP๊ฐ LWRP์ ๊ธฐ๋ฅ๊น์ง ๋์ฒด๋ฅผ ํ๋ ๊ฒ ๊ฐ๋ค. Unity ๊ณต์ ์ฌ์ดํธ์ ๋ณด๋ฉด URP์ ๋ํด ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋ตํ๊ฒ ์ค๋ช ์ด ๋์ด ์๋ค.
URP(Universal Render Pipeline)์ด๋?
- Unity์์ ๋ง๋ ์ฌ์ ์ ๋น๋(build)๋ ์คํฌ๋ฆฝํฐ๋ธ ๋ ๋ ํ์ดํ๋ผ์ธ(Scriptable Render Pipeline)
- ๋ชจ๋ฐ์ผ, ๊ณ ๊ธ ์ฝ์ ๋ฐ PC๊น์ง ๋ค์ํ ํ๋ซํผ์์ ์ต์ ํ๋ ๊ทธ๋ํฝ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ ์ํฐ์คํธ ์นํ์ ์ธ ์ํฌํ๋ก ์ ๊ณต
์์ ๊ฐ์ ์ค๋ช ๋ง๊ณ ๋ ๊ต์ฅํ ๋ง์ ์ค๋ช ๋ค์ด ๋์ ์๋ค. ๋ ๋ ํ์ดํ๋ผ์ธ ๊ฐ๋ , ํํ, ์กฐ๋ช , ์นด๋ฉ๋ผ, ํฌ์คํธ ํ๋ก์ธ์ฑ, ์ ฐ์ด๋ ๋ฐ ๋จธํฐ๋ฆฌ์ผ ๋ฑ๋ฑ... ๋ค ๊ณต๋ถ ํด๋ณด๊ณ ์ถ์ ๊ทธ๋ฐ ๋ด์ฉ๋ค์ด์ง๋ง, ์ฒ์ฒํ ํ๊ธฐ๋ก ํ๊ณ ์ฐ์ ์ URP์ 2D ์กฐ๋ช ์ฌ์ฉ๋ฒ๋ค์ ์ดํด ๋ณด๊ธฐ๋ก ํ๋ค.
URP 2D ์กฐ๋ช ์ฌ์ฉ๋ฒ
์์ ์ ์๊ตฌ ๋ฐ ์ฐธ๊ณ ์ฌํญ
- Unity 2021.2.0b1 ์ด์ ๋ฒ์
- Universal Render Pipelie ๋ฒ์ 10์ด์
- ํ๋ก์ ํธ์์ 2D ๋ ๋๋ฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, URP Asset์ 3D ๋ ๋๋ง๊ณผ ๊ด๋ จ๋ ์ผ๋ถ ์ต์ ์ ์ต์ข ์ฑ ๋๋ ๊ฒ์์ ์ํฅ์ ๋ฏธ์น๊ฑฐ๋ ๋ฏธ์น์ง ์๋๋ค.
Universal RP๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ฌ์ ์ ํ
1. Unity ์๋จ ๋ฉ๋ด๋ฐ Window → Package Manager
2. Unity Registry์์ "Universal RP" ์ค์น
์ฒ์ Package Manager๋ฅผ ์ด๋ฉด, Packages: In Project๋ก ๋์ด ์๋ค. Packages: Unity Registry๋ก ๋ฐ๊พผ ํ, Universal RP๋ฅผ ๊ฒ์ํ์ฌ ์ค์นํ์.
3. Assets ์ฐฝ ์ฐ ํด๋ฆญ → Create → Rendering → Universal Render Pipeline → "Pipeline Asset(Forward Renderer)" ์์ฑ
์์ฑํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ด RenderPipelineAsset๊ณผ RenderPipelineAsset_Renderer๊ฐ ์์ฑ๋๋ค.
RenderPipelineAsset_Renderer ํ์ผ์๋ Universal RP ํจํค์ง๋ฅผ ์ค์นํ ๋ ๋ง๋ค์ด์ง ํฌ์คํธ ํ๋ก์ธ์ค ๋ฐ์ดํฐ๊ฐ ์ฐ๊ฒฐ๋์ด ์๋ค.
์ด์ Universal RP์์ ์ ๊ณตํ๋ ๋ ๋ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ทธ๋ํฝ ์ค์ ์ ํด์ผ ํ๋ค.
4. Unity ๋ฉ๋ด๋ฐ Edit → Project Settings → Graphics → Scriptable Render Pipeline Settings์ ์์ฑํ "RenderPipelineAsset" ๋ฃ๊ธฐ
๋ง์ฐ์ค ๋๋๊ทธ๋ฅผ ํด์ ๋ฃ์ด๋ ๋๊ณ , ์ค๋ฅธ์ชฝ์ ์๋ โจ ์์ด์ฝ์ ๋๋ฌ์ ๋ฃ์ด๋ ๋๋ค.
๋ง์ฝ ํ์ง ์์ค๋ณ๋ก ์ค์ ์ด ํ๊ณ ์ถ๋ค๋ฉด?
Edit → Project Settings → Quality → ์ํ๋ ํ์ง ๋ ๋ฒจ ์ ํ → ์ด์ ์ ์์ฑํ RenderPipeline Asset์ Rendering์ ๋ฃ๊ธฐ
ํ๋ก์ ํธ์ ํฌํจ๋ ๊ฐ ํ์ง ์์ค ๋ฐ ํ๋ซํผ์ ๋ํด ์์์ ์งํํ๋ 2~3๋จ๊ณ๋ฅผ ๋ฐ๋ณต
5. Assets ์ฐฝ ์ฐ ํด๋ฆญ → Create → Rendering → Universal Render Pipeline → "2D Renderer(Experimental)" ์์ฑ
์ด์ 2D ๋ ๋๋ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ค์ผ ํ๋ค. ์์ ๊ฐ์ด ์์ฑํ๋ค.
6. Render Pipeline Asset ํด๋ฆญ ํ Inspector ์ฐฝ์์ General → Renderer List → ์์ฑํ 2D Renderer Data ๋ฃ๊ธฐ
์์ฑํ๋ 2D Renderer๋ฅผ ๋ฃ์ด์ฃผ๊ณ , Default๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค. ์ด๋ก์จ, ์ค๋น๋ ๋ชจ๋ ๋๋ฌ๋ค.
2D Renderer๋ก ์ ๊ทธ๋ ์ด๋
Edit → Render Pipeline → Universal Render Pipeline → 2D Renderer → ์ต์ ์ ํ
์ ํ ์ต์ ์ด ๋ ๊ฐ์ง๊ฐ ์๋ค. ์ ํํด์ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
- Upgrade Scene to 2D Renderer (Experimental) : ํ์ฌ ์ฌ(Scene)์ 2D ๋ ๋๋ฌ๋ก ์ ๊ทธ๋ ์ด๋
- Upgrade Project to 2D Renderer (Experimental) : ํ์ฌ ํ๋ก์ ํธ(Project)๋ฅผ 2D ๋ ๋๋ฌ๋ก ์ ๊ทธ๋ ์ด๋
๋ณธ์ธ์ Upgrade Scene to 2D Renderer ์ต์ ์ ์ ํํด์ ์งํํ๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด, ์ฌ ๋ด์ ๋น(Light) ์ค๋ธ์ ํธ๊ฐ ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ธ์ ํธ๊ฐ ๊น๋งฃ๊ฒ ๋๋ค.
๋น(Light) ์ค๋ธ์ ํธ ์์ฑ
Hierarchy ์ฐฝ ์ฐ ํด๋ฆญ → Light → 2D
๋น ์ค๋ธ์ ํธ ์ ํ์ด 2D์์ 5๊ฐ์ง๊ฐ ์๋ค.
- Freeform Light 2D (Experimental) : ๋น์ ๋ชจ์์ ์ํ๋ ๋ชจ์์ผ๋ก ์์ ๋กญ๊ฒ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ
- "Spline editor"๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ์ ํธ์ง ๊ฐ๋ฅ
- Sprite Light 2D (Experimental) : ๋น์ ๋ชจ์์ ์ํ๋ ์ด๋ฏธ์ง ๋ชจ์์ผ๋ก ์ค์ ๊ฐ๋ฅ
- Parametric Light 2D (Experimental) : ๋น์ ๋ชจ์์ ๋งค๊ฐ๋ณ์์ ๊ฐ์๋ฅผ ํตํด ์ผ๊ฐํ, ์ฌ๊ฐํ ๋ฑ์ ๋ชจ์์ผ๋ก ์ค์
- Point Light 2D (Experimental) : ์์ ๋ด๊ฐ, ์ธ๊ฐ์ ์กฐ์ ํ์ฌ ์ ๊ตฌ์ฒ๋ผ ํ ์๋, ์์ ๋ฑ์ฒ๋ผ ๋ถ์ฑ๊ผด ๋ชจ์์ผ๋ก๋ ์ค์ ๊ฐ๋ฅ
- Global Light 2D (Experimental) : ์ ์ญ์ ์ผ๋ก ๋น์ถฐ์ฃผ๋ ์กฐ๋ช
. ํ์์ด๋ ๋ฌ์ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค.
- ๋ ์ด์ด(Layer)๋ฅผ ์ด์ฉํด ํน์ ์ค๋ธ์ ํธ๋ฅผ ๋น์ถ ์๋ ์๋ค.
๋ณธ์ธ์ ์ ๊ด์(Point Light 2D)๋ฅผ ์์ฑํด๋ดค๋ค.
์ค์๊ฐ์ผ๋ก ์กฐ๋ช ์ฒ๋ฆฌ์ ๊ทธ๋ฆผ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๊ฒ์ ๋ณผ ์ ์์๋ค. ์ด ํจํค์ง๋ฅผ ์ด์ฉํ์ฌ, ๋ณด๋ค ์์ฑ๋ ๋์ ๊ทธ๋ํฝ์ 2D ๊ฒ์์ ๋ง๋ค ์ ์์ ๊ฒ ๊ฐ๋ค. ๋ด์ฉ์ด ์๋ ๋ ๋ง๋๋ฐ, ์ฐ์ ๊ฐ๋ตํ๊ฒ ์ฌ์ฉํ ์ ์์ ์ ๋๋ก๋ง ์ ๋ฆฌ๋ฅผ ํด๋จ๋ค.
์ฃผ์์ฌํญ
2D Renderer ์ ๊ทธ๋ ์ด๋๋ฅผ ํ๋๋ฐ๋ ๋น์ ์ํฅ์ ๋ฐ์ง ์๋ ์ค๋ธ์ ํธ๊ฐ ์์ ๊ฒฝ์ฐ
- ํด๋น 2D ๊ฒ์ ์ค๋ธ์ ํธ์ Sprite Renderer์ Material์ Sprite-Lit-Default๋ก ๋์ด ์๋์ง ํ์ธ
- Sprite-Lit-Default๋ ์ค๋ธ์ ํธ๊ฐ ๋น์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ํ๋ ๊ธฐ๋ณธ Material
<์ฐธ๊ณ >