ํ์ ๋ํ์ค ๊ฐ์๊ฑธ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํฉ๋๋ค.
๋ฉํฐ ํ๊ฒ ๊ฐ์๊ฑฐ ์๊ฐํด๋ณด๋๊น ์ ์ ์ฐพ๋ ํ์๋ฅผ ๊ณ์ ํด์ผ ํ ๊ฑฐ ๊ฐ์ต๋๋ค.
๋ฒ์ ๋ด์ ์ฐพ์ ์ ์ collider2D๋ Gameobject๋ ์ List๋ ๋ฐฐ์ด๋ก ์ ์ฅํ๋ค๊ฐ ์ ์ด ์ฃฝ๊ฑฐ๋ ์ฌ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฒ์ด๋๋ฉด ๋ชฉ๋ก์์ ์ญ์ ํ๋ ค๊ณ ํฉ๋๋ค.
๋์ค ์ด๋ ๋ฐฉ๋ฒ์ด ๋น์ฉ์ด๋๊ฒ ๋ ์ผํธ์ธ์ง ๊ถ๊ธํฉ๋๋ค
Physics2D.Overlap์ ์ฌ์ฉํด์ ์ผ์ ํ๋ ์๋ง๋ค ํธ์ถํด์ ์ ์ ์ฐพ๋๊ฒ ์ข์๊น์
์๋๋ฉด OntriggerEnter ๋ ๋ฆฌ์คํธ๋ก ๋ค์ด๊ณ ์ฃฝ๊ฑฐ๋ Exit๋ ๋ฆฌ์คํธ์์ ๋นผ๋ ๋ฐฉ์์ด ์ข์๊น์
์ถ๊ฐ๋ก Physics2D.OverlapCircleAll ์ ์ด์ฉํด์ ์ ์ ์ฐพ๋๊ฑธ ๊ตฌํ์ ํ๋๋ฐ ํ์ ์ฌ์ ๊ฑฐ๋ฆฌ๋ก ๋ฐ์ง๋ฆ์ ์ค์ ํ๊ณ ๋๋
์ฌ๊ฑฐ๋ฆฌ ๋ฒ์ด๋ฌ์๋๋ ๋ชฉ๋ก์์ ์ญ์ ํ๋ ค๋ ๋ฌธ์ ๋๋ฌธ์ ์ถฉ๋๋ก ๋ฆฌ์คํธ์ ๋ค์ด์๋ค๊ฐ๋ position ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ์ฌ์ ๊ฑฐ๋ฆฌ ์ด๋ด ์ผ๋๋ง ๊ณต๊ฒฉ์ ์์ํฉ๋๋ค.
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๊น์?
๋ฒกํฐ๋ผ๋ฆฌ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด์ฃผ๋ Vector2.Distance๋ผ๋ ํจ์๊ฐ ์๋๋ฐ ๊ทธ๊ฑธ๋ก ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ์์์ ์ํ๋ ์์ผ๋ฒ์๋ณด๋ค ์์๋ ์ฐพ๋๊ฒ ๋ ์ข์๊ฑฐ ๊ฐ์. Gameobject object1,object2; float dis = Vector2.Distance(object1.transform.position,object2.transform.position); if(dis <= 8.5f) ์ด๋ฐ์์ผ๋ก
๊ทธ๋ผ ๋ชฌ์คํฐ๋ฅผ ์ํํ์๋ ๊ฐ ํ์๊ฐ ๊ฐ์ฅ๋น ๋ฅธ ๋ชฌ์คํฐ์์ ๊ฑฐ๋ฆฌ๊ฐ ์ฌ๊ฑฐ๋ฆฌ ์ดํ ์ผ๋ ๋ถํฐ ์ฐพ๋ ๊ฒ์์ ํ๋๊ฒ ์ข๊ฒ ๋ค ์ด๋ง์์ธ๊ฐ์ ๊ทธ๋ฌ๋๊น ์ฐพ๋ ํ๋์ ๋งค ํ๋ ์ ํ๋๊ฒ ์๋๋ผ ์ ์ด ๊ทผ์ฒ์์๋๋ถํฐ ์ฐพ๋ํ๋์ ํ๊ฒ๋ง์ด์ฃ ?
์ ๋ Overlap์ผ๋ก ํ๋๊ฒ ์ข์๊ฒ ๊ฐ์ต๋๋ค. Enter, Exit๋ก ๊ด๋ฆฌํ๋ฉด ๊ด๋ฆฌ๊ฐ ํ๋ค์ด์์
๊ทธ๋ฐ ๋ฌธ์ ๊ฐ ๋ ์๊ตฐ์