์ด์ inputsystem๋๋ฌธ์ ๋นก์น๋ค๋ ๊ธ ๋ณด๊ณ ๊ถ๊ธํด์ ๋๋ ์จ๋ดย
ํ์คํ๊ฒ ์์ง ์์ผ๋ฏ๋ก ํ๋ฆฐ์ ์์ผ๋ฉด ์ง์ ํ์
์ํํ๋ ์ฃผ์ฒด๋ ํ๋ ์ด์ด, ์ํํ๋ ์ก์ ์ ์ด๋, ๋ฐ๊ธฐ, ๊ฑท๊ธฐ์ธ๋ฐ ์ฌ๊ธฐ์ ๊ฑท๊ธฐ๋ง ์ดํด๋ณด๊ฒ ์ ๊ฑท๊ธฐ๋ Buttonํ์ ์ผ๋ก ์ค์ ํจ
๋ค ํ๊ณ Save Asset์ ๋๋ฅด๋ฉด
์คํฌ๋ฆฝํธ๋ง๊ณ ๋ด ๊ธฐ์ค์ผ๋ก PlayerInput์ด๋ผ๋ ํ์ผ ํ๋๊ฐ ์ถ๊ฐ๋์๊ฑฐ์ ๋๋ฅด๊ณ ย
Generate C# Class ๋๋ฅด๋ฉด PlayerInputC# ํด๋์ค๊ฐ ์์ฑ๋จ
๋ด๊ฐ ์ฐธ๊ณ ํ ์์์์ ์๋ฅผ ์๋ก์ด ํด๋์ค์์ ๋ฉค๋ฒ๋ณ์๋ก ์กฐ์ข ํด์ ๊ฐ๋ค์ผ์ ๊ทธ๋์ GameInput ํด๋์ค ์์ฑํจ
์์ผ๋ก ํ๋ ์ด์ด์ ๋ชจ๋ ํค ์ํธ์์ฉ์ GameInput์ ํตํด์ ์ด๋ค์ง๊ฑฐ์
PlayerInput ํด๋์ค๋ Monobehavior๋ฅผ ์์๋ฐ์ง ์์ผ๋ฏ๋ก ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋ฉค๋ฒ๋ณ์๋ก ๋ฐ์๋ฃ์
๋ค๋ฅธ ์ค์ ๋ฌด์ํ๊ณ ๋จผ์ ๋ด๊ฐ ํ์ฑํํ๊ณ ์ถ์ ์ก์ ์ Enable ํด์ค์ผํจ
๋๋ PlayerAction์ ํ์ฑํํ๊ณ ์ถ์ผ๋ฏ๋ก ํด๋น๋ถ๋ถ์ Enable ํด์ฃผ๋ฉด ๋จ
Awake๋ก ๋ค์ ๊ฐ๋ณด๋ฉด Perform, started, canceled์ ํจ์๋ค์ ๊ตฌ๋ ํด๋จ๋๋ฐ Walk๋ ๋ฒํผ์ผ๋ก ์ค์ ํด๋จ์
์ฆ Start, Perform์ getKeyDown, Canceld๋ getkeyUp์ด๋ ๋งค์นญ๋จ
๊ทธ๋์ ๋ด๊ฐ ํ์ฑํ์ํค๊ณ ์ถ์ ์ด๋ฒคํธ๋ฅผ Action์ผ๋ก ์ ์ํด์คฌ๊ณ
ํ๋ ์ด์ด์์ GameInput์ ์ ์ํด๋์ ์ด๋ฒคํธ๋ค์ ํ๋ ์ด์ด๊ฐ ์ํํ๋ ํจ์๋ค์ ๊ตฌ๋ ํด๋์
์ ์๋๋จ
๊ทผ๋ฐ Start๋ Perform์ด๋ ์ฐจ์ด๊ฐ ์๋๊ฑฐ๊ฐ์ ๋๋คย GetKeydown์ญํ ์ ์ํํ๋๋ฐ ๋ญ ์ฐจ์ด์ธ์ง ๋ชจ๋ฅด๊ฒ ์
Press๋ ์ด๋ป๊ฒ ํ๋๋
์ด๊ฑด ๋ฐ๋ก ์ด๋ฒคํธ ์์ด IsPressed() ํจ์๊ฐ ๋ง๋ จ๋์ด ์์ด์ GameInput์์ return ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋จ
๋ฒํผ์ด ์๋ ์ด๋์?
๋ ๋ฒ์งธ ์นธ action ์ +๋ฅผ ๋๋ฅด๋ฉด ์๋ก์ด ํญ์ด ํ๋ ๋ธ
์ฌ๊ธฐ์ Move2๋ผ๊ณ ์ด๋ฆ์ง๊ฒ ์
ํด๋น ์ก์ ์ด ๋ฑ์ด๋ด๊ณ ์ถ์ ํ์ ์ ์ค์ ํด์ฃผ๋ฉด ๋๋๋ฐ ์ฌ๊ธฐ์ ์ด๋์ ํ ๊ฒ์ด๋ฏ๋ก value, ๊ฐ์ vector2๋ฅผ ์ค์ ํ์
๊ทธ๋ฆฌ๊ณ Proccessors๋ฅผ ๋ณด๋ฉด ์๋ง ๋ฑ์ด๋ด๋ ๊ฐ์ ์ถ๊ฐ๋ก ์ด๋ค ๊ฐ๊ณต์ ํ ์ ์๋ ๋ถ๋ถ์ธ๊ฑฐ ๊ฐ์๋ฐย
์ฐ๋ฆฐ ๋ฐฉํฅ๋ง ํ์ํ๋ฏ๋ก normalized๋ฅผ ์ค์ ํด์ฃผ๋ฉด ๋ฑ์ด๋ด๋ ๊ฐ์ด ์์์ normalized๋์ ํ์ด๋์ด ์คํฌ๋ฆฝํธ์์ ๋ฐ๋ก ์ํด์ค๋๋จ
๊ทธ๋ฆฌ๊ณ Move2 ์์ +๋ฅผ ๋๋ฅด๋ฉด ํค ๋ฐ์ธ๋ฉ์ด ๋์ค๋๋ฐ ํด๋น ํค ๋ฐ์ธ๋ฉ์ ๋ด๊ฐ value๊ฐ์ ์ด๋ค๊ฑธ ์ค์ ํ๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง
์ฌ๊ธฐ์ 2๋ฒ์งธ์ธ up down left right๋ฅผ ๋๋ฅด๋ฉด
์์์ ๋ญ ์ค์ ํด์ผํ ์ง ๋ฑ์ด๋
ํค ์ค์ ์ Path๋ฅผ ๋๋ฅด๊ณ Listen์ ๋๋ฅด๋ฉด ์ด๋ค ํค๋ฅผ ์ ๋ ฅ๋ฐ์์ง ๋๊ธฐ์ํ๋ก ๋ค์ด๊ฐ๋๋ฐ
W๋ฅผ ๋๋ฅด๋ฉด ์ด๋ ๊ฒ ๋์ด ์ ๊ฑฐ ํด๋ฆญํด์ฃผ๋ฉด ๋
์จ๋จน๋๊ฑฐ๋
์๋ ๊ฒ ReadValue๋ก ์์ ์ฝ์ด์ฌ ๊ฐ ํ์ ๋ง ์ค์ ํด์ฃผ๋ฉด ์์์ ์ฝ์ด์ด
๊ทธ๋ผ ํ๋ ์ด์ด์์ ๊ฐ๋จํ ์จ๋จน๊ธฐ๋ง ํ๋ฉด ๋จ
์์ฃผ ์ข์ ๊ธ์ถ
๋ฒํผ๊ฐ์ ๊ฒฝ์ฐ์๋ ํค๋ณด๋์๋ ๋๋ฆ, ๋๋ฐ์ ์๊ธฐ ๋๋ฌธ์ performed๋ started๋ ๋์ผํ๊ฒ.
https://nekojara.city/unity-input-system-action-callback
๊ฐ
์ก์ ํ์ ์ ๋ฐ๋ฅธ starte performed canceled ๋์ ๊ด๋ จ ๊ธ์ด์์.
์ด ๋ธ๋ก๊ทธ์ ์ธํ์์คํ ๊ด๋ จํด์ interaction๊น์ง ์์ธํ ์ค๋ช ๋์ด ์๋๊ฒ์ด์์.
์ถ์ฒ
๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ด๋ค๋ณด๋ ์ธ์ผ์ด ์๋ค..
์ด๊ฑฐ ๋งํ๋ ์๋ ์์ ๋ณด๋ฉด ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์๋ ์ธ์์๋ใด๊ฑฐ๊ฐ์ ๋ ํ๋ด์ผ ์๊ฒ์ง๋ง
ํฐ์น๋ ๊ฐ๋ฅํ๊ฒ์ด์์ !
https://nekojara.city/unity-input-system-pinch-and-multi-swipe
์ค์ค ํฐ์น๋ ์๋ค.... ์ ์ธ๊ณ๊ตฌ๋ง
๋ชจ๋ฐ์ผ์์๋ ๋ ๊ฐ์๋ ๋น๊ตํด์ ์ด๋ค ๋ถ๋ถ์ด ์ข์?
๋ ๋ชจ๋ฐ์ผ์ชฝ์ผ๋ก ์ด์ํด๋ณธ์ ์ด ์๊ธฐ๋ ํ๊ณ ์ด๊ฑฐ ์ฒ์ ์จ๋ด์ ์์ง๊น์ง ๋ชจ๋ฅด๊ฒ ์ ๋ค๋ง ์๋ ๋ง๋ก๋ ๋ ๊ฑฐ์๋ณด๋ค ์ฑ๋ฅ์ ์ผ๋ก ํฅ์๋๋ค๊ณ ํ๋๋ผ
๋ค๋ง ์ ์ผ ์ข์๊ฑด ํค๋ณด๋๋ง๊ณ ๋ ์กฐ์ด์คํฑ๊ฐ์ ๋ค์ํ ๋ฉํฐ ํค์ธํ ํ๋ซํผ์ ๋ฐ๋ผ ๊ธฐ์กด์ input.์ด์ฉ๊ณ ํ๋ฉด์ ๊ฐ ํ๋ซํผ๋ง๋ค ๋ ธ๊ฐ๋ค๋ก ์์ ํด์ค์ผํ๋๊ฑธ์ํ ์ ์๋ค๋๊ฒ ์ต๋ ๋ฉ๋ฆฌํธ๊ฐ์
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ด๋ฐ๊ฒ๋ ์์๋ ธ
์ ์ด์ ๋นก์ณค๋ ๊ทธ๊ฑฐ ๋์ "๊ทผ๋ฐ Start๋ Perform์ด๋ ์ฐจ์ด๊ฐ ์๋๊ฑฐ๊ฐ์ ๋๋ค GetKeydown์ญํ ์ ์ํํ๋๋ฐ ๋ญ ์ฐจ์ด์ธ์ง ๋ชจ๋ฅด๊ฒ ์" ์ด๊ฒ ๋๋ฌธ์ ๊ฐ๋นก์ณค์์. Start๊ฐ GetkeyDown, Perform์ด Getkey๋ผ๊ณ ์๊ฐํ์๊ฑฐ๋ . ๊ทผ๋ฐ ์๋ฌด๋ฆฌ ๋ด๋ ๊ฐ์ ํ๋ ์์ ๋์ ์คํ๋๋๋ผ๊ณ
์ง๊ธ์ ์ฌ์ฐจ์ ์ฐจ ๊ทธ๋ฅ bool๊ฐ ํ๋ ๋ฉค๋ฒ๋ก ๋ฐ์์ ์ฒ๋ฆฌํ๋๋ฐ ์์ธํ ์๋ ค์ค์ ๊ณ ๋ง๋ด. ๋์ค์ ๋ ํ์ํ ๋ ์์ ๋ณผ๊ฒ
์ ๊ทธ๋ฆฌ๊ณ ์ด์ ํผ๋ฅ์ธ๋ฉด์ ์์๋ธ ๊ฒ ์๋๋ฐ ์ธํฐ๋ ์ ์๋ฌด๊ฒ๋ ์์ผ์ ๋ Canceled๋ GetkeyUp์ด ์๋์ผ. Release์ ๊ฐ๊น๋๋ผ. ๋ผ๋ ์๊ฐ๋ง True๊ฐ ์๋๋ผ ๋ผ๊ณ ์์ผ๋ฉด ๊ณ์ True๊ฐ ๋ฐํ. ์ด๊ฒ ๋๋ฌธ์ ์ด์ 2์ฐจ ๋ฅ๋นก์นจ.
์์ฑ์๋ฐ ์ด๋ป๊ฒ ์ง์ฌ์๋์ง๋ ๋ชฐ๋ผ๋ ๋ด๊ฐ ์์์ ์ง ๊ฒ์ฒ๋ผ ํด๋ณด๋ฉด ์ด๋ฒคํธ ํ์์ด๋ผ ๋ ์๊ฐ๋ง ๋ฐ์์ค๊ฒ ๋ ๊ฑฐ์