Physics2D.OverlapBox()๋กย ๋ฒฝ์ ๋ฟ์๋์ง๋ฅผ ํ์ ํ๊ณ ์์ต๋๋ค.
๋ฒฝ์ ๋ฟ์ผ๋ฉด WallHolding State๋ก ์ง์ ํด์ ์ผ์ ์๊ฐ ๋งค๋ฌ๋ฆฌ๊ณ (์ฌ๊ธฐ๊น์ง ๋จ) WallSliding์ผ๋ก ์ด์ด์ ธ์ผํ๋๋ฐ ๋ฒฝ์ ์ก๊ณ ์๋ ๋์ค OverlabBox์ ๊ฒฐ๊ณผ๊ฐ null์ด ๋์์ ๋ฒฝ ํ์ ์ด ๋๊ธฐ๊ณ Falling State๋ก ๋์ด๊ฐ์ง๋๋ค.
์ฌ์ง์ ๋ ธ๋์ ๋ฐ์ค๊ฐย ๋ฒฝ ํ์ ๋ฒ์์ ๋๋ค. (์ง๊ธ์ ์ค๋ฅธ์ชฝ ๊ฒ์ฌ์ค)
์๋ Console์ฐฝ์ result: Ground์์ Ground๊ฐ ์์ ๋ฒฝ์ ๋๋ค.
(์๋ ์ฝ์ ์ฐฝ์ด ์ฐํ ํ์ด๋ฐ์์ ์ฝ๊ฐย ์ถ๋ฝํ ๋ค)
๋ฒฝ ์ ์ฐพ๋ค๊ฐ ๊ฐ์๊ธฐ OverlapBox()์ ๊ฒฐ๊ณผ๊ฐ null์ด ๋์ด
์์ ์บ๋ฆญํฐ ๋์จ ์ฌ์ง ์ค ์ค๋ฅธ์ชฝ์ ๋ ธ๋์ ๋ฐ์ค๊ฐ ํ์ฌ ๊ฒ์ฌํ๋ ๋ฒฝ ํ์ ๋ฒ์์ ๋๋ค. (wallCheckBoxCenter, mGroundCheckBoxSize)
OverlapBox์ ๋๊ฒจ์ค LayerMask๊ฐ์ ๋ณ๊ฒฝ๋์ง ์๊ณ ์ผ์ ํฉ๋๋ค. null ๋์ฌ ๋ ๋ฒฝ์ Collider๋ค์ ํ์ฑํ์ํ์์ต๋๋ค. (์ผ์์ ์ง๋ก ํ์ธ)
๋ถ์ก์์ง ์ด์ธ 4์๊ฐ์ด ์ง๋๊ฐ๋๋ฐ ์์ง๋ ์์ธ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค... ๋์์ฃผ์ธ์+
์ง๊ธ ์ฌ์ง์ ๋ฒฝ ํ์ผ์ด ์ค๊ฐ์ ์ข์ฐ ๋ฐ๋์๊ธธ๋ ํน์๋ํด์ ํ๋๋ก ํต์ผํด์ ํ๋๋ฐ ์ ๋๋ค์
์ ๋ํฐ๋ผ ๋ชจ๋ฅด๊ฒ ๋๋ฐ overlapBox๊ฐ ๋ ธ๋์ ๊ณผ ๋ฒฝํ ํฌ๋ฆฌ๋ ๊ฒน์ณ์ง๋ ์๊ฐ์๋ง ๊ฐ์ด๋ค์ด๊ฐ๋๊ฒ ์๋์ง. ์ ๋ฐ์ดํธํจ์๋ Time.frameCount์์ ์ฃผ๊ธฐ์ ์ผ๋ก return->์ฌ์๋ํ๋๊ฑฐ๊ฐ์๋ฐ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ ๊ฐ์ฌํฉ๋๋คใ ใ ๊ณ ์ณ์ก์ด์!
Input์ ์ ๋ ฅ๋ง ๋ฐ์๋๊ณ FixedUpdate์์ ์ฌ์ฉํ ์๊ฐ์ ์ ๋ชป ํ๋ ๊ฑธ๊น์+ ๋๋ถ์ ๋ฐฐ์๊ฐ๋๋ค ๊ฐ์ฌํฉ๋๋ค!
๋ฐ๋ก ํด๋ณด๊ฒ ์ต๋๋ค ๋ค๋ค ๊ฐ์ฌํฉ๋๋ค!
๋ฒฝ์ก๊ธฐ(ํค ๋๋ฅด๊ณ ์์ด์ผํจ), Input ๋ค์ด๊ฐ ๊ฑด ๋ค update()์์ ํ๋ ค๋ค๋ณด๋๊น ์๊ธด ๋ฌธ์ ์์ต๋๋ค! ์ง๊ธ์ ๋ค ๋ฏ์ด๊ณ ์ณ์ Input์ update()์์ key๊ฐ๋ค๋ง ๊ฐฑ์ ํด์ฃผ๊ณ FixedUpdate์์ ํด๋น Key๋ค์ ์ฒ๋ฆฌํด์ฃผ๊ณ ์์ต๋๋ค.
์ผ๋ถ๋ง Key buffer๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ Update์์ ์ธํ ์ฒ๋ฆฌ๋ฅผ, FixedUpdate์์ ์ธํ ์ ์ฉ์ ๋ฐ๋ก ํ๊ฒ๋๋ ๋ชจ๋ key์ buffer๋ฅผ ์ฌ์ฉํด์ผ๋๋ค์..!