Input Action 패키지를 사용하다가 적용하는 방법이 여러가지 있다는 걸 알게되었다.
적용하는 방법은 자유지만 어떤 방법이 있는지 알아두면 다른 사람과 협업할 때 도움이
될 것 같아서 소개하고자 한다.
1. Input Action이란?
입력시스템을 굉장히 편리하게 해주는 패키지다. 원래대로라면 코드 상에서 키 값을
입력받아서 진행하지만 Input Action은 미리 사용 할 키값들을 지정해놓고 함수를
연결해 사용하기 때문에 굉장히 편리하다.
Action이라고하면 델리게이트가 생각날텐데 그 개념이라고 생각하면된다.
Input값을 Action해주는 것이다.
2. Input Action 적용 방법
2 - 1. 함수를 직접 넣는 방법
우선 사용하고자 하는 파일에 Player Input을 추가해준다.
Actions에 본인이 만든 Input Action값을 넣고 사용한다.
그리고 Behavior 부분을 Invoke Unity Events로 바꾸면
아래에 기능을 설정한 부분에 가서 List를 추가할 수 있다.
List를 추가 후 본인이 만든 적용한 스크립트를 넣어서 함수를
실행 해주면 된다.
2 - 2. 구독 방법
예시 코드를 보면 "InputAction.CallbackContext 이름" 값을 받는 걸 볼 수 있다.
이러한 형식의 함수를 만든 다음
Awake나 Start에서 둘의 순서를 잘 고려하여 구독해주면 된다.
여기서 action은 Input Action의 값으로 플레이어 컴포넌트에 부착되있는 Input값을
컴포넌트로 불러와도 된다.
액션에는 Started와 canceled등 다양한 동작이 있고 여기에 알맞게 본인이 만든 함수를
+= 형식으로 구독해주면 된다.
2 - 3. 스크립트 생성 방법
본인이 만든 Input Action 파일을 눌러보면 Inspector창에 정보가 뜬다.
여기서 Generate C# Class라는 부분이 있는데 체크 박스를 누르면
Input Action값이 담긴 Script파일이 생긴다.
그러면 컴포넌트를 굳이 만들어서 적용할 필요가 없고
Script로 만들어진 클래스를 자신이 사용하고자 하는 스크립트 파일에
InputAction 형태의 값으로 받아와서 사용하면 된다.
자신이 원하는 방법을 써도 좋지만 여러가지 방법을 알아놓으면 큰 도움이 될 것이다.
'TIL > Unity' 카테고리의 다른 글
[Unity] 애니메이션 트리거 주의사항 (1) | 2023.10.18 |
---|---|
[Unity] 유니티 프로젝트 Git ignore 파일 팁 (0) | 2023.10.16 |
[Unity] UI 활성화 시 캐릭터 동작 멈추기 (1) | 2023.10.11 |
[Unity3D] Vector3와 Transform의 방향 차이점 (0) | 2023.10.10 |
[Unity 3D] 간단한 카메라 설정 Virtual Camera (1) | 2023.10.06 |