본문 바로가기
Unreal 게임 개발/Unreal C++ 공부

Unreal Axis Mapping (Unreal 움직임 만들기)

by daisy0461 2023. 1. 22.

Unreal에서 Brid라는 이름으로 Pawn을 부모로하는 C++을 만들면 

Actor로 만들었을 때 보이지 않는 함수가 생기게 된다.

Pawn과 Actor의 가장 큰 차이점은 Player의 Input을 받을 수 있다는 점이다.

이 과정을 순차적으로 알아보면

Edit->ProjectSettings

Edit -> Project Settings에 들어가서

Axis Mapping에서 +를 눌러준 후 추가를 해주고

추가된 칸 (MoveForward_Brid)의 +를 눌러주면 아래처럼 생기게 된다.

어떤 키로 설정할지는 좌측에 있는 키보드를 눌러 직접 키를 눌러주거나 Dropdown에서 찾아서 선택하면 된다.

Scale은 해당 키를 눌렀을 때 넘어가는 값이다.

 

이제 이렇게 설정을 한 뒤 C++로 들어가서

header file에 MoveForward라는 함수를 선언해주고

C++에서 간단하게 입력이 받아지는지 확인해보기 위해 다음과 같이 입력을 한다.

간단하게 이동을 구현하기 위해선 AddActorWorldOffset으로도 확인할 수 있다.

 

이제 입력과 함수를 Bind해줘야한다.

이 과정이 Bind해주는 과정이다.

BindAxis로 Bind해주고 1번째 파라미터는 ProjectSettings에 있는 Axis Mapping와 동일하게 입력을 해주고

2번째 파라미터는 어떤 class에서 적용할 것인지이고 this를 입력하면 여기에 적용을 한다는 것이다.

3번째 파라미터는 사용할 함수의 주소를 넘겨주는 것이다.

 

이렇게 되면 MoveForward 함수를 매 프레임마다 실행시키며 Input값을 판단하여 value 값을 넘긴다.

 

다음을 통해 W를 누르면 1이 출력되고 S를 누르면 -1이 출력되고 아무것도 입력하고 있지 않을 때는 0이 출력되는 것을 확인할 수 있다.

'Unreal 게임 개발 > Unreal C++ 공부' 카테고리의 다른 글

C++ 람다 표현식 (Lambda expression)  (0) 2024.09.05
Unreal Module 추가 방법  (0) 2023.01.26
Unreal Default Subobject  (0) 2023.01.18
Unreal Class Default Object  (0) 2023.01.17
Unreal DeltaTime  (0) 2023.01.15