์ด๋ค ํฌ์ฌ์ฒด๋ฅผ ๋์ง ๋,
Projectile ์ด๋ผ๋ ์ค๋ธ์ ํธ์
ใด Collider ์ปดํฌ๋ํธ
ใด Particle System ์ปดํฌ๋ํธ๊ฐ ์๋ค๋ฉด,
์ผ๋ฐ์ ์ผ๋ก ๋์ ์์คํ ์
Projectile์ด ๋ ์๊ฐ๋ฉด์, Particle์ด ์
์๋ฅผ ๋ง๊ตฌ ๋ฟ๋ ค์ค.
Projectile์ด ์ต๋ ์ฌ๊ฑฐ๋ฆฌ์ ๋ค๋ค๋ฅด๊ฑฐ๋, ์ต๋์ ์ ์ ๊ณต๊ฒฉํ๊ฒ ๋๋ฉด, ์๋์ผ๋ก ์ฌ๋ผ์ง๊ฒ ๋๋๋ฐ,
์ด๋, ์๋ฌด๋๋ Particle System๋ ์ฌ๋ผ์ง๊ฒ ๋จ!
๊ทธ๋ ๊ธฐ์, ํ๊ณต์ ๋ถ์ ํ๊ณ ์๋ ํํฐํด๋ ์ฌ๋ผ์ ธ ๋ฒ๋ฆผ! LifeTime์ด ์์ง ๋จ์์๋๋ผ๋!
๋ ํํฐํด ์ปดํฌ๋ํธ๊ฐ ์ฌ๋ผ์ ธ๋, ํํฐํด์ด LifeTime๋์ ์์กดํ๊ฒ ๋ง๋ค๊ณ ์ถ์ด! ์ด๋ป๊ฒ ํด์ผํ ๊น?
๋ด ์๊ฐ์๋ Projectile์ ์ด๋ฒคํธ๋ฅผ ๋ฃ๊ณ , ํํฐํด์ ๋ฐ๋ก ๋๋ฆฌ๋ ๋ฐฉ์๋ ์๊ฐํด๋ดค๋๋ฐ, ์ด๊ฑด ๋๋ฌด ๋ณต์กํ ๋ถ๋ถ์!
์๋ง ์ข์ ์ต์
์ด Partilce System Component์ ์์ ๊ฑฐ๋ผ๊ณ ์ถ์ธก๋๋๋ฐ, ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์๊น?
=========================================================
ํด๊ฒฐํ์ต๋๋ค.
์๊ฐ๋ณด๋ค ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
Projectile์ด ์ฌ๋ผ์ง๋ ์์ ์ ์ ๋์ ํด๊ฒฐ๋ฒ ์ฆ, ์ง์ Destroyํ ๋์ ํด๊ฒฐ๋ฒ์
๋๋ค.
์ฌ๋ผ์ง๋ ์์ ์์ Destroy๋์ CustomDestroyEvent๋ฅผ ๋ถ๋ฌ์์ต๋๋ค.
์ด๋, CustomDestroyEvent๊ณผ destroyDelay๋ผ๋ ๋ณ์๊ฐ ์๋ค๋ฉด,
ํจ์ ๋ด์์
ํํฐํด ๋ฐฉ์ถ์ ์ ์ง์ํค๊ณ , ์คํ๋ผ์ดํธ์ ์ฝ๋ผ์ด๋๋ฅผ enable = false๋ก ๊ฐ๋ ค๋ก๋๋ค.
์ด๋ฌ๋ฉด ๋ง์น ์ฌ๋ผ์ก์ง๋ง, ํํฐํด์ด ๋ฐฉ์ถ๋๋ ๊ฒ ์ฒ๋ผ ๋๊ปด์ง๊ฒ ์ฃ .
๊ทธ ํ, destoyDelay๋ฅผ ํตํด Invoke๋ก Destroy๋ฅผ ํธ์ถํฉ๋๋ค.
๊ทธ๋ผ ๋ณ๊ฐ์ ์ค๋ธ์ ํธ ์์ฑ์์ด ์์ฑ๋ฉ๋๋ค!
๊ฐ์ฌํฉ๋๋ค.
destroy์ง์ ์ parent = null?
ํํฐํด์ ํฌ์ฌ์ฒด ์์์ผ๋ก ๋ฃ์ง ๋ง๊ณ ๋ณ๋ ์ค๋ธ์ ํธ๋ก ๋ถ๋ฆฌํ๋ค์ ํฌ์ฌ์ฒด ์คํฌ๋ฆฝํธ์์ ํํฐํด์ ์์ฑํ๊ธฐ?
์ ๊ฐ ์ด ๋ฐฉ๋ฒ : ํํฐํด์ ๋ณ๋์ ์ค๋ธ์ ํธ๋ก ๋ง๋ค์ด์, ํฌ์ฌ์ฒด๊ฐ ์์ฑ๋ ๋ ๋ถ์ด๊ณ , ํฌ์ฌ์ฒด๊ฐ ์ฌ๋ผ์ง๊ธฐ ์ง์ ์ ๋ถ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ํํฐํด ์ฌ์์ ์ ์ง, ํํฐํด ํจ๊ณผ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ฌ๋ผ์ง๋๊น์ง ๋ช์ด ๋๊ธฐ, ํํฐํด ์๊ฑฐ
์คํธ.. ๊ทธ๋ ๋ค๋ฉด ์๋ก์ด ์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค๊ณ , ์ ๊ฑฐํ๋ ํจ์๋ฅผ ๋ง๋ค๊ฑฐ๋, ์๋๋ฉด ์ฌ๋ผ์ง ๋, ์ฝ๋ฐฑํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ด์ผ๊ฒ ์ด์.
enableEmission=false Stop(true) ํด๋ด๋ผ
์ด๋ฌ๋ฉด ๋ฉ์ถ๋ ๊ฒ ์๋๊ฐ์?
์์.. ๋ต๋ณํด์ฃผ์ ๋ชจ๋ ๋ถ๋ค ๊ฐ์ฌํฉ๋๋ค. ์ถ๊ฐ๋ก ๋ ์ข์ ์์ด๋์ด๋ ์๋ค๋ฉด, ๋๊ธ์ ๋ฌ์์ฃผ์ญ์์ค. ์ ๊ฐ ์๊ฐํ ๋ฐฉ๋ฒ์ ์ผ๋จ, stopAction์ destroy๋ก ๋ณ๊ฒฝํ๊ณ , ์ค๋ธ์ ํธ์ OnDestroy์ ํํฐํด์ ๋ถ๋ฆฌํ๊ณ , ๋ฉ์ถ๊ฒ ํ๋ ์์คํ ์ ๋ง๋ค์ด์ผ๊ฒ ๋ค์. ์ ๋ง๊ฐ์ฌํฉ๋๋ค.
ํํฐํด์ ๋ค๋ฅธ๊ณณ์์ ์์ฃผ ์ด๋ค๋ฉด, ์์ธ๋ฆฌ PollingManager ๋ฅผ ๋ง๋ค์ด์ ๊ฑฐ๊ธฐ์ ํํฐํด์ ์์ฑ, ์๋ฉธ์ ๋ด๋นํ๊ฒ ํด๋๋จ. ํนํ๋ ํฌ์ฌ์ฒด๊ฐ ์์ญ๊ฐ๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ทธ ์์ญ๊ฐ๋ณ๋ก ํํฐํด์ ์์ฑํด์ค์ผ ํด์ ๋ฉ๋ชจ๋ฆฌ๊ด์ ์์ ์๋์ข์. ๊ทธ๋์ ์ด๋ด๋๋ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๋๊ฒ์ด ๋์. ํนํ ์ถฉ๋์ ๋ฐ๋ฏธ์ง ํํ ํํฐํด ๋ฑ๋ฑ์ ํฌ์ฌ์ฒด ์์์ผ๋ก ๋์ง ๋ง๊ณ , ๋ณ๋ pooling ์ผ๋ก ๊ด๋ฆฌํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ด๋ฆฌ๋ฉด์์๋ ์ข์ง๋กฑ
์ดํํธํด ์์ฒด์ ๋ผ์ดํํ์ ๋ค ๋๋๋ฉด ์์์ ํ๊ดดํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๊ฑฐ ๋ณด๊ธดํ๋๋ฐ ์ด๊ฒ ์ ๋ํฐ ๋ํดํธํด์๋ ์ ์ฉ์ด ๋๋์ง๋ ๊ธฐ์ต์ด ๊ฐ๋ฌผ๊ฐ๋ฌผํ๋ค. ๋ฌดํ๋ฃจํ ์ดํํธ์ ๊ฒฝ์ฐ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ ์ฐพ์์ผ๊ฒ ์ง๋ง....
๊ทธ๊ฒ StopAction์ ๋๋ค!
OnDestroy(){ getchild(1).transform.parent = nulll; โขโขโข} - dc App