์ค๋ธ์ ํธ ์์ฑ์์ ํด๋น ์ค๋ธ์ ํธ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ํด์ฃผ๋ ค ํ๊ณ ์์ต๋๋ค.
์ด๋ ๊ฒ 1๋ฒ์์ Instantiateํ๊ณ 2๋ฒ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฃผ๋๋ฐ
ํด๋น ์ค๋ธ์ ํธ๋ Enable์์ ๋ฐ์ ๋ณ์ ๋ฆฌ์คํธ๋ฅผ ์ฐธ์กฐํ๊ฒ๋ฉ๋๋ค.
๊ทผ๋ฐ ํ์ธํด๋ณด๋ Instantiate๊ฐ ํธ์ถ๋์๋ง์ ํจ์๊ฐ ๋๋๊ธฐ๋์ ์ OnEnable์ด ๋์์ null์ฐธ์กฐ๊ฐ ๋๊ณ ์์ต๋๋ค.
์ ์ด๋ Instantiate๋ฅผ ๋ถ๋ฅธ ํจ์๊ฐ ๋ค ๋๋๋ค์์ ํด์ผํ๋๋ฐ ๋นํฉ์ค๋ฝ์ต๋๋ค.
๊ด๋ จ ์คํฌ๋ฆฝํธ๋ ์ต๊ณ ์ฐ์ ์์๋ก ํด๋์์ต๋๋ค.
์ ๊ฐ ์๊ธฐ๋ก ํฌํค์์ ๋๊ฐ์ด Instantiateํ๊ณ ๋งค๊ฐ๋ณ์๋ฅผ ๋๊ธฐ๊ณ OnEnable์์ ์ด์ด๋ณด๋๋ฐ
ํฌํค์์ ๋ง๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ฌ๊ธฐ๋ Instantiate๋ฅผ ๋จผ์ ํ๊ณ ๋งค๊ฐ๋ณ์๋ฅผ ๋๊ธฐ๋๋ฏํด์
์ด๊ฑธ ์ด๋ป๊ฒ ์กฐ์ ํด์ผํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
Instantiateํ๋ฉด ์์ฑ๋๋ฉด์ ๋ฐ๋ก Awake() - OnEnable()์ด ํธ์ถ๋จ
ํฌํค์ ๋ณ๋๋ก ์ด๋ฒคํธ๋ฅผ ์์ฑํ๋๋ณด๋ค์.. ๋งค๊ฐ๋ณ์ ๋ฐ๋๊ฑธ Start์์ ํ๋ฉด ํด๊ฒฐ๋ ์ผ์ด์ง๋ง ์ ๊ธฐ์ Enable์์ ํ๊ธธ๋ ์ด๋ป๊ฒํ๋๊ฑด๊ฐ ์ถ์์ต๋๋ค
์ ๊ธฐ ํฌํค ์ฝ๋? ์ค๊ฐ์ ์จ์๋ค
PrefabPool.Instantiate()๋ ๋นํ์ฑํ ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ฐํํด์ผ ํ๋ค๊ณ ๊ฒฝ๊ณ
Instantiate ์์ ์ GO๊ฐ ๋นํ์ฑ์ด๋ฉด OnEnable์ ํธ์ถ ์๋จ ใ ใ
์ ์ฝ๋ ๋ ํ๊ณ ๋ค์ด๊ฐ๋ณด๋๊น ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ๋จผ์ ๋นํ์ฑํ์ํจ์ฑ๋ก Instantiate๋ฅผ ํ๊ณ ์์๋ค์. ์ต์ด ์์ฑ์์๋ ๋ฌด์กฐ๊ฑด ํ์ฑํ๊ฐ ๋๋๊ฑธ ์ด๋ป๊ฒ ํ๋ ์ถ์๋๋ prefab์ ์ ๊น ๋นํ์ฑํ์ํจ์ฑ๋ก ๋ก๋ํ๋ฉด ๋๋๊ฑด๊ฐ๋ด์.
์ฝ๋ฃจํดํด์ ๋๋ ์ด 0.001์ด๋ผ๋์ฃผ๋ฉด ์์๊ฑฐ ์คํํ๋ค์์ ํ๋๊น ๊ทธ๋ ๊ฒ ํด๊ฒฐํ์๋ฉด๋์ง์์๊น์