Getcom์„ ์•ˆ์“ฐ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๊ฑฐ๋ณด๋‹ˆ ์บ์‹œ๋ž‘ ํ•จ์ˆ˜ํ˜ธ์ถœ ๋น„์šฉ์ด ์กด๋‚ด ์•„๊นŒ์šด ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‚˜๋ณด๊ตฌ๋‚˜

์œ ํŠœ๋ธŒ ๊ฐœ์ฉŒ๋ฆฌ ๋ฐฉ์†ก์—์„œ ํƒ€๊ฒฉ๋ฐ›์•˜๋‚˜๋ณธ๋Œ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค.


1. ๊ตฌ์กฐ์ ์œผ๋กœ ์ด๋ฏธ ์„ค๊ณ„๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ.


์ด๋ฏธ ํƒ€๊ฒฉํŒ์ • ๋ฐ ํƒ€๊ฒŸ์ด ์ •ํ•ด์ ธ์žˆ๋Š” ๊ฒฝ์šฐ Projectile ์€ ๋ชฉํ‘œํƒ€๊ฒŸ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ Getcom์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์„ค๊ณ„๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ ย 

์ค€๋น„๋œ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ๊ทธ๋Ÿฐ ์งˆ๋ฌธ์„ ํ•˜์ง€ ์•Š์œผ๋‹ˆ ํŒจ์Šค


2. ์œ ๋‹ˆํ‹ฐ ์ž์ฒด์ ์œผ๋กœ ์ฝœ๋ผ์ด๋” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฐ€์žฅ ์ž‰์—ฌ์Šค๋Ÿฌ์šด ๋ฐฉ์‹


์–ด ํ•ด์•ผํ•ด. Collider ํƒ€์ž…์œผ๋กœ ์˜ค๋Š”๋ฐ Getcom ์จ์•ผ์ง€. ๊ทธ๋‚˜๋งˆ ๋จธ๋ฆฌ๊ฐ€ ์กด๋‚ด ๋Œ์•„๊ฐ€๋Š” ๊ฒŒ์ด๋ผ๋ฉด Monster , Player ์ด๋Ÿฐ ํด๋ ˆ์Šค์—๋‹ค๊ฐ€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ

์“ฐ์ง€๋Š” ์•Š์•„์•ผ๊ฒ ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์ž‰์—ฌ๋‹ˆ ๋ชฐ์•„์„œ ๊ตฌํ˜„ํ–ˆ์„๊ฑฐ๋‹ค. ๊ทธ๋ƒฅ ๋ฐ๋ฏธ์ง€ ์ฒด์ปค ํด๋ ˆ์Šค๋ฅผ ๋งŒ๋“œ๋ ด.


DamageChecker , Or HitChecker ๋ผ๊ณ ย 


์—ฌ๊ธฐ์—์„œ ๋˜ ์šฐ๋ฆฌ์˜ ๊ฒŒ์ด๋“ค์€ ์กด๋‚ด ์ƒ์†๋ฐ›์•„์•ผํ•œ๋‹ค. ๋ญํ•ด์•ผํ•œ๋‹ค ์ด๋Ÿด๊ฑด๋Œ€ ์ด๋ ‡๊ฒŒ ํ•˜๋ ด.

๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ์ด๋Ÿฐ๊ฑฐ ์šฐ๋ฆฌ ๊ฒŒ์ด๋“ค์€ ์‹ซ์–ดํ•˜๋‹ˆ๊น ๊ทธ๋ƒฅ ๋ชจ๋“  ๋ฐ๋ฏธ์ง€ ๋จน์„๋†ˆ๋“ค ๋ถ€๋ชจ์—๋‹ค๊ฐ€ BaseDamageAbleObject ํด๋ ˆ์Šค ๋งŒ๋“ ๋’ค์— ์—ฐ๊ฒฐํ•ด ๋†“์œผ๋ ด.

ํ•จ์ˆ˜๋Š” OnHit(float damage) ๋“ฑ ๋งˆ์Œ๋Œ€๋กœ ํ•˜๊ณ .



3. ์ด์ œ ์ € ์œ„์— ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ค‘ ํ•˜๋‚˜๋Š” ์กด๋‚ด ๊ธฐ๋ฐ˜์žกํ˜€์•ผํ•˜๋Š”๊ฑฐ๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ์šฐํšŒํ•ด์„œ ๋“ค์–ด๊ฐ€๊ณ  ์ฝ”๋“œ๊ฐ€ ์ง€์ ธ๋ถ„ํ•ด์ง„๋‹ค๋Š” ๋А๋ผ๋Š”๋†ˆ๋“ค์ด ์žˆ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ฒŸ์ง€


public void OnCollisionEnter(Collision collision)

ย  ย  {

ย  ย  ย  ย  collision.gameObject.SendMessage("OnHit", 10, f);

ย  ย  }



์šฐ์„  ์ˆœ์œ„ ๋ฐฉ๋ฒ• GetCom์„ ์ œ์™ธ์‹œํ‚ฌ๋ ค๋ฉด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์„ค๊ณ„ ์ž˜ํ•˜๋Š”๊ฑฐ๊ณ  ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋ฉ”์„ธ์ง€๋กœ ๋Œ๋ฆฌ๋Š”๊ฑฐ๊ณ  ์ถ”์ ํ• ๊ฑฐ๋ฉด ๋‘ ๋ฒˆ์งธ๋กœ ํ๋ฆ„์ฐพ์•„๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.