Time.deltaTime์ ์ ๋ฐ์ดํธ์์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ณ ์๋๋ฐย
์ฝ๋ฃจํด์ while๋ฌธ์์์ ์ฌ์ฉํ๋ ์ฝ๋๋ด์
์ฝ๋ฃจํด while๋ฌธ์์๋ update๋ ๋์ผํ๊ฒ ์๋ํจ?
Time.deltaTime์ ์ ๋ฐ์ดํธ์์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ณ ์๋๋ฐย
์ฝ๋ฃจํด์ while๋ฌธ์์์ ์ฌ์ฉํ๋ ์ฝ๋๋ด์
์ฝ๋ฃจํด while๋ฌธ์์๋ update๋ ๋์ผํ๊ฒ ์๋ํจ?
๋๋ ๊ถ๊ธํ๋๊น ์ง์ ๋๋ฒ๊ทธ ์ฐ์ด๋ณด๊ณ ์๋ ค์ฃผ์
๊ทผ๋ฐ ๋ธํ ํ์ ์์ฒด๊ฐ ์ด์ ์ ๋ ๋๋๊ณ ์ง๋ ์ ํจ์๊ฐ์ด๋๊น ์ฝ๋ฃจํด ๋๊ธฐ์๊ฐ์ด๋์ ์๊ด์์ด ๋ณ๊ฐ์ ์๊ฐ๋งํผ ๊ฐ์ด ๋ํด์ง๋๊ฑฐ ์๋?
์ ๊ธฐ์ต๋จ. yield return null์ ์ ๋ฐ์ดํธ๋ ๋น์ทํ๊ฒ ์๋ํ๋ ๊ฑธ๋ก ๊ธฐ์ต. ๊ทธ๋์ ๋๊ฐ์๋ฏ.
๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด ๋ฅ์คํธ ์ ๋ฐ์ดํธ๋ก ์ฝ๋ฃจํด ๋๋ฆฌ๋๊ฑฐ ์๋์ด์ ์ข๋ ์ธ๋ชจ ์์ด๋ณด์ด๋๋ฐ
Update๋ ํํ๋ ์๋น ํ๋ฒ์ฉ ํธ์ถ๋จ, ์ฝ๋ฃจํด์ ์์ ์ด ์ํ ๋๋ง๋ค ํธ์ถํ๋๋ก ๋ง๋ค์ ์์. ๋, ์ฝ๋ฃจํด์์ yield return null๋ก ํํ๋ ์ ๋์ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋ง๋ค์ด์ ์ฌ์ดํด์ด ์ ๋ฐ์ดํธ์ ๋น์ทํ๊ฒ ๋ง๋ค์ ์์. ๊ทธ๋ด๊ฒฝ์ฐ deltatime๋ '์ด๋ก '์ ์ฝ๋ฃจํด์์ ์ ๋ฐ์ดํธ์ ๋์ผํ๊ฒ ์ธ์ ์์. ๊ทผ๋ฐ ๋ด ๊ฒฝํ์ ์ ๋งํ๋ฉด deltatime์ด ํ์ํ ์ฝ๋๋ ๊ทธ๋ฅ FixedUpdate๋ฅผ ์ด์ฉํด์ ์์ ์์ฐ๋๊ฒ ์ ์ผ ์ฝ๋๊ฐ ๊น๋ํ๊ฒ ๋์ด
์ผ๋จ ์ฝ๋ฃจํด์จ๋ณด๊ณ ํ์ํ๋ฉด ๋์ค์ ๋ฐ๊พธ๋ ์ง ํด์ผํ ๋ฏ ใณ
deltaTime์ ์ด์ Updateํจ์์ ํ์ฌ Updateํจ์ ์ฝ ์ฌ์ด์ ์๊ฐ์ ์๋ฏธํ๋๊ฑด ์๊ณ ์์ง?
https://docs.unity3d.com/Manual/ExecutionOrder.html
๋ฌธ์๋ฅผ
๋ณด๋ฉด Coroutine์์ yield๋ ๊ฒ๋ค์ Update๋ค์์ ๋ฐ๋ก ์ํ๋จ. ๋๋ฌธ์ deltaTime์ ์ฌ์ฉํด๋ ์๊ด์๊ณ ์ฐ๋๊ฒ ์ ์์ ์
์๋ช ์ฃผ๊ธฐ๋ ๊ฐ๋จํ๊ฒ๋ง ์๊ณ ์์์ด์ ์ ๋ฐ์ดํธ ๋ค์์ด ์ฝ๋ฃจํด์ธ์ง ๋ชฐ๋๋ค. ใณ
์ข ์์ ์ผ์ด๋ผ ์์ธํ ๊ธฐ์ต์ ์ ๋๋๋ฐ ๋๋ฐฑ ๊ตฌํํ๋ ์ฝ๋ฃจํด์์ while(true)์ yield return null;ํ๊ณ ๋ธํ ํ์ ์ผ๋๋ฐ ์๋ฌด๋ฆฌ ํด๋ ์ด๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฌ๋ผ์ ๋์ค์ fixedUpdate์ ๋ฃ์ผ๋๊น ์ ์๋ํ์