๊ณจ๋๋ฉํ ์ฒซ๋ฒ์งธ ์์์๋ฆฌ์ฆ ํ๋ฒ ์ญ ๋ณด๊ณ ์ย
์์์์ด ์ง์ ๋ง๋ค์ด๋ณด๋ ์ฐ์ต์ค์ ๋๋ค.
์ ํ๋ฅผ ๊ตฌํํ๋ ์ค์ย
ย ย void FixedUpdate()
ย ย {
ย ย ย ย v = Input.GetAxis("Vertical");
ย ย ย ย h = Input.GetAxis("Horizontal");
ย ย ย ย rb.AddForce(new Vector3(h,0,v),ForceMode.Impulse);
ย ย ย ย if (Input.GetKeyDown(KeyCode.Space))
ย ย ย ย {
ย ย ย ย ย ย rb.AddForce(Vector3.up * 10, ForceMode.Impulse);
ย ย ย ย ย ย Debug.Log("์คํ์ด์ค๋ฐ GetKeyDown!");
ย ย ย ย }
ย ย }
์ด๋ฐ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ๋ฆฌ์ง๋๋ฐ๋(rb) ๋ฅผ ์กฐ์ํ๋ ค๋ฉด FixedUpdate์ ๊ตฌํํ๋ผ๋ ๋ด์ฉ์ ๋ด์ย FixedUpdate์ ๋ฃ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ฒ์์ ์คํํ๋ฉด ์คํ์ด์ค๋ฐ๋ฅผ ๋ฏธ์น๋ฏ์ด ๊ดํดํด์ผ ํ๋๋ฒ? ๋ก๊ทธ์ฐฝ์ ๋จ๊ณ ์ ์๊ฐ๋๋ก ๊ตฌํ์ด ์๋๋๋ผ๊ตฌ์
ํ์ฐธ ์๊ฐํด๋ณด๋ค๊ฐ ๊ฒฐ๊ตญ ์์์ ๋ค์๋ดค๋๋ ์ ํ๊ตฌํ์ชฝ์ Update์ ๋ฃ๊ธธ๋ ๋ฐ๋ผํ๋๋ ๊ทธ์ ์์ผ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.
์ธํฐ๋ท์ ๊ฒ์ํด๋ณด๋ฉด rb๋ฅผ ํตํ ์กฐ์์ FixedUpdate์์ ๊ตฌํํ๋ผ๊ณ ๋์ด์๋๋ฐย
์ด์งธ์์ธ์ง, ๋ ์ ์ ํ๋ฅผ FixedUpdate์์ ํ๋ฉด ์ด๋ฐ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง ์๋ ค์ฃผ์ค๋ถ ๊ณ์ค๊น์?
์ธํ๋ง Update์์ ๋ฐ์์ผ๋จ
์ ๋ฐ์ดํธ๋ ์ด๋น 200ํ๋ ์์ฉ ์์ฒญ ๋์ด ์ด๋ ์ธํ ๊ฐ ์ ๋ ฅํ๋ฉด ๋ฑ 1ํ๋ ์๋ง ๊ฐ์ด ๋์ ๋๊ณ ์ฌ๋ผ์ง ํฝ์ค์ ๋ฐ์ดํธ๋ ์ด๋น 50๋ฒ ์ ๋ ์คํ๋จ ์ฆ ์ ๋ฐ์ดํธ๋ ํฝ์ค์ ๋ฐ์ดํธ๋ ๊ฒน์น ๋ ์ธํ์ ์๋๋ฅด๋ฉด ์ ์ฉ์ด ์๋
์ ๋ ฅ์ ์ ๋ฐ์ดํธ(๋งค ํ๋ ์)๋ง๋ค ๋ฐ์์ผํ๊ณ ๋ฌผ๋ฆฌ๋ fixed timestep ๊ฐ๊ฒฉ์ผ๋ก ์ ์ฉ๋๊ธฐ ๋๋ฌธ์. ์ ๋ฐ์ดํธ์์ ์กฐ์์ฌ๋ถ ํ์ธํ๋ค์ ์กฐ์ = true์ผ๋ ํฝ์ค๋์ ๋ฐ์ดํธ์์ ์์ง์ด๋ฉด ๋ ๋ฏ