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


2D ํ”„๋กœ์ ํŠธ์—์„œ ๊ณต์ค‘์— ๋›ฐ์–ด์˜ฌ๋ผ ์ƒ๋Œ€๋ฅผ ์ถ”์ ์กฐ์ค€ํ•˜๋Š” ์Šคํ‚ฌ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฒŒ ์ ์ด ์ขŒ์ธก์— ์žˆ์„๋• ๊ดœ์ฐฎ์€๋ฐ, ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฉด ๊ณต๊ฒฉ ์œ„์น˜๋ž‘ ์บ๋ฆญํ„ฐ๊ฐ€ ๋’ค์ง‘ํžŒ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ฌธ์ œ๋•Œ๋ฌธ์— ์ด์ƒํ•ด์ ธ์„œย  y์ถ•์„ 180๋„ ํšŒ์ „์‹œํ‚ค๋Š” ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹จ๋ง์ด์•ผ?


๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทธ๋ฆผ์˜ ์ € ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ ์œผ๋กœ x ์ถ• ๊ธฐ์ค€์ ์„ ( ํŒŒ๋ž€ ๊ฐ๋„์—์„œ ๋นจ๊ฐ„ ๊ฐ๋„) ๋ฐ”๊ฟ”์„œ z์ถ•์„ ํšŒ์ „์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ, ์ด ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šด..


ํ˜„์žฌ ์ฝ”๋“œ๋Š” Atan2 ๋ฅผ ์“ฐ๊ณ ์žˆ๋Š”๋ฐ ์ด๊ฒŒ ์ ˆ๋Œ€๊ฐ๋„๋ผ์„œ ์•ˆ๋ฐ”๋€Œ๋Š”๊ฑฐ ๊ฐ™๊ธดํ•จ.. ๊ทผ๋ฐ ๋ฌธ์„œ ์ฐพ์•„๋ด๋„ ์–ด๋–ค ๋ฉ”์†Œ๋“œ ์จ์•ผ๋˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋”๋ผ

๋ง์ด ใ…ˆใ„ด ์ด์ƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ •๋ฆฌํ•˜๋ฉดย 


1.ย  ๋ฒกํ„ฐ x ๊ฐ€ 0 ๋ณด๋‹ค ์ž‘์œผ๋ฉด y์ถ• ๋กœํ…Œ์ด์…˜์„ 180๋„ ๋’ค์ง‘์Œ


2. ๋’ค์ง‘ํžˆ๋ฉด ๋’ค์ง‘์€์ชฝ x ์ถ• ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ๋„๋ฅผ ์žฌ์•ผํ•˜๋Š”๋ฐ ( ๋นจ๊ฐ„ ๊ฐ๋„ ), ์—ฌ์ „ํžˆ ๊ธฐ์กด x์ถ•์„ ๊ธฐ์ค€์œผ๋กœย ๊ฐ๋„๋ฅผ ์žฐ๋‹ค.( ํŒŒ๋ž€ ๊ฐ๋„ )


3. ๋‚˜๋Š” ๋นจ๊ฐ„ ๊ฐ๋„์ฒ˜๋Ÿผ ์žฌ๊ณ ์‹ถ๋‹ค


๋ฐ‘์—” ์ฝ”๋“œ >>


Vector3 position = transform.position;
Vector3 targetPosition = targetTransform.position;
direction = targetPosition - position;
float rotZ = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, direction.x < 0 ? 180 : 0 , rotZ);