ํ๋ฒ ๊ณต๊ฒฉํ์ ๋ ์ถฉ๋ ์ฒ๋ฆฌ๊ฐ ๊ฐ์ ๋์์ ์ฌ๋ฌ ๋ฒ ๋๋๋ฐ ํ ๋ฒ๋ง ๋๊ฒ ํ๊ณ ์ถ์
https://answers.unity.com/questions/897505/preventing-multiple-collisions-on-same-target.html
๊ทธ๋๋ง ์ฐพ์๊ฒ ์๊ฑด๋ฐ
- private bool hasCollide = false;
- void OnTriggerEnter (Collider other) {
- if (other.gameObject.tag == "Enemy") {
- if(hasCollide == false){
- hasCollide = true;
- other.gameObject.GetComponent<EnemyHealth>().TakeDamage(WeaponDamage);
- }
- }
- }
- ์ด๋ ๊ฒ ํ ๋ฒ์ ํ ๋์๋ง ๊ณต๊ฒฉํ ์ ์์ ๊ฒ ๊ฐ๊ณ
- ์ฌ๋ฌ ๋์์ ํ ๋ฒ์ ๋๋ฆด ์๋ ์์ง๋ง ํ ๋์๋น ํ ๋ฒ๋ง ๋ฐ๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ๊ฒ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ๋ ๊น ? ? ?
๋ง๋ ์ชฝ์์ ์ฒดํฌํ๋ฉด ๋๊ฒ ๋ค
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๋ง๋์ชฝ์์์ฒดํฌํ๋ ์ง, ๋๋ฆฌ๋๋์์ด ๋ง์๋์ ๋ค ๊ธฐ์ตํด๋ฟ๋ค ๋ ๋๋ฆฌ์ง ๋ง์์ผ์ง
์ฌ์ค ๋ค ๊ธฐ์ตํด๋๋ ค๊ณ ํ๊ธด ํ๋๋ฐ ๋ญ๊ฐ ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์์ ๋ฌผ์ด๋ดใณใณ
๋ฆฌ์คํธ๋ก ํ๋ ค๋๋ฐ GameObject ๋ฆฌ์คํธ๋ก collision.gameObject ๋ค ์ ์ฅํด๋๋ฉด ๋ ๊น ? ? ?
๋๋ ์ด๋ฐ์ ์์๋๋ฐ ๊ทธ๋ ๋ฆฌ์คํธ๋ก ํ์์ ๋ค์ ํ๋ผ๊ณ ํ๋ฉด ๋ง๋์ชฝ์ ํจ์๋๋ฏ
๋ฆฌ์คํธ๋ก ํ๋ ค๋๋ฐ GameObject ๋ฆฌ์คํธ๋ก collision.gameObject ๋ค ์ ์ฅํด๋๋ฉด ๋ ๊น ? ? ?
1ํ์ฑ ๋ฒ์๊ณต๊ฒฉ์ CircleCastAll์ด ์ ์ผ ๊น๋ํ ๊ฑฐ ๊ฐ์๋ฐ.. 2D ํ์ง ์ค๋๋ผ์ ๊ฐ๋ฌผ๊ฐ๋ฌผ
ํ์ ์ ์ฝ๋ผ์ด๋๋ ๋ฑ ๋ง๊ฒ ํ๊ณ ์ถ์๋๋ฐ ์๋ฌด๋๋ ๊ทธ๋์ผ๊ฒ ์ ๋ง๋ ์ชฝ์์ ํด๋ ์ฌ๋ฌ๋ฒ ์ถฉ๋๋๊ณ ๋ฆฌ์คํธ๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น์ผ๋ฏ