์๋ ํ๋ก์ ํธ ์ฒ์์ ๋ด์ธํ์์คํ ์ ์ ๊น ์ฐ๋จนํ์๋๋ฐ
GetKey์ ์์ ํ ๋์๋๋ ๊ธฐ๋ฅ์ด ์๋ ๊ฒ๊ณผ, ํค๋ณด๋๋ก ์ axis๋ฅผ ์๋ค๊ฐ๋ค ํ์ ๋ GetAxis์ฒ๋ผ ์์ํ ๋์ด๋ฌ๋ค ์ค์ด๋๋ ๊ธฐ๋ฅ์ด ์์ด์
์์ด์ธ์ด๊ฒ์ ๋๊ฑฐ์ง ํ๊ณ ๊ตฌ์ธํ์ผ๋ก ๋์์์์ด
๊ทธ๋ฌ๋ค๊ฐ ์ด๋ฒ์ ํจ๋ ๋์ํ๋ ค๋ฉด ๋ด์ธํ์์คํ ์ด ์์ ํ๊ธฐ์ ์ผ๋ก ํธํ๋ค๋๊ฑธ ๊นจ๋ซ๊ณ
๊ธฐ์กด ์กฐ์์ฒด๊ณ์๋ ๊ฑธ ๋ด์ธํ์ ๋ง๊ฒ ํ๋ ๊น์ ๋ฅ์ฝ๋์ข ์๋ด
๋ฅ์ ์์ผ๋ก ์ ๋น๋ฒผ์ ๋ญ๊ฐ๋ฅผ ๋น์ด๋ธ๋ค๊ณ ๊ทธ๊ฒ ๋ฅ์ด ์๋๊ฒ ๋๋ ๊ฑด ์๋์ง๋ง..
์ ์ด๋ ๋ณด๊ธฐ๋ผ๋ ์ข์ผ๋ฉด ์ข์ง ์์๊น.. ์ถ์์
==============
๋จผ์ Action Map์ ๋ง๋ค์ด์ฃผ๊ณ , ํด๋น ์ก์ ๋งต์ ๋ค์ด๊ฐ ์ก์ ๋ค์ ๋ง๋ค์ด์ฃผ๋ฉด ๋จ.
๋ด ๊ฒ์ ๊ฒฝ์ฐ๋ ํ๋ ์ด์ด๊ฐ ๊ฟ๋ฒ์ ์กฐ์ํ ๋๋ ์์ง๋ง ํ์น๋ฌผ์ ํ๊ฑฐ๋
๊ฟ๋ฒ์ด ์กฐ์ํ๋ ์ด๋ค ๊ธฐ๊ณ๊ฐ์๊ฑธ ์ถ๊ฐํ ๊ณํ์ด๋ผ ์ผ๋จ ๊ฟ๋ฒ์ PlayerField๋ก ์ด๋ฆ ์ง์์.
์๋ง ํ๊ฒ์ ํ๋ฉด PlayerVehicle, ์ ์์ด๋ฅผ ํจ ์ํ๋ผ๋ฉด UIControl ๊ฐ์ ์ก์ ๋งต์ ๋ ๋ง๋ค์ง ์์๊น ์ถ์.
๊ทธ๋ฆฌ๊ณ ๋งตํํ๋ ค๊ณ ์ด๊ฑฐ ๋ณด์๋ง์ ๊ฐ์ถฉ๊ฒฉ๋จน์๊ฒ ๋ด์ธํ์์คํ ์ด ๋๋ฌด ํธํ๊ฒ ๋์ด์๋๊ฑฐ์.
๋ง์ ๊ฒ์ํจ๋๋ค์ ๋ฒ์ฉ์ ์ผ๋ก ์ ์ฉํ ๊ฑด ์ผ๋ํ๋์ง ๋๊ฒ ์ ๋ค๋ฆญํ๊ฒ ๋์ด์์.
์งค์ Button South [Gamepad]๋ ์๋ฐ์ปจํธ๋กค๋ฌ์์ A, ํ์ค์ปจํธ๋กค๋ฌ์์ X์ ํด๋น๋จ.
์ผ์ผ์ด ์๋ฐ์ปจํธ๋กค๋ฌ A, ํ์ค์ปจํธ๋กค๋ฌ X๋ฅผ ๋ฐ๋ก๋ฐ๋ก ๋งตํํด์ค ํ์๊ฐ ์๋ ๊ฑฐ์.
๋ฌผ๋ก ์ผ์ผ์ด ๋งตํํ ์๋ ์๊ฒ๋ ๋์ด ์์.
๊ทธ๋ฆฌ๊ณ ๋ฆฌ์จ ๊ธฐ๋ฅ์ด ์์ด์ ๊ฒ์ํจ๋ ์ฐ๊ฒฐ๋ ์ฑ๋ก ํจ๋ ์กฐ์ํ๋ฉด ๋ฑ ๊ทธ ์กฐ์ ์ฐพ์์ ๋งตํํด์ค ์ด๊ฑฐ ๊ฐํธํจ ในใ
์ํผ ์ญ์ญ์ญ ๋งตํํด์ฃผ๊ณ
์คํฌ๋ฆฝํธ ํ๋ ๋ง๋ ๋ค์ ์ด๋ฐ ์์ผ๋ก ํ๋์ฉ ์ด๋ฒคํธ ์ถ๊ฐํด ์ฃผ๋ฉด ๋จ.
ํ๋ฒ ์ถ๊ฐํ๊ณ ๋๋ฉด ๊ตฌ์ธํ์ฒ๋ผ ์ ๋ฐ์ดํธ๋ฌธ์์ ๊ณ์ ์ ๋ ฅ ๊ธฐ๋ค๋ฆด ํ์ ์์.
performed, started, cancel์ ์ฐจ์ด๋ ์ ํ๋ธ ๋ณด๋ฉด ์ ๋์์๋๋ฐ
์ด๊ฒ ์ธํ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์์ ์ด ๋ค๋ฅด๋ค๊ณ ํจ.
https://www.youtube.com/watch?v=YHC-6I_LSos
Unity's "NEW" Input System with C# EventsUnity's new input system is event-based plus it handles keyboard mouse and gamepads easily and quickly. The video looks at action maps, actions, bindings, ac...www.youtube.com^์๊ธฐ์ ๊ฐ๋ตํ๊ฒ ๋์์์ด. ๋ด ๊ธ ์ฝ๋๊ฒ๋ณด๋ค ์ด ์์์ด ๋ ๋๋ํ๊ฒ ์ ์๋ ค์ค.
ํ๋๊น์ ํ๋ ์ด์ด ์กฐ์ ๊ด๋ จ ์ฝ๋๋ ๊ณ ์นจ.
์ด์ ์ ๋ฌด์ํ๊ฒ ์ ๋ฐ์ดํธ๋ฌธ์์ ์ธํ ๊ธฐ๋ค๋ฆฐ๋ค์ ์คํํ๋๋ฐ
๊ณ ์์๋ค์ด ํ๋๊ฒ์ฒ๋ผ ์กฐ์์ ํจ์๋ก ๋ฐ๋ก ๋บ ๋ค์ ํจ๋ฌ๋ฏธํฐ๋ก ๋ฐ์์ ๋์ํ๊ฒ๋ ํจ.
์๋ฅผ ๋ค์ด ์์ ์ ๋์๋ ์ํ๋์๋ผ๋ float ํ๋, ์์ง๋์๋ผ๋ float ํ๋๊ฐ ์์๋๋ฐ
์์ ์ดํ์ ๋์ ์์ฒด๋ฅผ Vector2๋ก ํฉ์น๊ณ Vector2์ x, y๊ฐ์ ๋ฐ๋ผ ๋์ ๋ฐฉํฅ๋ง ๋ฐ๊ฟ์ค
๋ ์ธํ ๊ด๋ฆฌํ๋ ์คํฌ๋ฆฝํธ๋ ํ๋ ์ด์ด ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฆฌํ๋๋ฐ
๋ถ๋ฆฌํ์ง ์๋๋ค๋ฉด ๋ ๊ฐ๋จํ๊ฒ ํ ์ ์์ ๋ฏ.
===============================================================
๋ค๋ง ์ฌ๊ธฐ์ ๋ด์ธํ์ ์น๋ช ์ ์ธ ๋จ์ ํน์ ๊ฑ ๋ด๊ฐ ๋ธ ๋ฑ์ด๋ผ ๋ชป์ฐพ๋ ๊ฒ์ผ ์๋ ์๋๋ฐ
๋ด์ธํ์ ๊ตฌ์ธํ์ GetKey/GetButton์ ์ ํํ๊ฒ ํด๋น๋๋ ๊ฒ ์๋ ๊ฑฐ์.
์ ๋ํฐ ํฌ๋ผ์ด๋ ๋ ๋ง์ ๊ฒ์ํด ๋ดค๋๋ฐ ๋์ฒ๋ผ ๋ฑ ์ด ๊ธฐ๋ฅ์ ์ฐพ๋ ์ฌ๋๋ค ๋ง์ ๊ฑฐ ๋ด์ ์๋ ์๋?? ์ถ๊ธฐ๋ ํจ.
๋ด๊ฐ ๊ตฌ์ธํ์ GetButton/GetKey๊ฐ ํ์ํ๋ ์ด์ ๋ ํ๋ ์ด์ด๊ฐ ์ ํ๋ฅผ ํ ๋
์ ํ ๋ฒํผ์ ๋๋ ์ ์์ (GetButtonDown), ์ ํ ๋ฒํผ์ ๋๋ฅด๋ ์ค(GetButton), ์ ํ ๋ฒํผ์ ๋ง ๋์ ๋(GetButtonUp)์
๋์์ด ๋ค ๋ฌ๋๊ธฐ ๋๋ฌธ์.
๊ทผ๋ฐ ๋ด์ธํ์ ๋ฒํผ์ ๋๋ ์ ๋๋ ๋์ ๋ ๊ฐ๊ฐ ์ฒดํฌํ๋ค ๋ณด๋๊น '๋ฒํผ์ ๋๋ฅด๊ณ ์๋ ๋์'์ ์ฒดํฌํ์ง ๋ชปํจ.
๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ ๊ฑฐ๊ณ ์ด๊ฒ ๊ฐ์ฅ ํจ์จ์ ์ธ๊ฑด ์๋๊ฑฐ๋ผ๊ณ ์๊ฐํ์ง๋ง..
์ผ๋จ ๋๋ ์ ํ์ ์ก์ ํ์ ์์ฒด๋ฅผ ๋ฒํผ์ด ์๋๋ผ Value๋ก ์ค์ ํ๊ณ
ํด๋น Value๊ฐ 0๋ณด๋ค ํด ๋ ์ ํ์์, ํด๋น Value๊ฐ 0์ผ๋ ์ ํ๋ ํจ์๋ฅผ ํธ์ถํ๋๋ก ํ์.
์ด๋ ๊ฒ ํ๋๊น ์ํ๋ ๊ธฐ๋ฅ์ ์ป์ด์ง.
๊ทธ๋ฆฌ๊ณ GetAxis๋ฅผ ํค๋ณด๋๋ก ๋๋ ์ ๋์ฒ๋ผ ์ค๋ฌด์คํ๊ฒ ๊ฐ์ด ์ฆ๊ฐํ๊ฒ ํ๊ณ ์ถ์๋๋ฐ(์ ์๊ฐ์ด ํ์ํ๋ฉด GetAxisRaw๊ฐ ์์ผ๋๊น)
๋ด์ธํ์ ๋๋ฅด๋ฉด 1, ์๋๋ฅด๋ฉด 0์. ์ฌ์ค ์ด๊ฒ ๋ ผ๋ฆฌ์ ์ด๊ธด ํจ. ํค๋ณด๋ ๋ฒํผ์ ๋๋ ์ผ๋ฉด ๋๋ฅธ๊ฑฐ๊ณ ์๋๋ฉด ์๋๊ฑฐ์ง.
๊ทธ๋์ ์ด๋ป๊ฒ ์ด๊ฑธ ํ ์ ์์๊น ์๊ฐํ๋ค๊ฐ ๊ตฌ๊ธ๋ง ํด๋ณด๋๊น Vector2์ ๊ฒฝ์ฐ๋ SmoothDamp๋ฅผ ์ฌ์ฉํด์ ์๋น์ทํ๊ฒ ๊ตฌํํ๋๋ผ๊ณ .
๊ทผ๋ฐ ๋๋ ์ด๋์ ์ข์ฐ๋ฐ์ ์๋ float์ด๋ผ SmoothDamp๋ฅผ ์ธ ์ ์์์.
์ด๊ฑฐ๋๋ฌธ์ ๋ ๊ตฌ๊ธ๋งํด๋ณด๋๊น ๊ธฐ๊ฐ ๋งํ ๋ฐฉ๋ฒ์ด ์๋๋ผ๊ณ .
๊ทธ๋์ ์ด๋์ด performed ๋์์ ๋ ์์ง์ ์์() ํจ์๋ฅผ,
์ด๋์ด canceled ๋์์ ๋ ์์ง์ ๋() ํจ์๋ฅผ ๋ง๋ ๋ค์
๊ฐ๊ฐ
horizontalFinal ์ด๋ float์ ํ๋ ๋ ๋ง๋ค๊ณ Lerpํ์ด.
๊ทธ๋ฌ๊ณ ๋์ ์ค์ ์ด๋์ horizontalFinal์ ๊ณฑํ๋๊น GetAxisํ์ ๋์ ์์ง์ ๋น์ทํ๊ฒ ๋จ.
ํ๊ฐ์ง ๋จ์ ์ ์ ํ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ ๋ฐ์ดํธ ๋ฌธ์์ ์ ํ์ ๊ฐ์ ๊ณ์ ํ์ธํ๊ณ ์๋ค๋ ๊ฑด๋ฐ...
์กฐ์์ ์ด๋ฒคํธ์ฒ๋ผ ๋ฐ๋ ๋ด์ธํ์์คํ ์ ์ฅ์ ์ ์ ๋ฉด์ผ๋ก ๋ชจ์๋๋ ์ง์ด๋ผ ์ด๊ฒ ๋ง๋๊ฑด๊ฐ ์ถ๊ธด ํจ.
์ผ๋จ ์๋์ ์ ๋๋๊น ์ด๋๋ก ํ๋ค๊ฐ ๋์ค์ ๋ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ๊ณ ์น๋ฉด ๋ ๋ฏ.
๊ฒ์ํจ๋๋ก ์กฐ์ ํ ์คํธํ๊ฑฐ์
์ค์ ๋ก ํจ๋ ์กฐ์ ํด๋ณด๋๊น ์๊ฐํ๋๊ฑฐ๋ ๋ค๋ฅธ ๋ถ๋ถ์ด ์์ด์ ์กฐ๊ธ์ฉ ๊ณ ์น๊ณ ์๋๋ฐ
์ญ์ํค๋ ์ค๋ฅธ์ชฝ ์๋ ๋ก๊ทธ ๋ ๋ค ๋์์ธ๊ฒ ๋ง๋๊ฑฐ๊ฐ์.
์ ํํ๋ฉด์ ์๋ก ๋์ํ๊ณ ์ถ์ ๋ ์ค๋ฅธ์์ผ๋ก A๋ฅผ ๋๋ฅด๋ฉด์ ์ค๋ฅธ์ชฝ ์๋ ๋ก๊ทธ ์คํฑ์ ๊ธฐ์ธ์ด๊ธฐ๊ฐ ์ด๋ ค์.
๋ง์ฐฌ๊ฐ์ง๋ก ์ค๊ธฐ/๋ด๋ ค๋๊ธฐ๋ Lํธ๋ฆฌ๊ฑฐ, Rํธ๋ฆฌ๊ฑฐ ์์ชฝ์ ๋ฐฐ์ ํ๋๊ฒ ๋ง๋๋ฏ.
๋์ ๋์ค์ ๋ฌผ๊ฑด์ ๋ด๋ ค๋์ ๊ฐ์๋๋ฅผ ๋ถ์ด๊ณ ์ถ์ ๋ ๋ด๋ ค๋๊ธฐ ํค๊ฐ ํ์ชฝ์๋ง ์์ผ๋ฉด ๋ถํธํจ.
์ด์ฐจํผ ์กฐ์์ด ๋ง์ ๊ฒ์๋ ์๋๋๊น ๋์, ์ค๊ธฐ/๋ด๋ ค๋๊ธฐ, ์ ๋ ํ์ธ์ฒ๋ผ ๋ฌด์กฐ๊ฑด ์ฐ๋ ํค๋ ์ด๋ ์์ผ๋ก๋ ๋๋ฅผ ์ ์๊ฒ ํ๊ฒ ์
๋ฒ์จ ์ฝ๊ฐ ์ ๊ผฌ์ด๋ ๋๋ ๋ญ๋ญํ๊ฒ ๋๋๋ฐ... ์ด์ฉ์์๋ค..
๋ ์ธ์๋ ๊ฐ์ ๊ฒ์ ๋ง๋๋ ๊ฑด ํฌ๊ธฐ
์ ๊ฟ๋ฒ ์์ง์ด๋๊ฑด ์๋ณด์ฌ์ค??
๋๋ฌด ๋ง์ ์คํ๊ฒํฐ ์ฝ๋ ๋๋ฌธ์ ๊ฟ๋ฒ์ด ๋ฌด๊ฑฐ์์ ธ์ ์์ง์ผ ์ ์๋ค๊ณ ํ๋ค์.....
๋ด์ง์ค?
๋ด์ธํ์ ๊ตฌ์ธํ์ GetKey/GetButton์ ์ ํํ๊ฒ ํด๋น๋๋ ๊ฒ ์๋ ๊ฑฐ์ :
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.7/manual/Migration.html
UnityEngine.Input.GetButton Use InputAction.IsPressed. UnityEngine.input.GetButtonDown Use InputAction.WasPressedThisFrame.
ํ ๋ ์์ ์ด๊ณ ์... ์ด์ ๋ ๋ด์ธํ์์ธ ์ด์ ์๋ ๋ชธ์ด ๋์ด๋ฒ๋ ธ์ด...
ํ๋ ์ด์ด ์ธํ ์ปดํฌ๋ํธ ์ฌ์ฉํด์ฃผ๋ฉด ๋ ํธํด์ง๋๊ฒ...
ํ ใ ใ ์ด๊ฑฐ ๋ฐ๋ก ์คํฌ๋ฆฝํธ ๋ง๋คํ์๊ฐ ์์๋ค ๋ด์ธํ๋๋ฌด์ ธ์