RPG๋ก์น์๋ฉด ์ก๋ชน๊ฐ์ ์ ๋์ ๊ธฐ๋ณธ ๊ฒ์์ค๋ธ์ ํธPrefab + ์ก๋ชน ๊ณต๊ฒฉ๋ ฅ๋ฑ๋ฑ์ด ๊ธฐ๋ก๋ ScriptableObject๋ก ์กฐํฉํด์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค.
์ ๊ทธ๋ฆผ์ด ๋๋ต ์ ๊ฐ ์ํ๋ ํ๋ฆ์ด๊ณ
๋๋ต ์ด๋ ๊ฒ ๊ตฌํํด๋ดค์ต๋๋ค.
๊ทผ๋ฐ ์ ์ฝ๋๋ ์ด๋ฐ ํ๋ฆ์ด ์๋๊ฐ ์ถ์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
Instantiate๋ ์์ ์์ ์ด๋ฏธ ํ๋์์ ์กด์ฌํ๊ฒ ๋๊ณ ย
๋นจ๊ฐ ํ์ดํ์ ํด๋นํ๋ ์์ ๊ฐ๊ทน์ ์ ๋์ด ๊ฒ์๊ณผ ์ํธ์์ฉํด์ ๋ฒ๊ทธ๋ฅผ ์ผ์ผํฌ์ ์์๊ฑฐ๊ฐ์๋ฐ
์ผ๋จ SetActive ํจ์๋ก ์์ฑ๋์๋ง์ ๋นํ์ฑํ์ํค๊ณ ๋ฐ์ดํฐ ๋ก๋ํ์ ํ์ฑํ ๋๋๋ก ํ๋๋ฐ
๋ณดํต ์ด๋ป๊ฒ๋ค ํ์๋์?? Instantiate๋๋ ์์ ์ ๋์์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ฉํ๋ ํจ์๋ ํธ์ถํ๊ณ ์ถ์ต๋๋ค.ย
falseํ ํ์ ์์
prefab์ monobehavior ์คํฌ๋ฆฝํธ ํ๋ ๋ถ์ฌ๋ฃ๊ณ Awake๋ Startํจ์์ ๋ก๊ทธ ์ฐ์ด๋ณด๊ณ
Setconfig ํจ์์๋ ๋ก๊ทธ์ฐ์ด์ ์์ ํ๋ฒ ๋ด๋ด ๊ทธ๋ผ ๋ถ์ํ๊ฑฐ ํด๊ฒฐ๋์ง?
https://docs.unity3d.com/Manual/ExecutionOrder.html
์ด๊ฒ๋
ํ๋ฒ ๋ด๋ด
๋ก๊ทธ ์ฐ์ด๋ณด๋๊น ์ ๊ธฐํ๊ฒ๋ ๋ก๋ฉํ๋ ํจ์(Setconfig)๊ฐ ๋จผ์ ํธ์ถ๋๊ณ ๊ทธ ๋ค์์ Startํจ์๊ฐ ๋์ค๋ค..
Instantiate ํจ์๋ก ์์ฑ๋ ์์ ์ ๋ฐ๋ก Start๋ถํฐ ์์ํ๋๊ฒ ์๋?
ใ ใ
๊ทธ๋ฆฌ๊ณ ํน์๋ ํด์ ํ๋๋ง์ธ๋ฐ ScriptableObject๋ ํ๋์ ๋ฆฌ์์ค ๋ ํผ๋ฐ์ค๋ผ์ Instantiate์ํ๊ณ ์ฐ๋ฉด ์ฐธ์กฐํ๊ณ ์๋ ๋ชฌ์คํฐ๋ค ์ ์ฒด๊ฐ ์ํฅ๋ฐ์
ScriptableObject๋ [SerializedField]๋ก ์ง์ ๋ฑ๋กํด๋๊ณ ์ฐ๊ณ ์๋๋ฐ ๋ณดํต ์ด๊ฑฐ๋ Instantiateํด์ ์ฐ๋๊ฑฐ์ ๊ทธ๋ผ?
๋ชฌ์คํฐ a๋ ๋ชฌ์คํฐ b๊ฐ ์๋ก๊ฐ์ scriptableObject๋ฅผ ์ฐธ์กฐํ๊ณ ์๋๋ฐ ๋ง์ฝ์ scriptableObject์ hp๋ณ์๋ฅผ ์ง์ด๋ฃ์ด๋จ์ผ๋ฉด a๊ฐ ๋ฐ๋ฏธ์ง๋ฅผ ๋ฐ์์ a์ hp๊ฐ ์ค์ด๋ค๋ฉด ๊ฐ์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ b๋ hp๊ฐ ์ค์ด๋ค์ด ์ด๊ฑด ์ค๊ณ๋ฅผ ์ด๋ป๊ฒ ํ๊ฑด์ง ๋ชฐ๋ผ์ ๊ทธ๋ฅ ๋ ธํ์ฌ์ ๋ฌผ์ด๋ณธ๊ฑฐ์..
๋ญ๋ง์ธ์ง ์๊ฒ ์. ๊ทธ๋ฅ ํญ์ Instantiateํด์ ์ฐ๋๊ฒ ์์ ํ๊ฒ ์ง? ใณ