ย -ํฑํฌํฌํ
1. ์์ฒ๋ผ ๋ถ๋ชจ์์์ผ๋ก ํ๋ฆฌํน ๊ตฌ์ฑ๋์์
2. ํฑํฌ ํฌํ์ localRotation์ผ๋ก target ๋ฐฉํฅ์ผ๋ก ํ์ ํจ
๋ฌธ์ -ํฑํฌ ํ๋ฆฌํน์ด ํ์ ํ๋ฉด ํฌํ ํ์ ๊ฐ๋๊ฐ ๊ฐ์ด ํ์ด์ ธ์
localRotation์ผ๋ก ํ์ ์ํค๋ฉด ๋ถ๋ชจ์์ ํ์ ๋ ๋ฐฉํฅํ๊ณ ์ค์ฒฉ๋์ target์ ๊ฐ๋ฆฌํค์ง ๋ชปํจ.
์ด๊ฑฐ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํด??
==์์ฝ์ด๋ ๋ฌด๊ด==
์ง๊ธ๊น์ง ํด๋ณธ ์๋๋ค
1.ํ๋ฆฌํน ๊ตฌ์กฐ๋ฅผ ๋ฐ๊ฟ์
ํฑํฌ
-ํฑํฌํ๋ฐ์
-ํฑํฌํฌํ
์ผ๋ก ๋๊ณ ํ์ ์ํฌ๋ ํฑํฌ ํ๋ฐ์ ๋ง ํ์ ์์ผ์ ํฌํ์ ์ํฅ์ ๋ชป๋ฐ๊ฒํด๋ดค๋๋ฐ collider๊ฐ ํฑํฌ์ ๋ถ์ด์์ด์ ๋ชจ์์ด ์ผ์น๊ฐ ์๋๋ ๋ฌธ์ ๊ฐ ์๊น
2.ํฑํฌ ํฌํ๊ณผ ํ๊ฒ ๊ฐ๋๋ฅผ ๊ณ์ฐํ ๋ ๋ถ๋ชจ์ ํ์ ๊ฐ์ ๊ณ์ฐํด์ ๋ฏธ๋ฆฌ ๋นผ์ฃผ๋ ๋ฐฉ๋ฒ
ย :์๊ฑด ์ค๋ฒํค๋๊ฐ ์ฌํ ๊ฑฐ ๊ฐ๊ณ ์ฟผํฐ๋์ธ์ ์ ๋๋ก ๋ชป๋ค๋ฃจ๊ฒ ์ด์ ์ผ๋จ ๋ณด๋ฅํ์.
chatGPTํํ ๋ ์ง๋ฌธ๊ธ ๊ทธ๋๋ก ๊ธ์ด์ (์ ๋นํ ์๋ฆ) ๋ฌผ์ด๋ดค๋ค.void Update() { // ํฑํฌํ๋ฐ์ ์ ํ์ ๊ฐ์ ์ถ์ ํฉ๋๋ค. Quaternion tankRotation = tankBase.rotation; // ํฑํฌ ํฌํ์ ์๋ ํ์ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค. Quaternion relativeRotation = Quaternion.Inverse(tankRotation) * target.rotation; // ํฑํฌ ํฌํ์ localRotation์ ์ค์ ํฉ๋๋ค. tankTurret.localRotation = relativeRotation;}
ํฑํฌ ํ๋ฆฌํน์ ํ์ ๊ฐ์ ๊ณ ๋ คํด์ ํฑํฌ ํฌํ์ ์๋ ํ์ ๊ฐ์ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ํฑํฌ ํฌํ์ ๋ถ๋ชจ๊ฐ ๋๋ ํฑํฌํ๋ฐ์ ๊ฐ์ฒด์ ํ์ ๊ฐ์ ์ถ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํฑํฌ ํฌํ์ ์์ ์ ์๋ ํ์ ๊ฐ์ ์ฌ์ฉํด์ localRotation์ ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฑํฌ ํฌํ์ ์์ ์ ๋ถ๋ชจ์ธ ํฑํฌํ๋ฐ์ ์ ํ์ ๊ฐ๊ณผ ์๊ด์์ด target ๋ฐฉํฅ์ ํญ์ ์ ํํ๊ฒ ๊ฐ๋ฆฌํค๊ฒ ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก ์ด๊ฒ ์ค๋ช
๊ฐ์ฉ๋ค;
ํด๊ฒฐ๋จ?
๋ด๊ฐ ์๊ฐํ๋ 2๋ฒ ํด๊ฒฐ๋ฒ์ด๊ธด ํ๋ฐ inverseํจ์ ์จ์ ํด๊ฒฐํ๋ผ๋๊ฑฐ๊ฐ ํต์ฌ์ธ๊ฑฐ ๊ฐ์ ์์ง ์ํด๋ดค๋๋ฐ ํด๊ฒฐ๋๊ฑฐ ๊ฐ์
์ ๋ผ๋ฉด 1๋ฒ ๋ฐฉ๋ฒ์ ํฑํฌํ๋ฐ์ ๋ฐ๋ก ํฌํ ๋ฐ๋ก ์ฝ๋ผ์ด๋ ๋ถ์ฌ์ค๊ฒ๊ฐ์์.
๋ต