๋ ์ด์บ์คํธ ์ฒ์ ์จ๋ณด๋๊น ๋๋ฌด ์ด๋ ต๋ค..
์ด๊ฒ ๊ธฐ์กด ์์ฑ๋ ์ฝ๋์ธ๋ฐ
๋๋ Enemy๋ผ๋ ๋ ์ด์ด ๋ง๊ณ ๋ DestroyObj๋ผ๋ ๋ ์ด์ด๋ฅผ ๊ฐ์ง ๋ฌผ์ฒด์๋ ๋ ์ด์บ์คํธ๊ฐ ๋ถ๋ชํ์ผ๋ฉด ์ข๊ฒ ์
๊ทธ๋์ rayHits์ LayerMask.GetMask("Enemy") ๋ค์ + LayerMask.GetMask("DestroyObj") ๋ฅผ ์ถ๊ฐํด์คฌ์.
์ด์ Enemy ๋ ์ด์ด ๋ง๊ณ ๋ DestroyObj ๋ ์ด์ด์๋ ๋ ์ด์บ์คํธ๊ฐ ๋ถ๋ชํ๊ฒ ๋จ
๋ค๋ง, ๋ฌธ์ ๊ฐ ํ๋ ์๊น
Enemy ๋ ์ด์ด์ ์๋ ์น๊ตฌ๋ค์ ์ ๋ถ Enemy ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฉ๋์ด ์๊ณ , ๊ทธ ์์ HitByGrenade๊ฐ ์กด์ฌํจ.
ํ์ง๋ง DestroyObj ๋ ์ด์ด์ ์๋ ์น๊ตฌ๋ค์ Destroy ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฉ๋์ด ์๊ณ , ๊ทธ ์์๋ HitByGrenade๊ฐ ์กด์ฌํจ.
์ฆ, DestroyObj ๋ ์ด์ด์ ์๋ ์น๊ตฌ๋ค์ด ๋ ์ด์บ์คํธ์ ๋ง์ผ๋ฉด Enemy ์คํฌ๋ฆฝํธ์์ HitByGrenade๊ฐ ์๋, Desetory ์คํฌ๋ฆฝํธ์์ HitByGrenade๋ฅผ ์ฌ์ฉํด์ผํจ.
๊ทธ๋ผ if๋ฌธ์ ์จ์ ๋ง์ฝ Enemy ๋ ์ด์ด๋ผ๋ฉด Enemy ์ปดํฌ๋ํธ๋ฅผ, DestroyObj ๋ ์ด์ด๋ผ๋ฉด Destroy ์ปดํฌ๋ํธ๋ฅผ ์ฐ๊ฒ ํ์.
๋ผ๊ณ ์๊ฐ์ ํด์ if๋ฌธ์ผ๋ก ๋ ์ด์ด๋ฅผ ์ฒดํฌํด์ฃผ๊ณ ์ถ์๋ฐ ์ด๋ป๊ฒ ์์ฑ์ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์
๋ด๊ฐ ํ๊ณ ์ถ์๊ฑด ์ด๋ฐ ๋ชจ์์์ธ๋ฐ
if ์กฐ๊ฑด์์ ์ด๋ป๊ฒ ๋ค์ด๊ฐ์ผ ํ ๊น..?
layermask๋ ๋นํธํ๋๊ทธ๋ผ ๋ง์คํฌ๋ฅผ ์ฌ๋ฌ๊ฐ ํฉ์น ๋๋ ํ๋๊ทธ์ฐ์ฐ์ ํด์ผํจ.
https://ansohxxn.github.io/unitydocs/layermask/
์ด๊ฑฐ ์ฐธ๊ณ ํด๋ด๋ผ
๊ณ ๋ง์! ์ด๋ ต๊ธดํ์ง๋ง ํ๋ฒ ์ฒ์ฒํ ์ฝ์ด๋ณด๋ฉด์ ํด์ผ๊ฒ ๋ค.
๋ง์คํฌ ์ฌ์ด์ + ์ฐ์ฐ์ ๋์ | ๋ฅผ ์ฐ๋ฉด ๋จ
๊ณ ๋ง์! ์์ ํ์ด! ๊ทผ๋ฐ ์ฌ์ ํ if ๋ฌธ ์์ ์กฐ๊ฑด์ ์ด๋ป๊ฒ ์จ์ผํ ์ง๋ฅผ ๋ชจ๋ฅด๊ฒ ๋ค..
hitObj.transform.gameObject.layer == ์ด๋ ๊ฒ ๋น๊ตํ๋ฉด ๋ ๋ฏ
์ง์ง ์ต๊ณ ์ผ ๊ณ ๋ง์, ๋๋ถ์ ํด๊ฒฐํ์ด
๋ ์ด์ด ์ฒดํฌ๋ hitObj.collider.gameobject.layer๋ก ๋น๊ตํ๋ฉด ๋ ๊ฑฐ๋ค.
์์ ์น๊ตฌ ๋๋ถ์ ํด๊ฒฐํ๋๋ฐ collider๋ก๋ ํ๋ฒ ํด๋ณผ๊ฒ. ๋ค๋ฅธ ๋ฐฉ๋ฒ ์๋ ค์ค์ ๊ณ ๋ง์. ๋ญ๊ฐ ๋ค๋ฅธ์ง๋ ํจ ์๊ฐํด๋ด์ผ๊ฒ ๋ค.
์ด์ฐจํผ gameobject.layer๊น์ง ๊ฐ๋๊ฒ ํต์ฌ์ด๋ผ ์ค๊ฐ์ collider๋ transform์ด๋ ๊ฑฐ๊ธฐ์ ๊ฑฐ๊ธฐ์.