2D ํ™˜๊ฒฝ์—์„  ์‚ฌ์‹ค์ƒ ๋ฒกํ„ฐ ์—ฐ์‚ฐ๋ณด๋‹จ ์‚ผ๊ฐํ•จ์ˆ˜์— ๊ฐ€๊นŒ์›Œ์„œ ์งœ๊ณ  ์žˆ๋Š”๋ฐ


์ด๋ ‡๊ฒŒ ํ•˜๋Š”๊ฑฐ ๋งž๋‚˜..? ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• ์žˆ์œผ๋ฉด ์ถ”์ฒœ์ข€


์ง€๊ธˆ ๋ฒŒ์จ 2์—ฐ์† ์‚ผ๊ฐํ•จ์ˆ˜์ž„.



24b0d121e09c28a8699fe8b115ef046f574b98

๋Œ€์ถฉ ๋žœ๋ค ๊ฐ ๊ตฌํ˜„


๋Œ€์ถฉ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ Vector2 dir = distance.normalized

float angle = Mathf.Atan2(dir.normalized.y, dir.normalized.x) * Mathf.Rad2Deg;


์•„ํฌํƒ„์  ํŠธ๋กœ ๊ฐ๋„ ๋ณ€ํ™˜ ํ›„ ๋ผ๋””์•ˆ ๊ฐ’์ด๋‹ˆ๊นŒ ๊ณ„์ˆ˜ ๊ณฑํ•ด์ฃผ๊ณ  + Random(-30, 30)์œผ๋กœ ๋žœ๋ค ๊ฐ ๊ตฌํ•œ๋’ค

Mathf.Deg2Rad๋ฅผ ๊ณฑํ•ด์„œ ๋‹ค์‹œ ๋ผ๋””์•ˆ์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ 


๊ทธ ๋‹ค์Œ์— ๋‹ค์‹œ direction = new Vector3(Mathf.Cos(randDir), Mathf.Sin(randDir));


๋ฏธ์ ๋ถ„์„ ๋ฐฐ์šด์ง€๋ผ ๋ฒกํ„ฐ ๊ด€๋ จ ์ง€์‹์€ ์—†์–ด์„œ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ ์ž์ฒด๋ฅผ ํ‹€์–ด๋ฒ„๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์ผ๋‹จ ์‚ผ๊ฐํ•จ์ˆ˜๋กœ ๋–ผ์› ๊ณ ...




24b0d121e09c28a8699fe8b115ef046f584d98


๊ทธ ๋‹ค์Œ์€ ๋ฐฉํ–ฅ์— ์ˆ˜์ง์ธ ๋ฐฉํ–ฅ ๋‘๊ฐ€์ง€ ๊ตฌํ•˜๊ธฐ..



24b0d121e09c28a8699fe8b115ef046ece40cf


๋‹ค์‹œ ๋นจ๊ฐ„์ƒ‰ ๋ฐฉํ–ฅ๋ฒกํ„ฐ ๋‘ ์œ„์น˜ ๋นผ๊ณ  normalizeํ•ด์„œ ๊ตฌํ•ด์ฃผ๊ณ 


์ด๋ฒˆ์—” ๋žœ๋ค๋„ ์•„๋‹ˆ๊ณ  ์ •ํ™•ํžˆ 90๋„ ํ•„์š”ํ•œ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ˆ ๋ผ๋””์•ˆ๊ฐ’ ๊ณฑํ•ด์ฃผ๋ฉด ์—ฐ์‚ฐ์ด ๋Š˜์–ด๋‚˜๋‹ˆ

์•„ํฌํƒ„์  ํŠธ๋ฅผ ํ•œ ๋’ค 90๋„ ๋ผ๋””์•ˆ ๊ฐ’์ธ 1.5708~์—์„œ 1.57์ •๋„๋ฅผ ๋นผ๊ณ  ๋”ํ•ด์ฃผ๊ณ 

๋‹ค์‹œ ์ฝ”์‚ฌ์ธ ์‚ฌ์ธ์œผ๋กœ ๋ฒกํ„ฐ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์™„์„ฑ...



๊ทธ๋ฆฌ๊ณ  ๊ฐ๋„์— ์ด๋Ÿฐ ์ €๋Ÿฐ ์ฒจ๊ฐ€๋ฅผ ํ•ด์ฃผ๋ฉด...


38b0ca3ce4de6af320b8dfb336ef203eab39f0b35d4ee69baa


๊ทผ๋ฐ ๊ฒ๋‚˜ ์–ด์ƒ‰ํ•œ ์ฃผ๋จน