1. 키보드 입력 이벤트를 통한 입력 데이터 받아오기
- 열거형과 레벨 블루프린트를 통해 입력 키 받아오기
1) 열거형 생성하기: 오른쪽 마우스 클릭 > 블루프린트 > 열거형 선택
2) 만든 열거형을 열어 입력 받을 키 설정
- 이너머레이터 추가 버튼을 클릭해 열거기를 추가하여 원하는 단축키를 설정해주고 설명에 어떤 키인지 작성해줍니다.
3) 레벨블루프린트에서 열거형에 정의한 입력 키에 따른 행동 설정
(1) 레벨 블루프린트에서 키보드 입력에 대한 이벤트함수 호출
- 1을 검색해 Keyboard Events에 있는 1을 가져옴
(2) 해당 노드의 디테일 창에서 입력키 설정
- 빨간 네모칸에 있는 키보드 모양을 눌러 원하는 키(ex.T)를 누르면 해당 키로 변경됨
(3) 키보드 이벤트가 어떨 때 실행될지 노드 설정
ex) T 키가 눌렸을 때 'Press T' 를 , T키를 눌렀다 뗐을 때 'Release T' 를 찍기
Pressed: 설정한 입력키가 눌렸을 때
Released: 설정한 입력키가 눌렸다 떼어졌을 때
< 결과 >
- T키를 눌렀을 때 : Press T / T키를 뗐을 때 : Release T
- Print String은 Stack 형식으로 데이터가 생김: T키를 먼저 눌렀기 때문에 Press T가 Release T 보다 아래에 찍힘
2. 프로젝트 설정에서 입력 데이터 세팅하기
- UE4 버전까지는 사용했지만 UE5 로 업그레이드 되면서 폐기될 기능임
3. 향상된 입력 시스템을 이용한 입력 데이터 받아오기
* '향상된 입력 시스템' 을 사용하기 위해 사전 준비
- 편집 > 플러그인 > Enhanced Input 이 설치되어있는지 확인
- 프로젝트 설정 > 입력 에서 Default Classesd의 기본 플레이어 입력 클래스를 'EnhancedPlayerInput' 으로 설정
1) 입력키 설정을 위한 입력액션 설정
- 입력액션: 입력 장치(키보드, 마우스, 게임패드 등)에서 전달되는 신호의 처리 방법 결정
(1) 입력액션의 값 타입에 따라 액션의 동작 결정
- Digital(bool)
: 버튼이 눌렸는지(True) / 떼졌는지(False) 구분 ex) 캐릭터의 점프, 공격, 문 열림/닫힘 등을 구현
- Axis 1D(float)
: 1차원 축 값을 나타내는 float 값( -1.0 ~ 1.0 의 값)
- 사용자가 입력한 데이터의 누름 강도를 측정해 세밀한 조절 가능(제일 세게 누르면 1.0)
: 축 기반으로 연속적인 값을 처리할 때 ex) 캐릭터의 앞/뒤 이동
- Axis 2D(Vector2D)
: 2차원 좌표에서의 입력 처리 - 방향 입력이 필요한 상황에서 사용
: 주로 마우스, 키보드, 조이스틱의 입력 중 XY축 값 나타낼 때 사용 ex) 캐릭터의 시야 / 이동 변경
- Axis 3D(Vector3D)
: 3차원 공간에서의 입력 처리 - 3D 환경에서의 이동, 물체의 회전 방향 제어에 사용 ex) 드론, 비행기의 이동 제어
2) 입력액션에서 설정한 키를 입력 매핑 컨텍스트에서 매핑하기
- 입력 매핑 컨텍스트: 특정 입력장치의 키나 버튼이 어떤 입력 액션을 트리거할지 지정
(1) 입력 매핑 컨텍스트에서 매핑할 입력 액션 선택하기
- + 버튼을 눌러 칸을 추가한 뒤 매핑할 입력액션 선택하기
(2) 추가한 입력액션에서 입력 받을 특정 키 세팅하기
- 입력액션에서 화살표를 눌러 입력 받을 키 데이터 추가하기 ex) W 키 추가하기
(3) 추가한 특정 키의 행동 설정하기
ex1) W키를 누르면 위로 이동
- 모디파이어: 특정 입력 키에 대해 입력 데이터를 변형하는 기능(축 값에 대한 설정)
- 모디파이어의 배열 엘리먼트 옆에 있는 + 버튼을 눌러 인덱스를 추가: 첫 번째로 적용할 값
- 스위즐 입력 축 값: 일부 키를 X축 대신 Y축으로 등록 → W키는 X축이 아니라 Y축으로 사용하겠다!
ex2) S키를 누르면 아래로 이동
- W키와 동일하게 인덱스 0번에 스위즐 입력 축 값으로 설정
- 모디파이어의 인덱스를 하나 더 추가해 '부정' 추가: 부정 = 음수로 이동
ex3) A키를 누르면 왼쪽으로 이동
- A키의 경우 X축의 음수로만 이동하면 되니 모디파이어의 0번 인덱스에 부정만 추가
ex4) D키를 누르면 오른쪽으로 이동
- D키는 X축의 양수로만 이동하면 되니 아무것도 해줄 필요 없음
'Unreal Engine🎮 > 블루프린트 - 이론' 카테고리의 다른 글
블루프린트와 C++ 연동 (0) | 2025.05.27 |
---|---|
캐릭터 (2) | 2024.10.27 |
Pawn(폰) (0) | 2024.10.09 |
FPS와 Delta Time (2) | 2024.09.29 |
기하학(Geometry) (5) | 2024.09.25 |