http://gold_metal.blog.me/220470069117
์ฌ๊ธฐ ๊ฐ์ข๋ณด๋ฉด์ ๋ฐ๋ผ๋ง๋ cube ์ค๋ธ์ ํธ๋ฅผ ๋ฐฉํฅํค ์ ๋ ฅ์ ๋ฐ๋ผย ์ด๋ฆฌ์ ๋ฆฌ ์์ง์ด๊ฒ ํ๋ ์คํฌ๋ฆฝํธ์์
๋๋ฆ๋๋ก ์ดํดํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ดค๋๋ฐ ์๋ฌด๋ฆฌ ๋ด๋ ๋ชจ๋ฅด๊ฒ ๋ ๋ถ๋ถ์ ๋นจ๊ฐ์์ผ๋ก ํ์ํด๋ดค์ด์
1. ์ด ์์ ์์๋ ์์ง์ด๋ ์ค๋ธ์ ํธ๊ฐ ํ๋ธ๋ฟ์ธ๋ฐ,
๋ง์ฝ ๋ค๋ฅธ ์์ง์ด๋ ์ค๋ธ์ ํธ๊ฐ ์๋ค๋ฉด ์ ์ญ๋ณ์ ์ด๋ฆ์ ๊ฐ๊ฐ ๊ตฌ๋ถํด์ ์ง์ด์ค์ผ ํ๋๊ฑฐ ๋ง์ฃ ?
(PlayerSpeed, Enermy1Speed, Enermy2Speed ๊ฐ์ ์์ผ๋ก)
2. ๊ทธ๋ฅ Rigidbody๋ผ๋ ์๋ฃํ ์์ฒด๊ฐ ์ดํด๊ฐ ์๋๋ค์.. rigd ๋ณ์ ์ ์ธํ๋๊ฑฐ๋ Awake ํด๋์ค ๋ถ๋ถ์ด๋ ใ
3. ๋ง์ง๋ง์ ๋ค๋ฅธ๊ฑด ๋์ถฉ ๋๋์ผ๋ก ์๊ฒ ๋๋ฐ transform.position์ ๋ฌด์จ ์ญํ ์ด์ฃ ?
์ด์ธ์๋ ์๋ชป ์ดํดํ ๋ถ๋ถ ์์ผ๋ฉด ํผ๋๋ฐฑํด์ฃผ์๋ฉด ๊ณ ๋ง๊ฒ ์ต๋๋ค
๋ง ์์ํ๋๋ฐ ์ด๋ ต๋ค์ ใ .ใ
์ ๋ํฐ์์๋ ํ๋์ ์ปดํฌ๋ํธ๊ฐ, ํ๋์ ์ธ์คํด์ค๋ก ์ทจ๊ธ๋๋ค. ์ด๋ฆ ์์ฒด๋ฅผ ๋ฌ๋ฆฌ ํด์ค์ผ ํ ํ์์ฑ์ ๋ชป ๋๋๋ค. ์ ๋ณ์๊ฐ...์ ์ญ๋ณ์๋ก ์ฝํ๊ธด ํ์ง๋ง, ํด๋์ค ๋ด๋ถ์๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์์๊ตฌ์กฐ๋, ์ธ์คํด์ค์์๋ง ์ํฅ๋ ฅ์ด ์๊ธฐ๋๋ฌธ์ด๋ค. ๋ณ์๋ฅผ static ์ผ๋ก ์ ์ธํ๊ณ , ์ด๊ฒ์ ๋ชจ์๋์ ํน์ ํด๋์ค์์ ๋ค๋ฅธ ํด๋์ค์์ ์ฐธ์กฐํ๋ ์ญํ ์ ํ๊ฒ ํ๋ค๋ฉด, ๊ฐ๊ฐ์ speed ์ ์ ๋นํ ์ด๋ฆ์ ๋ง๋ถ์ผ ํ์๋ ์์ง๋ง, ๊ทธ๊ฒ๋ํ ์ค๊ณ๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง์ ๋ฐ๋ผ ๋ฐฉ๋ฒ์ ๋๋๊ฒ ๋ ์ ์๋ค.
๋ฆฌ์ง๋๋ฐ๋๋ ๋ฌผ๋ฆฌ์ฐ์ฐ์ ํ๊ธฐ ์ํ ์ปดํฌ๋ํธ์ด๋ค. ๋ด๋ถ์ ์ธ ์์ค๋ฅผ ์ ๋ชฐ๋ผ์ ๊ด๋ จ์ด ์์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ฐ, ์ผ๋จ ์ขํ๋ฅผ ๋ค๋ฃจ๋๊ฑด ๊ฑฐ์ transform ์ปดํฌ๋ํธ์์ ํ๋ค. transform ์ ์๋ํฌ์ง์ (์์์ค๋ธ์ ํธ์์ ๋ก์ปฌํฌ์ง์ ), ๋กํ ์ดํธ, ์ค์ผ์ผ์ ๋ค๋ฃฌ๋ค. Awake() ์์ rigd = GetComponent<RigdBody>(); ํ ๊ฒ์, ๋ค์์ด ์๋ต๋์๋ค๊ณ ํ ์ ์๋ค. rigd = this.gameobject.GetComponent<RigidBody>(); ํ์ฌ ์ค๋ธ์ ํธ์ ๋ฆฌ์ง๋๋ฐ๋๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
์ ๋ํฐ์์๋ MonoBehaviour ๋ฅผ ์์ํ๋ฏ๋ก์จ Awake ํจ์๋ฅผ ์ธ ์ ์๊ฒ ๋๋๋ฐ, ์ด๊ฒ์, ํด๋์ค๊ฐ, ์์๊ณผ ๋์์ ์ ์ผ ์ฒ์ ์คํํ๋ ํจ์๊ฐ ๋๋ค. ๋๊ฐ ํ๋ก๊ทธ๋จ์ ๋ฐฐ์ธ๋ ์ ์ผ ์ค์ํ๋ค๊ณ ๋๋๊ฒ ๋ฌด์์ด์๋, ๋ฐ๋ก ์ด๊ธฐํ๋ค. ํด๋์ค๋ ์์ฑ์๋ฅผ ํตํด์ ์ด๊ธฐํ๋ฅผ ์งํํ์ง๋ง, ๋ชจ๋ ธ๋นํค์ด๋น์ด ์์์์๋ ์ด ๋ฐฉ๋ฒ์ ๊ถ์ฅํ์ง ์๋๋ค. ์์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๊ทธ๋ฅ ์จ๋ ๋ ๊ฒ ๊ฐ๊ธด ํ๋ฐ...๋ญ, ๋ฌธ์ ๊ฐ ์ข ์๋๋ณด๋ค.
rigd.MovePosition ์์ ๋ฐ๋ ์ธ์์ ๋๊ฐ ์ง๋ฌธํ transform.position + Movement ๋ฅผ ๋ฃ์๊ฒ์ด๋ค. ๋ ๋ค ์๋ฃํ์ vec3 ๋๊น ๋ ๊ฐ์ง๊ฐ ๋ํด์ ธ์ ๋ฆฌ์ง๋๋ฐ๋์ ๋ฒกํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด๋ค. ๋ฒกํฐ๋ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ๋ผ๊ณ ๋ฐฐ์ ์ง. ๊ฒฐ๊ตญ์ Run ํจ์๊ฐ ์คํ๋๋ฉด์ x,z ๊ฐ์ ๋ฐ๋ผ ์์ง์์ ๊ฐ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค. ์ด๋ x,z ๊ฐ์ input.getaxis ์์ ๊ฐ์ ธ์ค๋๋ฐ, ์ด๊ฒ์ 0์ ๊ธฐ์ค์ผ๋ก -! ~ 1 ์ ๊ฐ์ ๊ฐ์ง๋ ์ถ๊ฐ์ ๊ฐ์ ธ์ค๊ฒ ๋ค๋ ๊ฒ์ด๊ณ , ์ด๊ฑด ํญ์ 0์ผ๋ก ๋ณต๊ทํ๋ ค๋ ํน์ฑ์ด ์๋ค.
ํด๋์ค๋ผ๋๊ฑด ์ธ์คํด์ค๊ฐ ์๋ค๋ฉด ๋จ์ํ ์ข ์ด์ชผ๊ฐ๋ฆฌ์ผ ๋ฟ์ด๊ณ , ์คํฌ๋ฆฝํธ ์์ฒด๊ฐ ์ปดํฌ๋ํธ๋ก ํ์ฌ๋๋ค๋ฉด ๊ทธ๊ฒ์ ์ธ์คํด์ค๋ก์จ์ ์ญํ ์ ํ๊ฒ ๋๋ค๋ ๊ฒ. ๊ฐ์ ํด๋์ค๋ผ๋, ๋๊ฐ ๊ฐ์ง๊ณ ์๋ ์ธ์คํด์ค์ธ์ง์ ๋ฐ๋ผ์ ๋๊ฐ ๋ด๋ฆฐ ๋ช ๋ น์ ๋ค๋ฅธ ๋์ผํ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ค๋ฅธ ์ค๋ธ์ ํธ์๋ ์ํฅ์ ์ฃผ์ง ์์ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, ์์์ ๋งํ๋ฏ์ด, ์ด๋ฆ ์์ฒด๋ฅผ ๋ฌ๋ฆฌ ํด์ค์ผํ ํ์์ฑ์ด ์๋ ๊ฒ์ด๋ค. ๋๊ฐ ์ ์ดํด๋ง ํ๊ณ ์๋ค๋ฉด ๋ง์ด์ง. ์ ๋ํฐ์์ ์ด๋ค๊ฒ์ ๋๋๋ ๊ฐ์ฅ ํฐ ๊ธฐ์ค์ ํด๋์ค๊ฐ ์๋๋ผ ๊ฒ์์ค๋ธ์ ํธ์ด๋ค.
1. ์ ๋ํฐ ์คํฌ๋ฆฝํธ์ public๋ณ์๋ ๋ค๋ฅธ ํด๋์ค์์ ๋จ์ํ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ ๋ํ ์ปดํฌ๋ํธ์ด๊ธฐ๋๋ฌธ์ public์ด๋ผ ํ๋๋ผ๋ ๋ค๋ฅธํด๋์ค์์ ํธ์ถํ๊ธฐ ์ํด์๋ ํด๋น์ปดํฌ๋ํธ๋ฅผ ์ฐ์ ๋ถ๋ฌ์์ .๋ณ์๋ช ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
2. ๋ฆฌ์ง๋๋ฐ๋๋ ์ขํ๊ฐ์ด์๋๋ผ ๊ฐ์ฒด๋ก์จ ๋ฌผ๋ฆฌ์ฐ์ฐ์ ์ํ ์ปดํฌ๋ํธ์ ๋๋ค. ์ขํ๊ฐ์ ๋ํ๋ด๋ ์ปดํฌ๋ํธ๋ transform์ position์ ๋๋ค.
3. ์์ ํน๋ณํ ๋ณ์ ํธ์ถ์์ด transform์ ๋ฐ๋ก ์ฌ์ฉํ๋๊ฒ์ ํด๋น ์ปดํฌ๋ํธ๊ฐ ๋ฌ๋ ค์๋ gameObject์ transform์ ์๋ฏธํฉ๋๋ค
๊ฐ์ฌํฉ๋๋ค! ์ด์ ์ผ ์ข ๊ฐ์ด ์กํ๋ค์!