๋ฐ์ฌ์ฒด๋ฅผ ์ค๋ธ์ ํธ ํ๋ก ๊ด๋ฆฌ์ค..
ย ย ย ย // 1. ๋ฐ์ฌ์ฒด๋ฅผ Enable ํจ
ย ย ย ย Projectile projectile = ObjectPoolManager.Instance.GetFromPool<Projectile>(projectileName);
ย ย ย ย // 2. ๋ฐ์ฌ ์์น๋ก ์ด๋์ํด
ย ย ย ย projectile.rb.position = ShootPosition.position;
ย ย ย ย // 3. ํ๊ฒ ์ ๋ณด ๋ฑ์ ์ ๋ ฅํ๊ณ ๋ฐ์ฌ์ฒด๋ฅผ ์ด๋์ํด
ย ย ย ย projectile.InitProjectile(target, this, projectileName);
๊ฒ์์ค๋ธ์ ํธ๋ฅผ ํ์ฑํํ๊ณ ๋ฐ์ฌ์ฒด๋ฅผ ๋ฐ์ฌ ์์น๋ก ์ด๋์ํค๋๊น ๋ฌธ์ ๊ฐ ๋ฐ์ํจ.
์๋ฅผ ๋ค๋ฉด ๋ฐ์ฌ์ฒด๊ฐ 0, 0, 0์์ ํ์ฑํ๋๊ณ ์ํฌ์ง์ ์ด (1, 1, 1) ์ด๋ผ๋ฉด ๊ทธ ์ฌ์ด์ trail์ด ๊ทธ๋ ค์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์.
ํธ๋ ์ผ์ ์ ์ง์ํค๊ณ ๋ฐ์ฌ์ฒด๊ฐ ์ด๋์ด ์์๋๋ฉด ํธ๋ ์ผ์ ๊ทธ๋ฆฌ๊ณ ์ถ์๋ฐ ์คํฌ๋ฆฝํธ๋ก ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์..ย
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ทธ๊ฑฐ ํด๋ ์์ฉ์ด ์๋๋ ... ํ๋ฒ foreach ๋ก ์์๊น์ง ์ ๋ถ Clear ํด๋ณด๊ฒ ์..
https://docs.unity3d.com/ScriptReference/TrailRenderer.Clear.html
ParticleSystem ์ ์๋ trail์ด๋ผ์ TrailRenderer๋ ๋ค๋ฆ..
๊ทธ๋ผ ์ด๊ฑฐ์ฐ๋ฉด ๋ ๊ฒ๊ฐ์๋ฐ
https://docs.unity3d.com/ScriptReference/ParticleSystem.Clear.html
๋ถ๋ชจ ํํฐํด๋ง Clear ํด๋ดค๋๋ฐ ๋ด์ผ ์ผ์ด๋์ ์์๊น์ง Foreach๋ก Clear ์๋ํด๋ด..
์ค๋ธ์ ํธ ํ๋งํ๋ค๋ณด๋ฉด ์ด๊ฒ์ ๊ฒ ๋ง์ด ๋๋ฐ์ํฉ ์๊ฒจ์ ํ๋๋๊ฒ...
DOTSํ๊ณ ์ถ๋ค... DOTS๋ ์ค๋ธ์ ํธ ํ๋ง ์ ์ฐ๋๋ ..
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ทธ๊ฑฐ ๋๊ณ InitProjectile() ์์ Play ์์ผ๋ ๋๊ฐ์.. ์๋ง๋ ํํ๋ ์์์ ์ผ์ด๋๋ ์ผ์ด๋ผ์ ๊ทธ๋ฐ๊ฑฐ๊ฐ์๋ฐ
์คํน.. ๋ด์ผ ํจ ์์ผํด๋ด..
์์ ์ ํ๋ง ๊ตฌํํ ๋์ GetFromPool์ position, rotation์ ์ฃผ๊ณ ๊ทธ ํ์ ์ด pos, rot์ ์ค์ ํ ํ์ SetActive(true)ํ๊ฒ ํ์ InstantiateFromPool ์ด๋ฐ๋๋์ด์ง
ํํฐํด์ ๋ชจ๋ ๋๊ณ ๋ค์ ์ผ์ฃผ๋ ๋ฐฉ์๋ ์๊ธด ํ๋ฐ ์ด๋ฌ๋ฉด ์ฑ๋ฅ๋ ๋ณ๋ก๊ณ OnEnable์์ transform.position์ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ๋ค์ด ์์ผ๋ฉด ๊ฒฐ๊ตญ์ ๊ฑ๋ค๋ ์์์น ๋ชปํ๊ฒ ์ด์ํ๊ฒ ์๋ํ๊ฒ๋จ ๊ทธ๋ฌ๋ ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด๋ณด์์ค
์.. ์ด๊ฑธ๋ก ํด์ผ๊ฒ ๋น.. Enable ํ๊ธฐ ์ ์ ์์น๋ฅผ ์ฎ๊ฒจ๋๊ณ ํ๊ฒ ์ค๋ฒ๋ผ์ด๋ ํจ์ ํ๋ ๋ง๋ค์ด์ผ๊ฒ ์..
์ค๋ ์คํธ๋ ์ค๋ฅผ ๋๋ฌด ๋ฐ์๋๋... ๋จธ๋ฆฌ๊ฐ ์ ๋์๊ฐ๋ค ใ
์์น๋ก ์ด๋์ํจ๋ค์ ์ผ๋ฉด ๋์์์...?