Adding some perspective to your Unity 2D game.
์ ํฌ ๊ฒ์์ธ Verdant Skies์์๋ ์์ผ๋ก ๊ทธ๋ฆฐ ์ ํต์ ์ธ ๋๋์ ์ด๋ฆฌ๋,
ํ 3D ์๊ทผ๋ฒ์ ์ ์ฉํ๊ณ ๊ทธ๋ฆผ์์ ๋ฌผ ๋ฐ์ฌ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ถ๊ฐํ์ฌ ๋์ฑ ํฅ๋ฏธ๋กญ๊ฒ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค.
์ด๋ ์๊ท๋ชจ ํ์ ์ญ๋์ ์ ๋ง์์ต๋๋ค.
๊ตฌํ 2D ํ๋์จ์ด์์๋ ๋๋ก์ ์์(์ญ์ฃผ:์ ๋ํฐ์๋ Sorting order๋ ๋น์ท)๋ฅผ ๋งค๊ธฐ๊ณ , ๊ฐ ์คํ๋ผ์ดํธ์ ์์น์ ์ค์ผ์ผ์ ๊ณ์ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋น์ทํ ๋ชจ์์ ๊ตฌํํ ์ ์์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ธฐ ์์
ํ์ง๋ง 3D ์์ง(Unity)์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์๊ณ ๋ฅผ ๋ ์ ์์์ต๋๋ค!
๊ธฐ๋ณธ ์ค์ ์ผ๋ก๋ ์ด์ ๊ฐ์ ํฌ์์ ๋ง๋๋ ๋ฐ ๋์์ด ๋์ง ์์ผ๋ฉฐ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ฒซ์งธ๋ก, Unity๋ ์ด์ ๊ฐ์ ์ฌ์์ ์คํ๋ผ์ดํธ๋ฅผ ๊น์ด ์ ๋ ฌ(Depth Sort)ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฆ ๋๋ค.
๋์งธ, (์๊ทผ๊ฐ์ ์ฃผ๊ธฐ ์ํ) ํ์ํ ํฌ์(projection )์ Unity์์ ์ ๊ณตํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํฌ์์ด ์๋๋ฉฐ,
์ ๋ํฐ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ํฌ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ฌผ์ด ์๋นํ ๋๋น ๋ณด์ผ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ฌ๋ฐ๋ฅธ ์ค์ ๊ณผ ์ฝ๊ฐ์ ๋งคํธ๋ฆญ์ค ์ํ์ ์ฌ์ฉํ๋ฉด ๋ง์ ์์ ์์ด๋ ๊ณ ์ ์ ์ธ ํฌ์์ ์ป์ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ ๊ฒ์์ ์ธํฐ๋ํฐ๋ธ WebGL ๋ฐ๋ชจ๋ฅผ ํ๋ ์ด ํด๋ณด์ธ์.(์ญ์ฃผ:๋งํฌ ์ฌ๋ฆฌ๋ฉด ๊ธ์ญ๋์ ๋งํฌ ์์ฌ๋ฆผ)
์นด๋ฉ๋ผ ์คํฌ๋ฆฝํธ ๋งํฌ๋ ์ด ๊ธ์ ๋ง์ง๋ง์ ์๋ ๋ฆฌ์์ค ์น์ ์ ํฌํจ๋์ด ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ ์คํ๋ผ์ดํธ๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋ก ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋๋ถ๋ถ์ 2D ๊ฒ์์ ์ํ ๋ธ๋ ๋ฉ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Unity๋ Z ๋ฒํผ์ ๋์ ์์ด ์คํ๋ผ์ดํธ๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋ก ๊ทธ๋ ค์ผ ํฉ๋๋ค.
(์ญ์ฃผ:์ํ ๋ธ๋ ๋ฉ์ ์คํ๋ผ์ดํธ ์์ ์คํ๋ผ์ดํธ๋ฅผ ํ๊ธฐํ ๋ ํฌ๋ช
ํ๊ฒ ๋น์น๋ ํจ๊ณผ๋ฅผ ๋ด๊ธฐ์ํด ์์ํํ๊ฐ RGB์ ์ถ๊ฐ๋ก ์ ๊ฐ์ ํ ๋นํ์ฌ ๋ฐฐ๊ฒฝ RGB์์ ์ RGB๊ฐ์ ํผํฉํ๋ ๊ฒ, ์ ๋ํฐ์์ )
(์ฌ๊ธฐ์ ๋ณด๋ค์ํผ A๋ผ๋ ๊ฐ์ด ๊ทธ ํฌ๋ช ๋๋ฅผ ๋งํจ)
2D ๊ฒ์์ ๋ํ Unity์ ์ ๋ ฌ ์ง์์ ๋ค์ ์ ํ์ ์ด๋ฉฐ, ์ฌ๋๋ค์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐฝ์์ ์ด๊ธด ํ์ง๋ง ์ง๋ฃจํ ์๋๋ฅผ ๋ง์ด ํด์์ต๋๋ค.
๋คํํ๋ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์กฐํฉํ๋ฉด ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค.
Verdant Skies๋ 3D ์๊ทผ๋ฒ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊น์ด ์ ๋ ฌ์ z๊ฐ์ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ ์ ์์์ต๋๋ค.
z์ถ์ ๋ฐ๋ผ ์ค๋ธ์ ํธ๋ฅผ ์ด๋ํ๋ฉด ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋๊ณ ๋ฐ์ฌ์ ๊ทธ๋ฆผ์๊ฐ ๊นจ์ง๋๋ค.
๋ํ Unity ๋์ค๋ ์คํ๋ผ์ดํธ์ ์ค์ฌ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ์คํ๋ผ์ดํธ๋ ๋ฐ๋ฅ์ ๋์ ์๊ณ ์ด๋ค ์คํ๋ผ์ดํธ๋ ๋๋ฐ๋ก ์ ์๊ธฐ ๋๋ฌธ์ ์นด๋ฉ๋ผ์ ์์กดํ์ฌ Verdant skies์ ์คํ๋ผ์ดํธ๋ฅผ ์๋์ผ๋ก ์ ๋ ฌํ ์ ์์์ต๋๋ค.
ํ๋ ์ด์ด๊ฐ ์ง๋ฉด์ด ๊ทธ๋ ค์ง ์ชผ๊ฐ๋ฆฌ(Ground Patchs) ์ค์์ ์ง๋๊ฐ๋ฉด ์คํ๋ผ์ดํธ๊ฐ ๋ ๋ฐ์ผ๋ก ์ฌ๋ผ์ง๊ธฐ๋ ํ์ต๋๋ค!
์ ๋ ฌ ๋ ์ด์ด(Sorting Layer)์ Sroting Order(์ ๋ ฌ ์์)์ฌ์ฉํ๋ ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ ์์ง์ผ ๋๋ง๋ค ์ ๋ ฌ ์์๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋ฏ๋ก ์ด์์ ์ด์ง ์์ต๋๋ค.
๋ํ Sroting Order(์ ๋ ฌ ์์) ํ๋กํผํฐ๋ ์ ๋ฐ๋๊ฐ ๋งค์ฐ ๋ฎ์์(16๋นํธ์ ๋ถ๊ณผ) ์๋์ ํฌ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
๋์ ์ ๋ ฌ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํ๋ผ์ดํธ๋ฅผ ๋ฐ๋ฅ๋ถํฐ ๊ทธ๋ ค๋๊ฐ๊ณ , ์ง๊ต ์นด๋ฉ๋ผ ์ํ ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋ ์ด์ด ๋ด์์ ์คํ๋ผ์ดํธ๋ฅผ ๊น์ด ์ ๋ ฌ(Depth Order)ํฉ๋๋ค.
๊ธฐ๋ณธ ์ง๋ฉด(Ground Patch)์ ๋จผ์ ๊ทธ๋ฆฐ ๋ค์ ๊ทธ ์์ ์๊ฐ, ๋คํ ๋ฑ์ ์ชผ๊ฐ๋ฆฌ(Patchs)๋ฅผ ๊ทธ๋ฆฐ ๋ค์ ๋ง์ง๋ง์ผ๋ก ๋๋ฐ๋ก ์ ์๋ ์คํ๋ผ์ดํธ๋ฅผ ๊ทธ๋ ธ์ต๋๋ค.
์ง๋ฉด ๊ทธ๋ฆผ ์ชผ๊ฐ๋ฆฌ๋ ํญ์ ํํํ๊ณ , ์๋ฌผ๊ณผ ์บ๋ฆญํฐ๋ ํญ์ ๋๋ฐ๋ก ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ ๋ ์ด์ด๋ ๋ณ๊ฒฝ๋์ง ์๊ณ ๊ฐ๋จํ ์ค์ ์ผ๋ก ๋๋ฉ๋๋ค.
๋จ์ ์์ ์ ๊ฐ์ ๋ ์ด์ด ๋ด์ ์คํ๋ผ์ดํธ๋ฅผ ์ ๋ ฌํ๋ ๊ฒ์ ๋๋ค. ์ด ์์ ์ ์ง๋ฆฝํ ์ค๋ธ์ ํธ์์๋ง ์ค์ํ๋ฉฐ, ์ฌ์ ๊น์ด์ ๋ฐ๋ผ ์๋์ผ๋ก ์ ๋ ฌ๋๊ธฐ๋ฅผ ์ํฉ๋๋ค.
์ง๊ต(Orthographic ) ์นด๋ฉ๋ผ๋ ์ด๋ฏธ ์ฌ๋ฐ๋ฅธ ์ ๋ ฌ ๋ชจ๋๋ก ๊ธฐ๋ณธ ์ค์ ๋์ด ์์ต๋๋ค.
ํ์ง๋ง ์๊ทผ(perspective ) ์นด๋ฉ๋ผ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ชจ๋๋ ์นด๋ฉ๋ผ ์ค์ฌ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ธ์ ํธ๋ฅผ ๋น๊ตํฉ๋๋ค. ์คํ๋ผ์ดํธ์ ๊ฒฝ์ฐ ์นด๋ฉ๋ผ๋ฅผ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ฉด ์คํ๋ผ์ดํธ๊ฐ ์๋ก ์์ชฝ์ผ๋ก ํ์ด๋์ค๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ์์ ์๋ํ์ง ์์ต๋๋ค.
ํนํ ๊ฑด๋ฌผ์ด๋ ๋๋ฌด์ ๊ฐ์ ํฐ ์คํ๋ผ์ดํธ์์ ๋์ ๋๊ฒ ๋ํ๋๋ฉฐ ๋งค์ฐ ์ด์ํ ์ ์์ต๋๋ค.
๋คํํ๋ ์ง๊ต ์นด๋ฉ๋ผ์ฒ๋ผ ๊น์ด๋ณ๋ก ์ ๋ ฌํ๋๋ก ์๊ทผ ์นด๋ฉ๋ผ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Start() ๋ฉ์๋์์ ๊ฐ๋จํ ์นด๋ฉ๋ผ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ข ํฉํ๋ฉด, ๋ ์ด์ด ์ ๋ ฌ์ ์คํ๋ผ์ดํธ๋ฅผ ์๋์์ ์๋ก ๊ทธ๋ฆฌ๊ณ ์นด๋ฉ๋ผ์ ๊น์ด ์ ๋ ฌ์ ์คํ๋ผ์ดํธ๋ฅผ ์๋ค๋ก ๊ทธ๋ฆฝ๋๋ค.
๋ชจ๋ ์ ๋ ฌ์ ๋ณ๋์ ์คํฌ๋ฆฝํธ ๊ฐ์ ์์ด ์๋์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
๊ฐ์ฅ ํ์คํ ํด๊ฒฐ์ฑ ์ ์๊ทผ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด์ง๋ง, ์์ ์คํฌ๋ฆฐ์ท์ ๋ณด๋ฉด ๋ฌธ์ ๊ฐ ์์์ ์ ์ ์์ต๋๋ค.
์์ผ๊ฐ์ด 60ยฐ์ ๋ถ๊ณผํ ๊ฒฝ์ฐ์๋ ์นด๋ฉ๋ผ๊ฐ ํ๋ฉด ํ๋จ ๊ทผ์ฒ์ ์คํ๋ผ์ดํธ๋ฅผ ๋ฐ๋ก ๋ด๋ ค๋ค๋ณด๊ณ ์์ด ์ข ์ด์ฒ๋ผ ์์ ์คํ๋ผ์ดํธ์ ์กด์ฌ๊ฐ ๋๋ฌ๋ฉ๋๋ค.
๋ฐ๋ฉด์ ์๋จ ๊ทผ์ฒ์ ๋๋ฌด๋ ์ ์์ ์ผ๋ก ๋ณด์
๋๋ค.
(์ญ์ฃผ: ์ฆ Y๊ฐ์ด ๋์์๋ก ์ ์์ ์ผ๋ก ๋ณด์ด์ง๋ง ๋ฎ์์๋ก, ๋์์์ด ๋คํด)
์ง๊ต ํฌ์์ ๊ทธ๋ค์ง ํจ๊ณผ์ ์ด์ง ์์ต๋๋ค. ์ํธ๊ฐ ํํํ ์ ๋ฉด(facade,์ ๋ฉด)์์ ์จ๊ธฐ๋ ๋ฐ๋ ๋ ํจ๊ณผ์ ์ด์ง๋ง
๋ชจ๋ ์คํ๋ผ์ดํธ๊ฐ ๊ฐ์ ์์ผ๋ก ์๊ณก๋์ด ๋ชจ๋ ์ฐ๊ทธ๋ฌ์ ธ ๋ณด์ ๋๋ค!
์ด ๋ ๊ฐ์ง ๊ธฐ๋ณธ ํฌ์์ ๋ํ ์ ์ฌ์ ์์ ์ฌํญ์ ๋ชจ๋ ์คํ๋ผ์ดํธ๊ฐ ์นด๋ฉ๋ผ๋ฅผ ํฅํ๋๋ก ๊ธฐ์ธ์ด๋ฉด ์ข์ ๋ณด์ผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ์ด๊ฒ์ด ๋ฐ๋ก ์์ ์ฌํญ์
๋๋ค. ๋ชจ๋ ์ฅ๋ฉด์์ ๋ชจ๋ ์คํ๋ผ์ดํธ๋ฅผ ๊ธฐ์ธ์ด๋ ๊ฒ์ ์ง๋ฃจํ ์ ์์ผ๋ฏ๋ก ์ํ์ ํ์ฉํ๋ฉด ๋ฉ๋๋ค!
์ด ๋ชจ๋ ๊ฒฝ์ฐ์์ ์ฐ๋ฆฌ๋ ํ ์ขํ ๊ณต๊ฐ(3D ์ขํ)์์ ๋ค๋ฅธ ์ขํ ๊ณต๊ฐ(ํ๋ฉด ์ขํ)์ผ๋ก์ ๋งคํ์ ์ดํด๋ณด๊ณ ์์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ํฌ์์ ๋ณธ์ง์ด๋ฉฐ, ์ ๋ํฐ๊ฐ ์ ๊ณตํ๋ ๋ ๊ฐ์ง ํฌ์ ์ธ์๋ ์ ์ฉํ ํฌ์์ด ๊ฝค ๋ง์ด ์์ต๋๋ค.
2์ ๋๋ 3์ ํฌ์, ์ง๊ต ํฌ์, ์์ด์๋ฉํธ๋ฆญ ํฌ์์ ๋ํด ๋ค์ด๋ณด์ จ์ ๊ฒ์ ๋๋ค.
์ด๋ ์ ํ ํฌ์์ ์์์ด์ง๋ง, ์ด์ ๋ ์ฆ(fisheye eyes)๋ ์ง๊ตฌ ์ ๋์์ ๋ณผ ์ ์๋ ์ด์ํ ์ง๋ ํฌ์๊ณผ ๊ฐ์ ๋น์ ํ ํฌ์๋ ๋ง์ด ์์ต๋๋ค.
์ค์๊ฐ 3D ๊ทธ๋ํฝ์ ๋งคํธ๋ฆญ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฏ๋ก Unity์์ ์ ๊ณตํ๋ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ํฌ์์ ๋งคํธ๋ฆญ์ค๋ก ํํํ ์ ์๋ ๊ฒ์ ์ด์ฉ๋ฉด ๋น์ฐํ ์ผ์
๋๋ค.
์ฌ์ค ๋ชจ๋ ์ ํ ํฌ์์ ๋งคํธ๋ฆญ์ค๋ก ์ถ์ํ ์ ์์ผ๋ฏ๋ก ํฅ๋ฏธ๋ก์ด ์ง๋ฌธ์ ์ด๋ค ํฌ์์ด ์ ํ ํฌ์์ธ๊ฐ ํ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ฝ๊ฒ ์๊ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ธ์์์ ์ง์ ์ด๋ฉด ํฌ์์์๋ ์ง์ ์ด ๋๋ค๋ ๊ฒ์ ๋๋ค.
์ด ๊ท์น์ ์๋ฐฉํฅ์ผ๋ก๋ ์ ์ฉ๋๋ฏ๋ก ํ๋ฉด์ ๋ชจ๋ ์ง์ ์ ์ธ์์ ์ง์ ์์๋ ํฌ์๋ฉ๋๋ค.
์ฌ๋ฐ๋ฅธ ๋งคํธ๋ฆญ์ค๋ง ์์ผ๋ฉด Unity์์ ์ํ๋ ๋ชจ๋ ์ ํ ํฌ์์ ๋ ๋๋งํ ์ ์์ผ๋ฉฐ, ์ฌ์ง์ด ์ธํฐ๋ง์ ๋
ํนํ(๋๋ก๋ ์ด์ํ) ๋น์ค๋ฌํ ํฌ์๋ ๋ ๋๋งํ ์ ์์ต๋๋ค!
---
๋๋จธ์ง๋ ๋ด์ผ ์ถ๊ฐ๋ก ๋ฒ์ญํจ.
์ค๋์ ์ฝ๋ฉํด์ผํจ
๋๊ธ 1