ย ย ย ย float h = Input.GetAxis("Horizontal");
ย ย ย ย float v = Input.GetAxis("Vertical");
ย ย ย ย
ย ย ย ย ย Vector3 curPos = transform.position;
ย ย ย ย ย Vector3 nextpos = new Vector3(h, v, 0) * speed * Time.deltaTime;
ย ย ย ย
ย ย ย ย ย transform.position = curPos + nextpos;
์ด๊ฒ ๊ธฐ๋ณธ ์ฝ๋ ๋ฐ ๋๊ฐ์์ผ๋ก ๊ฐ๋ฉด ์๋๊ฐ 1.4๋ฐฐ๊ฐ ๋ฉ๋๋ค
float h = Input.GetAxis("Horizontal");
ย ย ย ย float v = Input.GetAxis("Vertical");
ย ย ย ย movement.Set(h, v, 0f);
ย movement = movement.normalized * speed * Time.deltaTime;
ย ย ย ย rigid.MovePosition(transform.position + movement);
๊ทธ๋์ ์ฝ๋๋ฅผ ์ด๋ ๊ฒ ๊ณ ์ณค๋๋ฐ ๋๊ฐ์ ์๋ ๋ฌธ์ ๋ ํด๊ฒฐ๋ฌ์ง๋ง ์บ๋ฆญํฐ๊ฐ ์์ง์ด๋ค๊ฐ ๋ฉ์ถ๋ฉด ๊ทธ ์๋ฆฌ์์ ๋ฉ์ถ๋๊ฒ ์๋ ์กฐ๊ธ ์ด๋(๋ฏธ๋๋ฌ์ง๋ค์ ๋)์ ๋ ํ๊ณ ๋ฉ์ถ๋๊ฒ์ด ์๋ก์ด ๋ฌธ์ ๊ฐ ๋์์ต๋๋ค.
๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์?
ํ๋ก์ ํธ๋ฅผ ์ ๋ถ ๋ณธ๊ฑด ์๋๋ผ ์ ํํ์ง ์๋๋ฐ 1๋ฒ์ ๋ฆฌ์ง๋๋ฐ๋๊ฐ ์๊ณ 2๋ฒ์ ๋ฆฌ์ง๋๋ฐ๋๊ฐ ์์ด์ ๋ฏธ๋๋ฌ์ง๋๊ฑฐ ์๋?
GetAxisRaw์ฐ๋ฉด ์๋ฏธ๋๋ฌ์ง๊ธดํ ๋ฏ ์๋ง GetAxis๊ฐ์ด ๋งค์ฐ ์ ์๋๋ normalized๋๋ฌธ์ ํญ์ ๋์๊ฐ์ด ์ ์ฉ๋์ ๊ทธ๋ด๊ฑฐ์ GetAxis๊ฐ 1์์ 0์ด๋ ๋๊น์ง ใ ใ
์ค ๋ฌ๋ค ์ฒ์ฌ์ฒ์ฌ ๊ฐ์ฌ์
๋จธ raw์ฐ๊ธฐ์ซ์ผ๋ฉด movement.๋งค๊ทธ๋ํ๋๊ฐ ์ผ์ ๊ฐ ์ดํ์ผ๋ ๋ ธ๋ฉ๋ผ์ด์ฆ ์ํ๊ฒ ๊ณ ์ณ๋๋๊ณ
์ฒซ๋ฒ์งธ ์ฝ๋๋ ๊ทธ๋ฅ ์ ๊ทํ๋ฅผ ์ํด์ ๊ทธ๋ฐ ๊ฒ ๊ฐ์๋ฐ new Vector3(h, v, 0).normalized ๋ก ์์ ํด๋ณด๋ฉด ๋ ๋ฏ?
update์์ ๋ถ๋ฅด์ง๋ง๊ณ fixedupdate ใฑใฑ