๊ตฌํํ๊ณ ์ถ์ ๊ฒ : ์๋์ง๊ฐ ์กด์ฌํ๋ ์์ดํ
๋ค
์๋ฌธ์ : ๊ฐ ์์ดํ
๋ง๋ค ํด๋์ค๋ฅผ ๋ง๋ค ๊ฒฝ์ฐ, ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ์ ์ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๊ฐ?
๋จผ์ ์ ๋ชฉํ๋ ์์ด์๊ฐ์ด ๋ง์ ์์ ์์ดํ ๊ณผ, ๊ทธ๊ฒ๋ค์ ์กด์ฌํ๋ ์๋์ง์ ๋๋ค.
์์ดํ ์ ๋ง๋ค๊ธฐ ์ํด ์ฒ์์ผ๋ก ๊ตฌ์ํ๊ฑด, ScriptableObject๋ฅผ ์์๋ฐ๋ ItemBase ํด๋์ค๋ฅผ ๋ง๋ค๊ณ , ItemBase๋ฅผ ์์๋ฐ๋ Passive/Active๋ฅผ ๋ง๋ค๊ณ ๊ทธ๊ฒ๋ค์ ์์๋ฐ๋ ์์ดํ ์ ํด๋์ค๋ก ๋ง๋๋, ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ ์์ดํ ํด๋์ค ํ๋๋ง๋ค CreateAssetMenu ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ๋ถ์ด๋ฉด ์ฐํด๋ฆญ ๋ฉ๋ด์์ ์ฐพ๊ธฐ๋ ํ๋ค๊ณ , ํ๋ฒ๋ฐ์ ์ฐ์ง ์์ ์ฌ์ฌ์ฉ์ฑ์ด ๋จ์ด์ง๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
๊ทธ ๋ค์์ผ๋ก๋, Visual Scripting์ ์ด์ฉํด ์์ดํ ๋ก์ง๊ณผ ์์น ๋ฑ์ Json์ผ๋ก ์ ์ฅํ๊ณ , ์์ดํ ๋ก๋ ํด๋์ค์์ Json์ ๋ถ๋ฌ์ ๋ธ๋ก์ฝ๋ฉ์ฒ๋ผ ์คํ๋๊ฒ ํ๋ ค๊ณ ํ์ต๋๋ค. ์ด๋ ๊ฒ ๊ตฌํํ๋ฉด ์ผํ์ฉ ํด๋์ค๋ฅผ ๋ํญ ์ค์ด๊ณ ์ฌ์ฌ์ฉ์ฑ์ ํฅ์์ํฌ ์ ์๋ค ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ํ ๋ฌธ์ ์ ์ด ์๋๋ฐ, ๋ก์ง์ ๋ธ๋ก์ผ๋ก ๊ตฌํํ ๊ฒฝ์ฐ ์์ฒญ๋๊ฒ ๋ง์ ์์ ๋ธ๋ก์ด ํ์ํ๊ณ , ์ฌ์ง์ด ์ผ๋ถ๋ ํ๋ฒ๋ฐ์ ์ ์ธ ๊ฒ ๊ฐ์ ์ด ๋ํ ํฌ๊ธฐํ์ต๋๋ค.
์ฌ์ค ์ ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ์์ง ์๋์ง ๊ตฌํ ๋ฐฉ๋ฒ์ ์๊ฐ๋ ์ํ์ต๋๋ค. ์๋์ง๋ฅผ ๊ตฌํํ๋ ค๋ ์ด๊ฒ๋ ๋ฌธ์ ์ธ๊ฒ, ์ฒ์์๋ ์์ดํ ๋ชฉ๋ก์ Map ํ์์ผ๋ก ์์ดํ ์ ์ ์ฅํ๊ณ , ์๋์ง๊ฐ ์๋ ์์ดํ ์ ๊ฐ๊ณ ์๋์ง ํ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ์ ํ์ผ๋, ์ด ๊ฒฝ์ฐ ์ค๋ณต ์์ดํ ์ ๊ตฌํํ ๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. ๊ทธ๋ ๋ค๊ณ ๋ฆฌ์คํธ๋ฅผ ์ฐ๋ฉด ๋ฐฐ์ด์ ํ์ํ ๋ ๋ถํ์ํ ์ฐ์ฐ์ ๋๋ฌด ๋ง์ด ํ ๊ฒ ๊ฐ์ต๋๋ค. ์๋์ง ์์ดํ ์ ์ด๋ฐ์ ๋จน์์ผ๋ฉด ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ผ๋ ์ด์์ผ๋ฉด ๋ฐฐ์ด์ ๋๊น์ง ์ฐพ์์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฌ์กฑ์ด ๊ธธ์์ต๋๋ค. ์ ๋ฆฌํ์๋ฉด
1. ์์ดํ ์ข ๋ฅ๋ณ๋ก ํด๋์ค๋ฅผ ๋ง๋๋๊ฑด ๊ด์ฐฎ์๊ฐ?
2. ํด๋์ค๋ฅผ ์์ดํ ๋ง๋ค ๊ตฌํํ ๊ฒฝ์ฐ, SO ๋ง๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋๊ฐ?
3. ์์ดํ
๊ฐ ์๋์ง ๊ตฌํ ์, if๋ฌธ์ผ๋ก ํ๋ํ๋ ๊ฒ์ฌํ๋ ๊ฒ ๋ง๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋๊ฐ?
์ด์์ ๋๋ค.ย ๊ฐ์ฌํฉ๋๋ค.
์ธ๋ฆฌ์ผ ์์ง์ ์ด๋น๋ฆฌํฐ ์์คํ ๊ณต๋ถํด๋ณด์ธ์
1 ๋๋ ์์กด๊ฒ์ ํ ใ ใด๋ง์๋ฐ ํด๋์ค ์ฌ๋ฌ๊ฐ ์๋ 3๋๊ฑ๋ฐฐ์ด์ผ๋๋ฐ ์ฐ์ฐ์ด ๋ง์ด๋ค์ด๊ฐ๋์ง๋ ๊ฒ๋ง๋ค ๋ค๋ฅด๊ธด ํ ํ ๋ฐ ๋ ์ต์ ํ ํ ์คํธ๋ ์์ง ๋ํ ์ผํ๊ฒ ๋น๊ต ์ํด๋ด
3 ์๊ฐ์ผ๋ก ์ด์ฐจํผ ํ ์ฅ์ฐฉ์๊ฐ๋ง ์ฐ์ฐ ๋จน๋๊ฑธ์ฒธ๋ฐ ์ด๊ฒ ๊ทธ๋ ๊ฒ ์ฐ์ฐ์ ์ก์๋จน๋์ง ๋ชจ๋ฅด๊ฒ ์ ํ ์ ์์ฃผ ๋ฐ๊ฟ์ผํ๋ ์ค์์นญํด์ค์ผํ๋ ๊ทธ๋ฐ ๊ฒ์ด๋ผ๋ฉด ๋ ๋ค๋ฅธ๋ฌธ์ ์ธ๋ฐ ๋ด๊ฒฝ์ฐ๋ ์ผ๋จ ๊ทธ๋ฐ ์ ๋๋ ์๋๋ผ์
๋ฐฐ์ด๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ ์๊ฒ ๊ตฐ์. ํ๋ฒ ์ฐ๊ตฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์์ด์๊ฐ์ด ๋ง์ ์์ ์์ดํ ๊ณผ, ๊ทธ๊ฒ๋ค์ ์กด์ฌํ๋ ์๋์ง <<๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ๋์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง, ๋ณธ๋ฌธ๋ณด๋ฉด ๋๋ฌด ๋ฉ๋ฆฌ ๋์๊ฐ๋ ค๊ณ ํ๋ ๊ฒ ๊ฐ์; ๋ด๊ฐ ์์ด์ "๊ฐ์" ์์คํ ๊ตฌํํ์ ๋ ์ผ๋ ๋ฐฉ๋ฒ ์๋ด๋๋ฆผ
1. ์์ดํ ๋ง๋ค "ํ" ์ ์ ํ๋ ํจ๊ณผ๊ฐ ์์, ์ด๊ฒ ๊ฐ์ฅ ๋ง์ง๋ง์ ๊ณ์ฐ๋๋ ๋ถ๋ถ์ด๊ณ , ์ด ํจ๊ณผ๋ค์ ๋ฆฌ์คํธ์ ๋ฐ๋ก ๋ด์๋จ๋ค๊ฐ ํ์ ์ ๋ ์์ฐจ์ ์ผ๋ก ํ์ ์ ํ๊ฒ ๋จ ( ํฌ๊ธฐ๋ฅผ ๋๋ฆฐ๋ค๋๊ฐ, ์์ฑ์ ๋ถ์ฌํ๋ค๋๊ฐ, ์ฌ๋ฌ๋ฐ ๋๊ฐ๋ค๋๊ฐ ๋ฑ๋ฑ ) 2. ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ถ์ฌํ๋ ๋ถ๋ถ์ด ์์. ์ธํธํ ์ ์ฅ์ฐฉํด์ ํจ๊ณผ๋ฅผ ๊ฐํํ๋ ๋ถ๋ถ์ ์ธํธํจ๊ณผ๋ก ๋ณ๋๋ก ๊ตฌํํด์ฃผ๊ณ , ์์ดํ ์ ์ป์ ๋ ๋ง๋ค ํ๋ฒ์ฉ ๊ณ์ฐํจ. ์ฌ๊ธฐ์ ๊ณ์ฐ๋๊ฑด 1์ ํจ๊ณผ ๋ชฉ๋ก์ ์ถ๊ฐ๋จ 3. ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ถ์ฌํ๋ ๋ถ๋ถ์ด ์์. ์บ๋ฆญํฐ ์คํ ์ดํฐ์ค์ ๊ด๋ จ๋ ๋ถ๋ถ์ธ๋ฐ, ์ด๊ฑด ์์ฃผ ๊ณ์ฐ๋์ผํด์ ์บ๋ฆญํฐ๊ฐ ์์ง์ผ ๋ ๋ง๋ค ํ๊ฒ ํ์, ์กฐ๊ฑด๋ง ๋ค๋ฅด์ง ์๋๋ฐฉ์์ 2๋ ๋๊ฐ์
4. ์์ดํ ์ ๊ฐ์ก๋์ง ๊ฒ์ฆํ๋ ๋ถ๋ถ์ด ์์. "์ฐฉ์ฉ์ค" ์ด๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , ์ฐฉ์ฉ๋ ์์ดํ ์ ์ฌ๊ธฐ์ ๋ด์๋ . ๊ฒ์์ ๋ค์ด๊ฐ๋ฉด ๋ฆฌ์คํธ์ ์๋๊ฑธ ์์๋๋ก ์ฝ์ด์ 3>2 ( ๋๋ ์ถ๊ฐ ์กฐ๊ฑด๋ค ) ์ ๊ฒ์ํด์, ์ต์ข ์ ์ผ๋ก 1์ ๋ฃ์ ์ ์๋์ง ํ๋จํ๊ณ , 1์ ํด๋นํ๋ ํจ๊ณผ๋ฅผ ๋ชฉ๋ก์ ๋ด์์ฃผ๋ฉด ๋จ 5. ํ์ ์ ๋ ๊ฒฐ๊ตญ 1์์ ๋ด์์ง ๋ชฉ๋ก๋ง ํ์ ์์์ฃผ๋ฉด ๋จใ ใ
์๋์ง๊ฐ ์กฐ๊ฑด+์กฐ๊ฑด=๊ฒฐ๊ณผ๊ฐ ์๋๋ผ, ๊ฒฐ๊ณผ+๊ฒฐ๊ณผ=๊ฒฐ๊ณผ ๋ผ๋๊ฒ๋ง ์ดํดํ๋ฉด ๋จใ ใ
์จ์ฃผ์ ๋๊ธ ์ฝ์ด๋ณด์์ต๋๋ค. ์์ ์ ํ์ํ ๋ ๋ช ๋ฒ๋ง ๊ณ์ฐํ๋ ๊ฒ์ด๊ตฐ์. ๊ทธ๋ ๋ค๋ฉด ๊ฐ ๋ถ๋ถ(ํ ํจ๊ณผ ๋ณ๊ฒฝ, ์คํ ๋ณ๊ฒฝ ๋ฑ)์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , ์์ดํ ์ ์ป์ผ๋ฉด ํด๋นํ๋ ๋ถ๋ถ์ ์ป์ ์์ดํ ์ ์ถ๊ฐํด์ ๊ณ์ฐํ๋ฉด ํ์คํ ์ข ๋ ์ต์ ํ๋ฅผ ํ ์ ์๊ฒ ๋ค์. ๊ฐ์ฌํฉ๋๋ค!
ํฌ?ํด์ฉ์ธ๊ฐ? ์๋๋ผ๋ฉด ํ์ ํจ์จ ์ด๋ฐ๊ฑด ์๊ฐํ์ง ๋ง๊ณ ์ผ๋จ ์๊ฐ๋๋๋๋ก ์์ ํ๋ฉด์ ์์ ํด๋ด. 1์ธ๊ฐ๋ฐ ๋ฆฌํฉํ ๋ง์ ์๋นํ ์ฌ์
์ผ๋จ ๋ ์์ด์์ ์ํด๋ดค๊ธฐ์ ํด๋น ๊ฒ์์ ํน์ง์ ๋ชจ๋ฆ. 1. ๋ธ๋ก์ฝ๋ฉ์ด ๋์๋ฏ. ๋ญ ์ผ๋ง๋ ๋ค์ํ๋ค๊ณ ์์ดํ 1000๊ฐ ์์ผ๋ฉด ํด๋์ค 1000๊ฐ ๋ง๋ค์ ์์์. ๋ค ์ง์ง๊ธฐ์ผ๊ฑด๋ฐ. 2. so๊ฐ๋ญ๊ณ .. 3. ์์งํ ๊ทธ์ ๋ ์ํ๋ ํจ์จ ์๊ด์๋ค๊ณ ์๊ฐํด์ ๋ ๊ทธ๋ฅ list๋ก ๋ง๋ค๊ณ ํ ๊ฑฐ๊ฐ๊ธด ํ๋ฐ, ๊ตณ์ด ๋ถ๋ฆฌํด์ ํ๋ ค๋ฉด ์์ดํ ์ป์ผ๋ฉด ๋ฐ๋ก set(๋์ ๋๋ฆฐ๋ฐ ๋ฐธ๋ฅ ์์ด ํค๋ง ์ ์ฅํ๋๊ฑฐ๊ฑฐ)์๋ค๊ฐ ์์ดํ ์ด๋ฆ ๋ฑ๋กํด๋๊ณ ์๋์ง ์๋์ง๋ set์์ ๋ฐ๋ก ํ๋จํ ๋ฏ. ๊ทผ๋ฐ ์์ดํ ๋ฐฑ๋ง๊ฐ ๋จน์๊ฒ๋ ์๋๊ณ ๊ตณ์ด?
๊ทธ๋ผ ๋ฅ๋ ฅ ๊ตฌํ์ ๊ฒฝ์ฐ์๋ Visual Scripting์ผ๋ก ๋ฐ๋ก ๊ตฌํ ํด์ ๋ง๋ค์ด ๋ด์ผ๊ฒ ๊ตฐ์. ๋๊ธ ๊ฐ์ฌํฉ๋๋ค.
1000๊ฐ ํด๋์ค ๋ง๋ค์ด๋ ๊ทธ ํต์ฌ๋ด์ฉ๋ค์ ๋ฐ์ดํฐํ ์ด๋ธ์์ ๋ฐ์ค๋์์ผ๋ก ํ๋๋ฏ..
ํด๋์ค๊ฐ ๋ง์ด ๋ง๋๋๊ฑด ๋ฉ๋ชจ๋ฆฌ๋ ์๊ด์์. ์ฝ๊ฐ์ ์๊ธดํ๋ฐ ๊ทธ๊ฑด ์ง์ง ์์ฒญ ์ฌ์ํ ๋ฌธ์ ์. ์ด๊ฑธ ์ดํดํ๊ธฐ ์ํด์๋ ์ปดํ์ผ ํ๊ณ exeํ์ผ์ ๋ง๋ค๋ ํด๋์ค๋ฅผ ์ด๋ป๊ฒ ์ ์ฌํ๋์ง ๋ณด๋ฉด๋จ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ ์ธ์คํด์คํํ๋๋ฐ๋ ๊ทธ๊ฑธ ๊ฐ๋ง์ด ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒฝ์จ์ผ๋จ. ํด๋์ค๋ฅผ 1000๊ฐ ๋ง๋ ๋ค -> ์ด๊ฑด ๊ทธ๋ฅ ์ฝ๋ ์ค์ด ๊ธด๊ฑฐ์ ํด๋์ค 1๊ฐ ๊ฐ์ง๊ณ ๋ณ์๋ฅผ ๊ฐ๋ง์ด ๋ง๋ ๋ค. ๊ถ์ด ํด๋์ค๋ก ๊ถ์ด์ 1๋ง๊ฐ ๋ง๋ ๋ค. ์ด๊ฑด ๊ถ์ด์ ๋ง๋ค๋ ์ด๋ค ๋ชจ๋ธ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋์ด๋ค ์ฐ๋๋์ ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ง๊ฒ ์ฐจ์งํ๋๋์ ์ฐจ์ด๊ฐ ์์
์์ดํ ๊ฐ ์๋์ง ๊ตฌํ์ ์์ดํ ๋ง๋ค ๋ฉ์ธ์ง ๋ฐ๋ ํ๋ฅผ ๋๊ณ , ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์์ดํ ํํ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํด์ฃผ๋ฉด ์ฌ์
์ธํฐํ์ด์ค๋ก ๊ด๋ฆฌํ์
๋ค๋ค ๋๊ธ ์จ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์์ง์ ๋ต๋ณ๋ค ๊ฐ๋ฐํ ๋ ์ฐธ๊ณ ํ๊ฒ ์ต๋๋ค. ๋ค์ ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.