Enhanced Input

Ryan Ham·2024년 6월 4일
1

Unreal Engine

목록 보기
1/27

Unreal의 입력시스템

Player의 입력은 Controller를 통해 Pawn으로 전달됨.(입력을 처리하는 우선순위가 Controller라는 의미. 하지만 보통 그렇게 구현하지는 않는다.)

입력을 Controller가 처리할 수도, Pawn이 처리할 수도 있는데, 일반적으로는 Pawn이 처리하도록 설정.

  • Enhanced Input System의 Flow
    1. 사용자가 입력을 한다.
    2. IMC에 값이 들어온다.
    3. IMC에서 IA로 연결시키는데 여기서 사용자 입력을 재가공(modifier), 이벤트 활성화(trigger)
    4. Pawn에서 이 입력을 받아서 Pawn에 구현된 움직임 logic에 반영하여 최종 움직임이 결정된다.

IMC에서는 키보드용 입력, 콘솔용 입력등을 runtime에서 자유롭게 바꿀 수 있음.
원래 Unreal의 input system에서는 게임 로직 부분에서 구현한 코드를 이제는 IA로 넘겨 코드의 부담을 덜었다고 보면 됨.

엄청난 사실!!

Build.cs쪽의 정보를 바꾸면 .uproject에서 visual studio file을 regenerate 해줘야 한다.

Viewport 상에서 Pawn의 X,Y 이동

기본적으로 w,s는 y축 방향 a,d는 x축방향이다.

하지만 Unreal Character에서는 캐릭터가 바라보고 있는 방향이 x축 방향이므로 Input Action에 swizzle을 줌으로서 이를 바로잡아준다.

이 작업을 Input Action에서 처리해도 되고, 아니면 Character의 movement logic에서 처리해도 상관없다.


Reference

이득우 Unreal Programming Section 1-1. Character & Input system

profile
🏦KAIST EE | 🏦SNU AI(빅데이터 핀테크 전문가 과정) | 📙CryptoHipsters 저자

0개의 댓글