일반적으로 Input.GetKey() 함수등으로 입력을 받아와서
그에 따른 행동을 하거나 값을 변경하여 캐릭터를 이동하거나
점프시켰는데 이번에는 Input System으로 구현해보려고 한다.
먼저 패키지 매니저에서 Input System을 Import 해주고
(주의! 자동으로 껏다 켜짐)
키입력을 지정해 주기 위해 Input Action을 생성해준다.
생성된 액션에서 Map을 생성하면 안에 Action을 생성 가능한데
컨트롤 타입을 Vector로 지정해주면 아래의 바인딩을 추가가능하다
상하좌우 키를 바인딩하여 Vector2 수치를 스크립트에서 받아와
캐릭터를 이동시켜야하는데 이는 캐릭터 오브젝트에 Input Action을 끌어다 놓으면 된다.
버튼 이벤트처럼 동작된 Action에 해당하는 함수를 호출하는 방식인데
이는 불필요한 함수 호출을 줄일 수 있어서 좋다
호출될 함수에는 콜백 메시지를 받기 위해 매개변수에 사진처럼 추가해준다.
전달받은 Vector2 값을 변수에 저장하여 이를 캐릭터의 Transform Position이나
Character Controller로 이동 시키면 된다.
+EventSystem은 Canvas를 생성하면 자동으로 생성되는데
이를 InputSystem으로 교체해야 한다.
댓글 없음:
댓글 쓰기