ํ๋ ์ด ์์
3D ์ข๋ณด์ด๋๋ฅผ ๋ง๋ค์ด๋ณด์์์,
๊ฐ์ ๋ค๋ฅธ ๋์์ ๋จ์ด์ ธ์, ํ๋ฐ์ ํ๊ณ ํ๋ค๊ฐ ๋ง๋์ ์ธ์ฐ๊ธฐ๋ ํ๊ณ ํ๋ ฅ๋ ํ๋ฉด์, ์คํ ๋ฆฌ๋ ์งํ์ํค๊ณ ๋ค๋ฅธ ์คํ ์ด์ง๋ก ๋์ด๊ฐ๋ฉด์ ์์ดํ ๋ค์ ์จ์ ๊ฒ์์ ํด๋ฆฌ์ด ํ๊ฒ ๊ฐ๋ฐํ์ต๋๋ค.
์์ ๋ค๋ ๋ง์ด ์ผ๊ณ , ์์กด๊ฒ์์ด๋ผ ๋ญ ๋ฃ์ผ๋ ค๋ค๋ณด๋ ๋ค๋ฅธ๊ฒ์๋ค์๋ ์ฌ์ฉํ ๋งํ๊ฑธ ๋ง์ด ๊ณ ๋ฏผํ๊ณ ๋ง์๊ฑธ ๊ฒ์์ ์ค์ ๋ฃ์ผ๋ ค๊ณ ํ๊ฑฐ๊ฐ์์.
ํ์ฐ์ง์์คํ ์ ์ ์ธํ๊ณค ๊ฑฐ์ ๋ค ๊ตฌํํ์ต๋๋ค. ์ํ๊น๊ฒ๋ ํ์ฐ์ง์ ๋ ์ด ๋์ด๋ฌด ๋ง์ด๊ฑธ๋ ค์ ํฌ๊ธฐํ์ด์.
๊ฐ๋ฐ์์ง : ์ ๋ํฐ
๋คํธ์ํฌ : Pun2
๊ฐ๋ฐ๊ธฐ๊ฐ : 5/19~7/7
๊ฐ๋ฐ์ธ์ : 3
์บ๋ฆญํฐ ์ปค์คํฐ๋ง์ด์ง : UMA 2
๋ก๋น ๋ฐ UI : Shift UI
๋ ์จ ๋ฐ ๋ฐค ๋ฎ : WeatherMaker
ํ์ : Github, LFS, Asana, ๋์ค์ฝ๋
Github ์ฃผ์ : https://github.com/bandarLee/ProjectZ
https://github.com/bandarLee/ProjectZ
๊ฐ๋ฐํ ๊ฒ ์ค์, ๋ญ๊ฐ ๋ค๋ฅธ๋ถ๋ค๋ ์ฐธ๊ณ ํ์ค๋งํ๊ฑฐ ํ๋ํ๋ ์์งค ๋ฐ ์ฌ์ง์ผ๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค! ์ง๋ฌธํด์ฃผ์๋ฉด ์์ธํ ๋ต๋ณํ๊ฒ ์ต๋๋ค.
1. ์บ๋ฆญํฐ ์ปค์คํฐ๋ง์ด์ง
UMA 2 (์๋๋ NPC ์์ฑํ๋ก๊ทธ๋จ) ์ ์ฌ์ฉํด์ NPC ๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์์
์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉด ์ค์๊ฐ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ง ์์๊น?
์ถ์ด์ ์ฝ๋๋ฅผ ๋ฏ์ด๋ณด๋๊น,ย NPC ๋ฅผ ๋ง๋๋ ค๊ณ ์๋๊ฑฐ์ธ๋งํผ, ์ค์๊ฐ์ผ๋ก ์ปค์คํฐ๋ง์ด์งํ๋ ๊ธฐ๋ฅ์ด๋ ๋ฉํฐํ๊ฒฝ์์์ ์ง์์ ๊ฑฐ์ ์์์ต๋๋ค.
๊ทธ๋์ ๋ฉํฐํ๊ฒฝ์์ ๊ฐ๊ฐ์ ์บ๋ฆญํฐ๋ค์ ๋ณ์ ์์ผ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ์ต๋๋ค.
๊ทธ๋์ ์ฝ๋๋ฅผ ๋ฏ๊ณ ๋ฏ์ด์, ํ ์คํธํ์ผ(DNA ๋ผ๊ณ ๋ถ๋ฆฌ๋) ๊ฐ๋ค์ด ์กด์ฌํ๊ณ , ๊ทธ ์ค์ ๋๋ก ์บ๋ฆญํฐ๋ฅผ ๋ณ์ (build) ์ํค๋ ๋ฒ์ ์์๋๊ณ , ํฌํคํ๊ฒฝ์์ RPC ๋ก ์บ๋ฆญํฐ๊ฐ ์์ฑ๋ ๋๋ง๋ค ๊ทธ ์บ๋ฆญํฐ์ ์๋ฐํ๋ฅผ ๊ฐ์ ๋ก์ปฌํ๊ฒฝ์์ ์ ํ์ค๋๋ค.
์ฒ์ ๋ฑ ๋ก๋๋ ๋ ๋์ฒด๋ก ์ ๊น ๋ณด์ด๊ธดํ๋๋ฐ ์ด๊ฑด ์ง์ฐ์๊ฐ์ ์ฃผ๋ ๋ญํ๋ ์ด์ฉ์๊ฐ์๋๋ผ๊ณ ์ ์๋ก ๊ฒ์๋ด์์ ๋น๋์ํค๋๊ฑฐ๋ค๋ณด๋๊น
RPC ๋ก ํ ์คํธํ์ผ์ ์๋ก ์ ์กํ๋ฉฐ ๊ฐ์ ์ค์ ํ ๋ฐฉ์์ผ๋ก ์ฑ๋ณ/๋์ด/์ธ์ข , ๊ทผ์ก๋/๋ชธ๋ฌด๊ฒ/๋จธ๋ฆฌํฌ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๋๋ก ๋ฐ๊ฟ์คฌ์ต๋๋ค.
2. ๋ ์จ ๋ฐ ๋ฎ/๋ฐค
๋ ์จ๋ Postprocessing ๋ ๊ธ๋ก๋ฒ ๋ณผ๋ฅจํ์ผ์ด ์นด๋ฉ๋ผ๋ฅผ ๊ธฐ์ค์ผ๋ก ํจ๊ณผ๋ฅผ ์ ํ๋ ๋ฐฉ์์ด์์.
๋ฐฉ์ฅ์ด ๋ ์จ ๋ณ๋ ๋ฑ์ ๋๋ค์ผ๋ก ์๊ฐ๋ง๋ค ๋ณ๋์ํค๋ฉด ๊ทธ์ ๋ง์ถฐ ํ ๋ก์ปฌ ํด๋ผ์ด์ธํธ๋ค๋ ์ ๋ฐ์ดํธ๋๋ ํ์์ด๊ณ ์.
3. ์คํฏ
๋ฐฐ๊ณ ํ์ด 0์ด๋๋ฉด ์ ์ ๋ ฅ์ด ๊ฐ์, ์ ์ ๋ ฅ์ด 0์ด๋๋ฉด ์ฒด๋ ฅ์ด ๊ฐ์ํฉ๋๋ค.
๊ธฐ์จ์ด ๋ฎ์ผ๋ฉด ์ ์ ๋ ฅ์ด ์ง์ ๊ฐ์ํ๊ณ ,
๋ฐ๋ฏธ์ง๋ฅผ ์ ์ผ๋ฉด ์ฒด๋ ฅ์ด ์ง์ ๊ฐ์ํ๊ณ .
๊ฐ ์์น๋ ์์, ์๋ฃ, ํํ , ์นจ๋ ๋ฑ์ ์ฌ์ฉํด ํ๋ณตํ ์ ์์ต๋๋ค. ๋ํ
์ต๋ ์์น, ์ต๋์ฒด๋ ฅ, ๊ณต๊ฒฉ๋ ฅ, ์ด๋์๋, ์ ํ๋ ฅ ๋ฑ์ ์คํฏ๋ถ์ ํ๋ฐํ๊ณ ์ฌ์ฉํ์ฌ ๋๋ฆด ์ ์์ต๋๋ค.
4. ๋งต
์ด๋ฐํ์์ 6๊ฐ์ ๊ฐ์๋์๋ฅผ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ๊ฐ ๋ฒฝ์ ๋ถ๋ชํ๊ฒ ํด๋นํ๋ ์นํฐ๋ก ์ด๋ํ๊ฒ ๋ง๋ค์์ต๋๋ค.
ํฌํคํ๊ฒฝ์ด๋ผ ๋ง์คํฐ์์ ์์ดํ ์์ฑ๋ฐ ๋ฐ์ค์์ ๋นผ์ง๋๊ฑฐ ๊ด๋ฆฌ ๋ณด๊ด ๊ด๋ฆฌ, ๋ชฌ์คํฐ ์ด๋ ๋ฐ ์ด๊ทธ๋ก ๊ด๋ฆฌ๋ฑ์ ํด์ค์
์ฌ์ ๋ถ๋ฆฌ ํ ์๊ฐ ์์๊ณ ํ ์ฌ์ 6๊ฐ์ ์นํฐ๋ฅผ ์์์
occlusion culling ์ ์ฐ๋ ค๋ค๊ฐ ๊ทธ๋๋ ๋ ์ด ์์ฌ๋ผ์ ธ์, ๊ฐ๊ฐ์ ๋์๋ฅผ ์๊ธฐ๊ฐ ์๋ ์นํฐ๋ง ํค๋๋ก ์ค์ ํ์์ต๋๋ค.
๊ฐ ์นํฐ์ ๋ฒฝ ๋๋ถ๋ถ์๋ ์๊ฐ๋ฅผ ์ค์นํด์ ์ด๋์ด ์ข ์์ฐ์ค๋ฝ๊ฒ ๋ง๋ค์์ต๋๋ค.
๋ํย ์คํ ์ด์ง๋ฅผ ์ด๋ํ ๋ ๋ฃธ์ ๋ถ๋ฆฌํด์, ๋ค๋ฅธํ๋ ์ด์ด๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ์คํ ์ด์ง์ ์์ ์ ์๊ฒ๋ง๋ค์์ด์.
์๋ฒ๋ฅผ 3๊ฐ๋ก ๋๋์ด์ ๋ค๋ฅธ ์ธํ์ด ๋์์ ํ๋ ์ด ํ ์ ์๊ฒ ๋ฃธ์ ๋ถ๋ฆฌํ๋๋ฐ, ๊ทธ ๋ฃธ๋ง๋ค ๊ฐ๊ฐ ๊ณ ์ ๋ฒํธ๋ฅผ ๋ถ์ฌํ๊ณ ๊ทธ ๊ณ ์ ๋ฒํธ์ ๋ง๋ ์คํ ์ด์ง๋ค๋ผ๋ฆฌ ์ด๋ํ๋ฉฐ, ๋ฐฉ์ฅ์ด ๋ฐ๋๋ ์์ผ๋ก์.
์๋ฌด๋๋ Pun2๋ฅผ ์ผ๋๋ฐ ํจ์ ์ผ๋ก ๋์ด๊ฐ๋ ๊ดํ ์ด์ ๊ฐ ์๋๊ฒ์๋๋๋ผ๊ณ ์. ์ฌ๋ฌ ์ฌ์ ๊ด๋ฆฌํ๊ธฐ๊ฐ ์๋นํ ์ด๋ ค์ ์ด์
๋ํ ์ฌ์ฉํ๋ ค๋ ํฐ๋ ์ธ์ด ๋๋ฌด์ปค์ Terrain ToolBox ๋ฅผ ์ฌ์ฉํด์ ํฐ๋ ์ธ์ 100๊ฐ์ ๋๋ก ์ชผ๊ฐ ๋ค ์ชผ๊ฐ ๊ฑธ ๋ค์ ๊ทผ์ ํ๊ฑธ Merge ์์ผ์ ์ฌ์ฉํ์ต๋๋ค.
5. ์์ดํ ํ๋ฐ ๋ฐ ์ธ๋ฒคํ ๋ฆฌ
์ฒ์์๋ ์์ดํ ํ๋, ๋๋, ์ฌ์ฉ ๋ฒํผ๋ฑ์ ๋ง๋ค์์๋๋ฐ ๊ฒ์ํ๋ ์ด์ ๋๋ฌด ๋ฐฉํด๋ผ์, ์ฐํด๋ฆญ์ผ๋ก ์ธ๋ฒคํ ๋ฆฌ์ ํ์ฌ๋ณด๊ณ ์๋ ๋ฐ์ค๋ฅผ ์ด๋ํ๊ฒ ๋ง๋ค์์ต๋๋ค.
๋ํ ์ด ์์ดํ ๋ค์ ํต์ฌ๋กฏ์ผ๋ก ๋ฑ๋กํ 1 2 3 4 ๋ฒ์ผ๋ก ๋ ๋ค์ ์ขํด๋ฆญ์ผ๋ก ์ฌ์ฉ, Q๋ก ๋๋ ์ ํ ์ ์๊ฒ ๋ง๋ค์์ต๋๋ค.
๋์ ๋๋ฆฌ๋ ๋๊ฐ๋ฅผ ์ผ๋๋ฐ
items[uniqueItemName]
itemQuantities[uniqueItemName]
์ผ๋ก ๊ธฐํ ๋ฐ ๋ฌด๊ธฐํ์ ์ ์๋ ๋์ ๊ณ ์ ID ๋ฅผ ์๋ Dictionary ์ ๊ธฐ์ ํ์ฌ ์๋น์์ดํ ๊ฐ์๊ฒ๋ค์ ๊ฐ์์ข ๋ฅ๋ฉด ๊ฐ์์นธ์ ๋ค์ด๊ฐ๊ฒ, ๋ฌด๊ธฐ๋ ๊ธฐํ์์ดํ ๋ค์ ๊ฐ๊ฐ ๋ค๋ฅธ์นธ์ ๋ค์ด๊ฐ๊ฒ ๋ง๋ค์์ต๋๋ค.
๋ํ ์ด์๊ฐ์ ๋ง์ ์์ดํ ๋ค์ 10๊ฐ์ด์์ผ๊ฒฝ์ฐ ์ฐํด๋ฆญํ๋ฉด ํ๋ฒ์ 10๊ฐ์ฉ ์ด๋ํ๊ฒ ๋ง๋ค์์ด์.
์์ดํ ์ข ๋ฅ๋ ์์ ์๋ฃ ๋ฌด๊ธฐ ( ๊ทผ์ , ์ด) ์ธ์๋
์ด๋ ๊ฒ ์ง๋๋ ์์ ๋ฑ๊ฐ์ ๊ฒ์์ ๋์๋๋ ๊ธฐํ์์ดํ ๋ค๋ ๋ง๋ค์์ต๋๋ค.
์ง๋๋ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ ํ๋ ์ด์ด๋ค์ ์์น๊ฐ ๋๊ธฐํ๋๋๋ฐ, ์ง๋์กฐ๊ฐ์ ํ๋ฐํด์ผ ๋ชจ๋ ์นํฐ์ ์ง๋๋ฅผ ๋ณผ ์ ์๊ฒ ๋ง๋ค์์ต๋๋ค.
์ฃฝ์ผ๋ฉด ๊ฐ๊ณ ์๋ ์์ดํ ์ ๋๋คํ๋ฅ ๋ก ๋จ์ด๋จ๋ฆฌ๊ณ , ์คํ ์ด์ง 2๋ 3์์ ๋ถํ์ด ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด๋จ์ด์.
6. ์ ฐ์ด๋
์ฌ๊ธฐ ๊ฐค๋ฌ๋ฆฌ ๊ธ๋ค ์ค์์, ์ค๊ตญ ์ ฐ์ด๋ ์ ๋ณด~~ ์ด๋ ๊ฒ ์ฌ๋ผ์จ ๊ธ์ด ์์์ต๋๋ค.
๊ฑฐ๊ธฐ์ ์ฐธ ๋์์ ๋ง์ด๋ฐ์์ ์์ดํ ์ธ๊ณฝ์ ์ ์ด๋ ๊ฒ Glow Line ์ Shader Graph ๋ก ๋ง๋ค์์ต๋๋ค.
ํ๋ฐ๊ฐ๋ฅํ ๋ฐ์ค ๋ฐ ์์ดํ ๋ค์๋ ์ด ํ ๋๋ฆฌ๋ฅผ ๋ฌ์ ์คฌ์ต๋๋ค.
7. ์ ํฌ ๋ฐ ๋ชฌ์คํฐ
๋ชฌ์คํฐ๋ ํฌ๊ฒ ์ธ์ข ๋ฅ์์.
๋ฎ์ ๋์ค๋ ๋นํํ์ ,
๋ฐค์ ๋์ค๋ ๊ฑท๋ํ์ ,
์งํ์๋ก์์ ๋์ค๋ ์งํํ์
๊ทธ๋ฆฌ๊ณ ์ด ๋ชฌ์คํฐ๋ค์ด ์คํ ๋ฆฌ์ ๋ฐ๋ผ์ ๋ฌ์ฌ์ ๋ฑ์ฅํ๋ค๋๊ฐ ๊ทธ๋ฐ์์ผ๋ก ์งํ๋ฉ๋๋ค.
๋ณดํ์ Modifier Volume ์์จ์ ๋ชป๊ฐ๋ ์ฅ์๋ฅผ ๋ง๋ค์๊ณ , Nav ๋ก ์์์ ํ๋ ์ด์ด๋ฅผ ํ๋ํธ๋ฆฌ๋ก ๊ฐ์งํ๊ณ ์ด๊ทธ๋ก๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ณต๊ฒฉํฉ๋๋ค.
๋นํ์ Nav ๋ฅผ ์ฌ์ฉํ ์ ๊ฐ์์ด์ Modifier Volume ์ Trigger ๋ก๋ ๋๊ฐ์ด ๋ง๋ค์ด์ ๋ง์ฝ ๋ชฌ์คํฐ๊ฐ ๊ฐ์ผํ๋์ฅ์๊ฐ ์์ ๊ตฌ์ญ์ผ ๊ฒฝ์ฐ, ์ด๋ ๊ฐ๋ฅ ๊ตฌ์ญ๋ด์ ์๋ก์ด ์คํ์ ์ฐ์ด ์ ์ฐฐํ๊ฒ Y ์ถ์ ํฌํจํ Nav ๋ฅผ ์๋ก ๊ตฌํํ์ต๋๋ค.
Scan ์ ํตํด ์บ๋ฒ์ค์ ์ ๋ณด์ฐฝ์ 6๊ฐ ์ฐ์ด๋๊ณ ํ๋ ์์ผ๋ก ๋๋ ์, ์บ๋ฆญํฐ ๋๋ ๋ชฌ์คํฐ ์ค๋ธ์ ํธ ํ๊ทธ๊ฐ ๊ฐ์ง๋๋ฉด Worldtoscreenpoint ๋ก Ray ๋ฅผ ์ด์ ์ฐพ๊ณ , ๊ทธ ์์น์ ์ง์ ํ๊ฒ ํ๋ ํ๋ง๊ณผ ๋น์ทํ ๋ฐฉ์์ ์ฌ์ฉํ์ต๋๋ค.
๋ํ ํญ์ ๋จธ๋ฆฌ์์ ๋ฌ๊ฑฐ๋ ์ฐ์ฐ์ ํ ๊ฒฝ์ฐ ๋๋ฌด ๋ฆฌ์์ค๋ฅผ ๋ง์ด๋จน์ด์ ๋ฑ F๋ฅผ ๋๋ ์๋๋ง ๊ฐ์งํ ์ ์๊ฒ ๋ง๋ค์์ต๋๋ค.
์ดํํธ๋ค ๋ชฌ์คํฐ๋ค๋ ๋น์ฐํ ํ๋ง์ผ๋ก ํ๊ฒ๋ ๋ง๋ค์ด๋จ๊ณ .. ์ด ๊ทผ์ ๋ฌด๊ธฐ๋ ๋ค์ํ๊ฑธ ๊ตฌํํ์ต๋๋ค.
8. ์์ด์ง ์์คํ
์๋ฆฌ์์คํ
๊ฐ์ ๊ฒฝ์ฐ์ UI ์ ๋๋ง ๋ง๋ค์๋๋ฐ, ๊ตณ์ด? ์์ด์ผํ๋ ์ถ๋๋ผ๊ณ ์.
์ด๋ฐ๊ฑฐ ์๋ฆฌํ ์๊ฐ์ ๊ทธ๋ฅ ์์์ ํ๋ ๋ ์ฐพ์์ ํ๋ ๋๋จน๊ณ ๋ง์ง ๊ฐ์ ๋๋๋๋ฌธ์ ๊ทธ๋ฅ ๋นผ๋ฒ๋ ธ์ต๋๋ค.
๋ชน์ด ๋๋ฌด ๊ทผ์ฒฉ๊ฐ์๋ฐ
๋์์ด๋๊ฐ ์์์ด์..ใ ๊ทธ๋๋ง ์์ ์ค์ ๋ถ์๊ธฐ๋ง๋๊ฒ 5~6๋ ์ ๊บผ ์์ด์.. - dc App
ํ๋ก๊ทธ๋๋จธ๋ค๋ง ๋ชจ์ฌ์ ๋ง๋ ๊ฒ์์ด๋ผ๋ ๋๋์ ํํ ๋์ง๋ง ๋ ธ๋ ฅํ ํ์ ์ด ์๋ค. ๊ณ ์ํ์ด.
๋ง์์.. ์ฌ์ค ์ค๊ฐ์ค๊ฐ ๊ฐค์ ์ฌ๋ฆด๋๋ง๋ค ์ํธ์ ์ธ์ธก๋ฉด์์ ํผ๋๋ฐฑ ๋ง์ด๋ฐ์์๋๋ฐ, ํ๊ณ ๋์ผ์ค๊ฐ ์ํธ๊ฐ ํ์คํ ํ์ํ๋๋ผ๊ตฌ์์ค.. - dc App
๊ทผ๋ฐ ๊นํ์ ํผ๋ธ๋ฆญ ์ํ๋ก ํ๋ก์ ํธ ์ฌ๋ฆด ๋๋ ํน์ ์์ ์ ๋ฃ ์ด์ ์ ํฌํจ ๋์ด์๋ ์ฒดํฌํด๋ด. ๊ตณ์ด ํผ๋ธ๋ฆญ์ผ๋ก ํ ์ด์ ๊ฐ ์๋ค๋ฉด ๊ทธ๋ฅ ํ ๋ง๋ค์ด์ ํ๋ผ์ด๋ฒ ์ดํธ๋ก ์ ํํ๋ ๊ฑธ ์ถ์ฒํจ.
์๊ณ .. ์กฐ์ธ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ๊ผญ ์ ๊ฒฝ์ธ๊ฒ์! - dc App
์ํธ ํ๋๋ง ๋ถ์ผ๋ฉด ๋๋ฐ๋ ๊ฒ๊ฐ์๋ฐ, ํ๋ฒ ์ ๊ตฌํด๋ณด๋ฉด ์ข์๋ฏ. ์ธ์ฃผ๋ ๊ด์ฐฎ๊ณ
์ํธ๋ ์ ์ด์์.. ใ ใ ใ ์๋ฌด๋๋ ์ข๋ณด์ด๋๊ฐ ์๋ง๋ ๊ฑฐ๊ฐ์๊ฒ ์ง์ง ๊น๋ํจ์ ์ ์! ๊ฐ์ ๋๋์ด๋ผ ์ํธ๊ฐ ์ต๋ํ ์ ๊ฒฝ ๋์ฐ์ด๊ฒ ๋ง๋ค์๋๋ผ๊ณ ์ - dc App