이 포스팅은 아래 강의를 들으며 작성되었습니다.
https://www.udemy.com/course/unrealcourse-korean/
Enhanced Input
92강에도 나와있지만 5.1 이후의 버전에서는 더이상 기존의 Input Action Mapping을 사용할 수 없으며
대신 Enhanced Input(향상된 인풋)을 사용하여야만 한다.
강의에서는 이 부분까지 설명해 주지 않기 때문에 나 나름대로 Enhanced Input을 사용하며
혹시 검색하다 들어올 5.1 이후 버전을 사용하는 강의 수강생을 위해 해당 내용을 어떻게 변경 하였는지 작성해보려 한다.
키 매핑 하기
우클릭 -> 입력 -> 입력 매핑 컨텍스트 추가
생성한 입력 매핑 컨텍스트를 열면 이런 창이 뜨는데 강의에서 뜨는 화면과 거의 비슷하다.
다른 점이 있다면 Action, Axis 매핑이 통합되었다는 것.
추가 하는 방법은 동일하기 때문에 어려움이 없을 거라 예상된다.
그런데 추가하려고 하니 문제가 발생하였다.
액션 이름을 입력하는 기존의 방식과는 다르게 드롭박스에서 뭘 선택하라고 한다.
Input Action이라는 것을 만들어서 넣어주면 되는데.
여기서 Jump라는 Input Action(IA)은 이 프로젝트를 FirstPerson 템플릿으로 시작하였기 때문에 기본적으로 제공된다.
그러나 Grab은 우리가 만들고 있는 클래스이기 때문에 당연히 이런 액션은 직접 만들어야 한다.
Input Action 생성
우클릭 -> 입력 -> 입력 액션 추가
IA_Grab이라고 하는(보통 인풋 액션에는 IA_를 붙임) Input Action을 하나 만들었다.
값 타입에서 기존 Action과 Axis의 구분을 대신 해주는데
Action은 Digital (bool), Axis는 차원에 따라서 알아서 선택해주자.
Grab은 Action에 추가하였던 녀석이기 때문에 Digital (bool)을 선택해주면 된다.
이제 다시 Input Mapping Context로 돌아와 IA_Grab을 추가한다.
여기서 끝이 아니다.
더 많은 기능이 추가 된 만큼 기본 설정으로는 강의와 동일한 효과를 얻을 수가 없다.
Triggets를 두 개 추가하고
눌림, 해제됨을 선택하자.
눌림은 버튼을 누를 때(누르는 도중이 아니다. 이 효과를 내고 싶으면 Down을 선택)
해제됨은 버튼을 땔 때 호출 된다.
어찌 됐든 전부 bool 형태로 출력되지만 어떤 동작에서 Trigger 되는지는 직접 설정해줘야 하는 것이다.
이제 매핑 작업은 완료하였다.
다음으로는 블루프린트에서 어떻게 불러오는지 살펴보자.
블루프린트에서 불러오기
만든 인풋 액션의 이름 (IA_Grab)을 검색하여 해당 노드를 가져오자.
핀이 엄청나게 많지만 걱정 할 필요는 없고
bool 타입으로 값 타입을 설정했던 것을 기억 할텐데
이는 키를 누른 순간 true, 때는 순간 false를 출력한다.
true든 false든 값이 들어온다면 Triggered가 발생하니,
if문 역할을 하는 Branch노드에 핀을 연결하고 출력 값에 따른 Print String에 전달한다.
여기서 끝이면 좋았을 텐데 아직 할 일이 남아있다.
Input Mapping Context를 추가한 것 만으로는 Player Controller가 인식하지 못한다는 것이다.
https://mountain-noroo.tistory.com/49
이렇게 플레이어 컨트롤러를 가져와 이 Input Mapping Context를 사용할 거라는 것을 알려주는 과정을 거쳐야 한다.
위 사진에서는 IMC_Default에 넣어준다 되어있지만
아마 FirstPerson 템플릿에 이미 IMC_Default가 존재할 것이기 때문에
직접 만든 Input Mapping Context를 꼭 선택해주자.
참고로 사진과 구성이 조금 달라보이는 것은 유효성 체크가 빠졌기 때문.
드디어, 제대로 동작되는 것을 확인하였다.
'언리얼 > [Udemy] UE5' 카테고리의 다른 글
[언리얼] Udemy 강의 13일차 메모 (~104강) (0) | 2023.10.18 |
---|---|
[언리얼] Udemy 강의 12일차 메모 (~98강) (1) | 2023.10.17 |
[언리얼] Udemy 강의 10일차 메모 (~85강) (1) | 2023.10.13 |
[언리얼] Udemy 강의 9일차 메모 (~79강) (2) | 2023.10.11 |
[언리얼] Udemy 강의 8일차 메모 (~73강) (1) | 2023.09.30 |