์ฐ์...
๊ฒ๋ฉ์ฐ๋ค๊ฐ ์ ๋ํฐ ๋ฐฐ์ฐ๋๋ฐย
๊ฐ์ฅ ๊ฐ๊น์ด ์ธ์คํด์ค id ๋ฐํํ๋ ค๋ฉดย
์ ๋ํฐ์์๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ชจ๋ ์ธ์คํด์ค ๊ฑฐ๋ฆฌ ์ฒดํฌํด์ย
๋ฐฐ์ด๋ก ์ ์ฅํ๊ณ ๊ทธ๋์ผ ๋๋๊ฑฐ์ผ?ย
๊ฒ๋ฉ๋ ํจ์ ํ์ค ์ฐ๋ฉด ๋๋๋ฐ,
์ฐ์...
์คํ๋?
์ง์ง๋?
// Find the name of the closest enemy
GameObject FindClosestEnemy() {
GameObject[] gos;
gos = GameObject.FindGameObjectsWithTag("Enemy");
GameObject closest = null;
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in gos) {
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if (curDistance < distance) {
closest = go;
distance = curDistance;
}
}
return closest;
}
}
์ด๊ฑด ์ ๋ํฐ ํ๋ธ์ ๋๊ฐ ์ง๋ ผ๊ฑฐ๊ณ ,
instance_nearest(x,y,obj)ย
์ด๊ฑด ๊ฒ๋ฉ ๋ด์ฅ ํจ์๋ฐ...
๊ทธ๋ ๋๋ ๋ชจ๋ ์ธ์คํด์ค์์ผ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋น๊ตํด์ย
๊ฐ์ฅ ๊ฐ๊น์ด ์ธ์คํด์ค๋ฅผ ์ฐพ์์ ์๊ฒ ๋๋ฐ...ย
๊ฒ๋ฉ ํจ์๋ฅผ ๊ฒฝํํ ์ด์ ์ ๋ํฐ ๊ฐ๋ฐ๊ณผ์ ์ด ์์์๋๋ก ๋๊ปด์ง๋๊ฑดย
๋ด๊ฐ ์๋ชป ์๊ฐํ๊ณ ์๋๊ฑฐ๋?
๊ฐ๋ฐ์๋๊ฐ ์ด๋ ๊ฒ ๋๋ฆฐ๋ฐย
๊ฐ๋ฐ์ฌ๊ฐ ๋ค ์ ๋ํฐ๋ฅผ ์ฐ๋ย ์ด์ ๊ฐ ๋๋์ฒด ๋ญ๋?ย
๋ ์ ๋ชจ๋ฅด๋๊น ๋ฌผ์ด๋ณด๋๊ฑฐ์ผย
๊ฐ๋ง์ ์ ๊ฒ๋๊ฒ ๋จน์ด์ ๋ ๋ ํ๋คย
ํ๋ ์ด์ด๊ฐ ํ ๊ทธ๋ก ์ค๋ธ์ ํธ ๊ฒ์ํ๋ฉดย
๊ฐ์ฅ ๊ฐ๊น์ด ์ธ์คํด์ค ์์ผ๋ก ์ฐพ๋๋ด๋คย
๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ฑฐ๋ฆฌ ๋น๊ตํ ํ์ ์๋ค๊ณ ...ย
๊ฐ์ํ๋ ๊ธฐ๋ฅ ์ฐ๋ฉด ์์งํ ์ข์์ย
๊ฐ๋ฐ๋ ๋นจ๋ผ์ง๊ณ ,ย
๊ธฐ๋ฅ ์๋๊ณ ๋ฌผ์ด๋ดค๋๋ย
์๋๋์ ์๊ณ ๋ค๋ค ์๋งํ๋
์ฝ๋ผ์ด๋๊ฐ ์์ผ๋ฉด ํผ์ง์ค.์ค๋ฒ๋ ์คํผ์ด
๊ทธ๊ฑฐ ์ฐ๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ์ธ์คํด์ค ๊ตฌํ ์ ์๋๊ฑฐ์ผ?
์๋... ๊ทธ๊ฑด ์๋๊ณ ๋ฐ๊ฒฝ๋ด์ ์ค๋ธ์ ํธ๋ฅผ ๋ฐฐ์ด๋ก ๊ฐ์ ์ค๋๋ฐ ๊ฑฐ๋๋ ๋๋ค์ด๋ผ ๊ณ์ฐ์ ๋๊ฐ ํด์ผํจ.
Vector3.distance๋ก ๋ค๋๋ ค์ผ์ง๋ญ..
๋๊ฐ ์ง๋์ ํจ์๋ฅผ ๊ฐ์ ธ๋ค ์ธ ์ ์๋๊ฒ ์ฅ์ ์ด์ง ๋ ๊ตฌ๊ธ์ ์ ์ ๋ฏฟ๋ ์ด๋จ์ด๊ตฌ๋?
์จ๋ฐ ๋ฌด์จ ๊ฑฐ๋ฆฌ๊ณ์ฐ ๋๋ฆฌ๋๊ฑฐ ๊ฐ์ง๊ณ ์์์ ใทใทใทใทใทใทใทใทใทใทใทใท
ํจ์ ํ๋ํ๋๊ฐ์ง๊ณ ์ง๋ํ ๊ฑฐ๋ฉด ๋๊ฐ ํ์ํ ๊ธฐ๋ฅ๋ง ๋ด์ฅ๋ผ์๋๊ฑฐ ์ฐ์ธ์
์ ์ฌide์์ง์ฐ๋ฉด์ ์์์๋ ์ด์ง๋ใ ใ ใ ใ
๊ฑ ๊ฒ๋ฉ ์จ๋ผ ใ ใ ๋๊ฐ์ ์ ๋ค์ ์ ๋ํฐ ์จ๋ ๊ฒ๋ฉ ์์ค๋ฐ์ ๋ ํ์ฉ ๋ชปํด ใ ใ
์ผ ์ ๊ฑธ ํ๋ฒ ๊ตฌํ๋๊ฑด ๊ฐ๋คํ์ง, ๊ทผ๋ฐ ์์ฑ๋๊ณ ์๋ฉธ๋๋ ์ธ์คํด์ค์ค์ ๊ฐ์ฅ ๊ฐ๊น์ด๊ฑธ ์ฐพ์๋ ค๋ฉด ์ผ๋ง๋ ๋ฒ๊ฑฐ๋ก์์ง๋๊ฑฐ์ผ, ๊ฒ๋ฉ๋ ํจ์ ํ์ค์ด๋ฉด ๋๋๋ฐ, ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋๋ผ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ฒ์์์ง์ธ๋ฐ ๋ง์ด ์ฐ์ด๋ ํจ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ค๋๊ฒ... ๋ด๊ฐ ์ด์ํ๊ฑฐ๋?
๋ฏธ๋ฆฌ ๋ด์ฅ๋ ํจ์ ํ๋์ฐ๋๊น ๊ทธ๊ฒ logN์๊ฐ๋ง์ ํด์ฃผ๊ณ ๊ทธ๋ด๊ฑฐ๊ฐ์??
๊ทธ๋ ๊ฒ ํธํ๊ฒ๋ง ์ฐพ๋ค๊ฐ ๋์ค์ ํ๋ณธ๋ค ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ
๊ฒ๋ฉ๊ฐ ๋ฌด์จ ์ ๋ํฐ๋ ๋ชปํ๋ ์ด๋ค ^๋งค์ง^์ด ๊ฐ๋ฅํ ๊ฒ ์๋๋ผ ๊ทธ ๋ก์ง์ ๋ฏธ๋ฆฌ ํจ์๋ก ๋ฌถ์ด๋์๊ฑฐ ๋ฟ์
๊ทธ๋ฆฌ๊ณ ๊ฒ์์ ์ผ๋ง๋ ๋ง์ ๋ณ์๊ฐ ์กด์ฌํ๋๋ฐ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ํจ์๋ฅผ ์ฐ๋ฉด ์๊ธฐ ์ ๋ง๋๋ก ์์ ํ๊ธฐ ํ๋์์
๊ฒ๋ฉ ์ ํจ์๋ ๋ฏ์ด๋ณด๋ฉด ์ ๋ํฐ๋ ๋ค๋ฅผ๊ฑฐ 1๋์์ ๋๊ฐ์ ์ผ์ ํด์ฃผ๋ ์ฝ๋๋ฅผ ํจ์ํํ๋ก ๋ด์ฅ์์ผ์ค๊ฑฐ๊ณ ๊ทธ๋ฅ ์ ๋ก์ง์ด 3์ด์์ ์๊ฐ์๋๋ฉด ๋ฐ๋ก ๊ฐ๋ฐ์ ์ค๊ฒฉ์. ๊ตฌ๋ฉด์ ํ๋ณด๊ฐ๊ธฐ๋ฅ๋ ์๋ ์์ง์ฐ๋ฉด์ ๊ฐ๊น์ด ์ค๋ธ์ ํธ ๋ฐํ์ด ์๋๊ฑฐ๋ณด๊ณ ์์์ ์ด๋ผ๋๊ฑฐ ๋๊ฒ ์๊ธฐ๋จ๋ค ์น๊ตฌ์ผ
๋ด๊ฐ ์ด๋ณด์๋๊น ์๋จน๋๊ฑด ๋ฐ์๋ค์ผ๊ฒ ๋์๋ ๋์์ด๋๋๊น, ๊ทธ๋ผ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง์ข ์๋ ค์ฃผ๋ผ, ๋ฏธ์ฌ์ผ 30๊ฐ์ ๋๊ฐ ๊ณ์ ์๋ฉธ๋๊ณ ์์ฑ๋๋๋ฐ, ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฏธ์ฌ์ผ์ ์ขํ๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธ ํด์ค์ผ๋ผ, ๋๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋น๊ตํด์ ๊ตฌํ ์๋ ์๋๋ฐ, ์ต๋ํ ๊ฐ๋จํ๊ฒ ๊ตฌํํด์ค๋ด, ๊ฒ๋ฉ๋ ํจ์ ๋๊ฐ๋ฉด ๋๋๋ฐ ๋ณต์กํด์ ๊ทธ๋, ๋ด๊ฐ ์ ๋ชฐ๋ผ์ ๊ทธ๋ฌ๋๊น ์ดํดํด์ค
๊ทธ๊ฑด ๊ฒ์์ ํน์ฑ์ ๋ฐ๋ผ ํ๋จธ๊ฐ ์๋ง๊ฒ ๊ตฌํํด์ผ์ง ์ผ๋ฐ์ ์ธ ๋ฏธ์ฌ์ผ์ด๋ฉด ์ ๋นํ ์ถฉ๋์ฒด ๋ถ์ฌ๋๊ณ ์ถฉ๋ํ ๋ฏธ์ฌ์ผ๋ค๋ผ๋ฆฌ ๋น๊ตํด์ ๊ตฌํ๋ฉด ๋๋๊ฑฐ๊ณ
์์ ์ฝ๋๋ฅผ ํจ์๋ก ๋ฌถ์ด. ๊ทธ๋ฆฌ๊ณ ํ์ํ ๋๋ง๋ค ๊ทธ ํจ์ ํธ์ถํ๋ฉด ๊ฒฐ๊ตญ์ ๊ฒ๋ฉ๋ ๋๊ฐ์์. ๊ทธ๊ฒ ๋ชจ๋ํ, ํจ์๊ฐ ํ์ํ ์ด์ ์.
์ ๊ฒ๋ฉํจ์ ๋ด์ฅ์ฝ๋๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ์ด๋์๋์ง๊ฐ์ ํญ์ ์ถ์ ํ๋ฉด์ ๋ฐํํด์ฃผ๋๊ฑฐ๋ฉด ๋๊ฐ ๋ง๋๋๊ฒ์๋ ์ ๋ํฐ ์ฝ๋๊ฐ ์ด์ธ๋ฆด๊ฑฐ์
์์ ๋ฌ๊ฒ ๋จน์ํ ๋๊น ์ข ์๋ ค์ค... ํ์ํด์ ๊ทธ๋, ์์ ์ฝ๋๊ฐ ์ต์ ์ธ๊ฑฐ์ผ? ์ ๊ฑฐ ๊ณ์ ์ ๋ฐ์ดํธ ํด๋ ๋ชจ๋ฐ์ผ์์ ๋ฌด๋ฆฌ ์๋๊ฑฐ์ง?
๋ ํ๋ก์ ํธ์ ๋ฐ๋ผ์ ๋ค๋ฅธ๊ฑฐ์ง ์๋ง. ์ค๋ธ์ ํธ๊ฐ ์๋ฐฑ๊ฐ์ฉ ์์ผ๋ฉด ๊ณค๋ํจ.
๋๋ค~ ๋ง๋ค๋ง ๋ง์ง... ํ๋ ์ด์ด๋ก๋ถํฐ ํ๊ทธ๋ฅผ ์ด์ฉํด ๊ฒ์ํ๋ฉด ์๋์ผ๋ก ๊ฐ๊น์ด ์ค๋ธ์ ํธ๋ถํฐ ์ธ์ํ๋ด๋ค
์ด๋ฏธ ๊ตฌํ๋ ์ฝ๋๋ฅผ ๋ค๊ณ ์ ๋๊ณ ๋ญ ๊ฐ๋ฅด์ณ๋ฌ๋ผ๋๊ฑฐ์?
์ ์ฝ๋ ์ธ์ ๋ค ๊ฒ์์ ์ด๋ค ์ฝ๋๋ค์ด ์์์ง ๋ชจ๋ฅด๋๊น ์ ๊ฒ ๋ฌด๋ฆฌ์์ด ๋์๊ฐ์ง ์ด๋จ์ง ํ์ธ์ผ๋ก์๋ ์ ์๊ฐ ์๊ณ ์ง์ ๋๋ ค๋ณด๋ฉด์ ํ ์คํธํด์ผ ํ๋๊ฑฐ์ผ. ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ๊ทธ๋ ๋ค์ ํด๊ฒฐ์ฑ ์ ๊ณ ๋ฏผํ๊ณ
์์ ์ฝ๋๋ฅผ ์ต์ ํํ๊ณ ์ถ์๊ฑฐ๋ฉด, ๋งค๋ฒ FindGameObjectsWithTag๋ก ์ฐพ์ง ๋ง๊ณ , ํ ๋ฒ ์ฐพ์๊ฑธ ๊ธฐ๋กํด ๋๋ค๊ฐ ๋ค์ ์ฐ๋ ๋ฐฉ๋ฒ์ด ์ด๊ฒ ์ง
์ด๋จ๋์ด ํ์์์?
๊ทธ๋ฆฌ๊ณ ๊ฒ๋ฉ๊ฐ ๋๋จํด์ ํจ์ ํ์ค๋ก ๋๋๋๊ฒ ์๋๋ผ ์ ์ฝ๋์ฒ๋ผ ๋ณต์กํ ๊ฑธ ๋ฏธ๋ฆฌ ๊ตฌํํด๋๊ณ ์๋ณด์ด๊ฒ ์จ๊ฒจ๋ ๊ฒ ๋ฟ์. ๋๋ ํ ์ค๋ก ๋๋ด๊ณ ์ถ์ผ๋ฉด ์ ์ฝ๋๋ฅผ ํจ์๋ก ๋ง๋ค์ด๋๊ณ ํ์ํ ๋๋ง๋ค ๋ถ๋ฌ๋ค ์จ
ใ ใ ๋ผ์ด ์๋ ค์ฃผ๋๊น ๊ฐ์๋ฆฌํ๊ณ ํ๋ค ์ด๋์ ๊ธฐํ์กฐ๋ฌด์ฌ ์๋ผ๋ค์ด๋
๊ทธ๋ฌ๋๊น ํ๋ ์ด์ด๊ฐ ํ ๊ทธ๋ก ๊ฒ์ํ๋ฉด ์๋์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ์ธ์คํด์ค๋ถํฐ ์ฐพ๋๋ค๊ณ ... ์ด๊ฑธ ์๋ ค์ฃผ๊ณ ใ ์ฅํ์ผ๋ฉด ๋ด๊ฐ ์๋ฝ์ง ์๊ฒ ๋ค....
์์ผ๋ฉด ์์ฉํด์ ๋ง๋๋๊ฑด ์ข์๋ฐ, ๊ฒ์์์ ์ง์ง ๋ง์ด ์ฐ๋ ๊ธฐ๋ฅ์ด์์, ์ ๋ํฐ๋ ๊ทธ๊ฑธ ์ผ๋ํด์ ์๋์ผ๋ก ๊ฐ๊น์ด์ด ์ธ์คํด์ค๋ถํฐ ์ฐพ๊ฒ ๋ง๋ค์ด ๋์๊ฑฐ๊ณ , ๊ทธ๋์ ๊ธฐ๋ฅ ์๋๊ณ ๋ฌผ์ด๋ณธ๊ฒจ~
์ด...์จ...์๋ฌ์์ ๋ด๊ฐ...
๊ณผ์ฐ ์ธ์ ๋์น์ฑ์ง ๊ฟ์ผ๊ฐ์ธ ๋ถ๋ถ์ด๋คใ ใ ใ ใ ใ ใ
์ํ๋๋ค ๋ค ์ด๋๊ฐ์ด ์ด์จ...
์ด์จ ์ด์ง๋ํ๊ณ ์๋ค ์์ง๋ ์ดํด ๋ชปํ๋...
์ด๋ฐ๊ฒ๋ ์์ ์ฐพ์๋ณด์๋๊ฐ์~
๊ธฐํ๋ด๋น์ด๋ผ๋์ ๊ฐ ์ฌ๊ธฐ๊น์ง์์ ์ด๋ฐ์ง๋ฌธ ํ ์ ๋๋ฉด ์๋คํ ํ๋จธ์์ค๋ ์๋งํ๋คใ ใ ใ ํ๋ด๋ผ
์ด์จํ๋ฉด์ ๊ท์ฌ์ด์ฒํ๋๊ฑฐ ์ข๊ฐ์ด ์ญ๊ฒจ์ฐ๋๊น ๊บผ์ง์ธ์
์ฐ๊ธฐ ํธํ ํจ์๋ API๋จ์์์ ์ธ ์ ์๊ฒ ํด์ฃผ๋ฉด ์ข์ง. GameObject.Find๊ฐ ๋นํ์ฑํ๋ ์ค๋ธ์ ํธ ๋ชป ์ฐพ๋ ๊ฑธ๋ก ์ํ๋ ์ฌ๋๋ ์ผ๋ง๋ ๋ง์๋ฐ. ๊ทผ๋ฐ ๋์ฒด ์ ์ง์ ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ์. ์ํผ.. ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ๊ฐ ์๊ฒ ๋๋ฐ.. ์ผ๋จ ๋ณธ์ธ๋ ์ด๋ณด์๋ผ ๋ชจ๋ฅด๋ ๊ฒ ๋ง์. raycast ๋๋ ค์ ์ฐพ์๋ด๋ ๊ฑด ์ด๋ฐ?
ํ ๊ทธ๋ก ๊ฒ์ํ๋ฉด ์๋์ผ๋ก ์๊ธฐ๋ ๊ฐ๊น์ด ์์ผ๋ก ์ฐฌ๋๋ฐ, ์ด์จ๋ ์ข์ ๊ธฐ๋ฅ ์๋ ค์ค์ ๊ณ ๋ง๋ค.