ํ•œ ๋ฉฐ์น  ์งธ ๋จธ๋ฆฌ ์‹ธ๋งค๊ณ  ํ’€์–ด๋ณด๋ ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ดค๋Š”๋ฐ ๋„์ €ํžˆ ์ œ ์ง€์‹์œผ๋กœ๋Š” ์•ˆ๋˜์„œ ๊ธ€ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹ค



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced83fa11d0283109f613b0c2e59fad7a6297a8113382d7f832693773a7f47c794108ac433b68c892a74441861abd151ca773b4d0a50d6d63a43d



์œ ๋‹› ํ•˜๋‚˜๊ฐ€ ๋ชจ๋“  ์œ ๋‹›์ด ์žˆ๋Š” ์œ ๋‹› HashSet์„ ํ›‘์–ด๋ณด๋ฉด์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ ๋‹›์„ ์ฐพ์•„๋‚ด๋Š” ํ•จ์ˆ˜ FindEnemy()๊ฐ€

ํ˜ธ์ถœ ํ•œ๋ฒˆ๋‹น 0.5ms๊ฐ€ ์†Œ์š”๋˜๋Š”๋ฐ ๋”์ฐํ•˜๊ฒŒ๋„ ์œ ๋‹›์ด ํ•œ 200~300 ๊ฐ€๊นŒ์ด ๋˜๋ฉด ์ด๊ฒŒ ๋ญ‰์ณ์„œ 200ms ์ •๋„๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.


ํ˜ธ์ถœ์€ 0.1์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๊ณ„์†ํ•ด์„œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค


๋นจ๋ฆฌ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ๋Œ€ ์œ ๋‹›์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ• ์žˆ๋‚˜์š”?



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced83fa11d0283109f613b0c2e59fad7a6297a8113382d7f832693773a7f47c794108ac433b68c892a74441861abd4f1efe77b287f0566db3dced


์ด๊ฑด ์ € FindEnemy()๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„๋•Œ์ธ๋ฐ ์ด๋•Œ๋„ FixedUpdate.Physics2DFixedUpdate์—์„œ ๊ต‰์žฅํžˆ ๋งŽ์€ ๋ ‰์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

์œ ๋‹›๋“ค์€ ์ฃ„๋‹ค Rigidbody2D์— Body Type์€ Dynamic์ด๊ณ ์š”.


๋ฌผ๋ฆฌ ์ชฝ๋„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.


์œ ๋‹› ํƒ์ƒ‰ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค




viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced83fa11d0283109f613b0c2e59fad7a6297a8113382d7f832693773a7f47c794108ac433b68c892a74441861abd1b4afe75e8d7a4546dc153a2


Vector2.Distance(unit.rb.position, rb.position)์„ย 


(unit.rb.position - rb.position).sqrMagnitude๋กœ ๊ฐœ์„ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced83fa11d0283109f613b0c2e59fad7a6297a8113382d7f832693773a7f47c794108ac433b68c892a74441861abd1b4eac78e083af026db8be75


ํฐ ์ฐจ์ด๋Š” ๋ณด๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.