2D ํ๋ก์ ํธ์์ ๊ณต์ค์ ๋ฐ์ด์ฌ๋ผ ์๋๋ฅผ ์ถ์ ์กฐ์คํ๋ ์คํฌ์ ๋ง๋ค๊ณ ์๋๋ฐ, ์ด๊ฒ ์ ์ด ์ข์ธก์ ์์๋ ๊ด์ฐฎ์๋ฐ, ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด ๊ณต๊ฒฉ ์์น๋ ์บ๋ฆญํฐ๊ฐ ๋ค์งํ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋ ๋ฌธ์ ๋๋ฌธ์ ์ด์ํด์ ธ์ย y์ถ์ 180๋ ํ์ ์ํค๋ ์์ผ๋ก ์ฝ๋๋ฅผ ์งฐ๋จ๋ง์ด์ผ?
๊ทผ๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ๊ทธ๋ฆผ์ ์ ๊ฐ์ด๋ฐ๋ฅผ ๊ธฐ์ ์ผ๋ก x ์ถ ๊ธฐ์ค์ ์ ( ํ๋ ๊ฐ๋์์ ๋นจ๊ฐ ๊ฐ๋) ๋ฐ๊ฟ์ z์ถ์ ํ์ ์์ผ์ผ ํ๋๋ฐ, ์ด ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ด..
ํ์ฌ ์ฝ๋๋ Atan2 ๋ฅผ ์ฐ๊ณ ์๋๋ฐ ์ด๊ฒ ์ ๋๊ฐ๋๋ผ์ ์๋ฐ๋๋๊ฑฐ ๊ฐ๊ธดํจ.. ๊ทผ๋ฐ ๋ฌธ์ ์ฐพ์๋ด๋ ์ด๋ค ๋ฉ์๋ ์จ์ผ๋๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ผ
๋ง์ด ใ
ใด ์ด์ํ ์ ์๋๋ฐ, ์ ๋ฆฌํ๋ฉดย
1.ย ๋ฒกํฐ x ๊ฐ 0 ๋ณด๋ค ์์ผ๋ฉด y์ถ ๋กํ ์ด์ ์ 180๋ ๋ค์ง์
2. ๋ค์งํ๋ฉด ๋ค์ง์์ชฝ x ์ถ ์ ๊ธฐ์ค์ผ๋ก ๊ฐ๋๋ฅผ ์ฌ์ผํ๋๋ฐ ( ๋นจ๊ฐ ๊ฐ๋ ), ์ฌ์ ํ ๊ธฐ์กด x์ถ์ ๊ธฐ์ค์ผ๋กย ๊ฐ๋๋ฅผ ์ฐ๋ค.( ํ๋ ๊ฐ๋ )
3. ๋๋ ๋นจ๊ฐ ๊ฐ๋์ฒ๋ผ ์ฌ๊ณ ์ถ๋ค
๋ฐ์ ์ฝ๋ >>
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);
gpt ใฑใฑ - dc App
๊ทธ๋ฅ (180๋ - ๋์จ ๊ฐ๋) ์จ
Y์ถ ๋ฐ์ ๋๋์ง ๊ฐ๊ณ ์ผํญ ์ฐ์ฐ์ ์ฐ๋ฉด ๋์์
์ค๋ง ์ ๋นจ๊ฐ ๊ฐ๋๊ฐ ์์ ๊ฐ๋์ผ?
์ ๋ง ์ดํด๊ฐ ์ ๋๋๋ฐ ์ผ์ชฝ์ ์์ผ๋ฉด ๊ทธ๋๋ก๊ณ ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด ๋ค์ง๋๋ฐ ์ x๊ฐ 0๋ณด๋ค ์์ผ๋ฉด ๋ค์ง์?
์ด๊ฑฐ์ฒ๋ผ -180๋์ ๋นผ๊ธฐํด์ ๋ง์ท๋ค ใ ใ ๋ ๋ณ์ ์ธ๋ฏ
๋ฌด์จ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ๊ณ 180๋ ๋ค์ง์๊ฒ ๋ง๋ ์ ๊ทผ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ ๋๊ฐ ๋งํ ๋ฌธ์ ๊ฐ ๋๋ ์ํฉ(์ ์ด ์ค๋ฅธ์ชฝ์ ์์๋) ์ด๋ฏธ์ง์ข
ํด๊ฒฐ๋จ ๊ฒฐ๋ก ์ ๋ด๊ฐ ๋ฅ์ด๋ฒ์ฏ์ธ๊ฑธ๋ก
๊ตณ
ํ๋ค์ด์ด์ผ? ์ํ ? ๋ด๊ฐ ์ดํดํ๊ฒ ๋ง๋ค๋ฉด y์ถ์ 180๋ ํ์ ํ๋๊ฒ ์๋๋ผ ์ข์ฐ๋ฐ์ ์ ์์ผ์ผ ํ ๊ฑฐ๊ฐ์๋ฐ?
ํก์คํฌ๋กค์ธ๋ฐ ์ดํํฌ์ง์ ์ด ์์์ค๋ธ์ ํธ๋ก์์ด์ ์ ๋ฐ์์ผ๋กํ์ด