1. 에셋 가져오기
1-1. 에셋 다운로드 및 프로젝트 셋업
Fab 탐색하기 게시글에서 이어집니다.
Lower Sector Building Kit 을 Fab 탭에서 검색해서 라이브러리에 추가해 줍니다.

이렇게 2가지의 에셋이 필요합니다.
5.4.4 버전으로 진행하겠습니다.

Lower Sector Building Kit 프로젝트에 추가 눌러줍니다.

LowerSector_Mod 라는 레벨을 열으시면 됩니다.
2. 캐릭터 만들기
2-1. 블루프린트 클래스 만들기

사진과 같이,
곤텐츠 > 새폴더 > Blueprints > BP_Character(블루프린트 클래스) 만들어 줄겁니다.
클래스가 뭔지 모르신다면, 언리얼 + 블루프린트 참고하시면 됩니다.

더블클릭 하시면 이렇게 나오실텐데, 창을 드래그해서 패널에 넣어주시면 됩니다.

캡슐 컴포넌트, 화살표 컴포넌트, 스켈레탈 메시 컴포넌트를 기본적으로 가지고 있습니다.

디테일 패널에 스켈레탈 메시에서 SKM_Bot 선택합니다.

잘 추가가 되었습니다. 여기서 화살표 컴포넌트를 로컬에서 x의 방향이기 때문에 캐릭터를 X 방향으로 돌려주겠습니다.

캡슐 이랑 캐릭터랑 크기가 안맞습니다. 캐릭터를 조금 내리겠습니다.

그래도 크기가 좀 안맞는다 싶으면,

캡슐 컴포넌트를 클릭하시고 디테일 패널에 세이프 값을 변경해서 바꿔주시면 됩니다.

컴파일하고 저장
2-2. 맵 배치

간단하게 뷰포트에 드래그 앤 드롭 해주면 맵에 배치 할 수 있습니다.
2-3. 카메라 배치

다시 BP_Character창으로 돌아와서
추가 > SpringArm 컴포넌트 > 생성된 SpringArm 컴포넌트 클릭 > 추가 > Camera 컴포넌트
하시면 SpringArm 컴포넌트가 Camera 컴포넌트를 가지고 있는 구조가 됩니다.
SpringArm 컴포넌트가 무슨 역할인지 확인해보겠습니다.

이렇게 카메라와 오브젝트 사이의 거리 뿐 아니라,

만약 뒤에 장애물이 있다면, 스프링처럼 거리가 줄어들어 카메라가 오브젝트를 통과하지 않고 캐릭터를 보여주는 컴포넌트입니다.
시야가 좀 이상하니까 수정하겠습니다.

SpringArm의 트랜스폼을 변경하면

이렇게 확인이 가능하니 자연스럽게 수정합니다.

또한 타깃 암 길이를 늘려주면 SpringArm을 길게 뺄 수도 있습니다 350까지 늘리겠습니다. (위치 값, 회전 값은 임의로 맞춘것입니다)
플레이어가 캐릭터를 조작할때는 컨트롤러를 통해 소유한다고 했습니다.

possess를 검색하면 플레이어 자동 빙의가 있습니다.
싱글 플레이에서는 Player 0 입니다.
하지만 움직이지는 않습니다. 이제 움직임을 구현해 보겠습니다.
3. 향상된 인풋 시스템
향상된 인풋 시스템이란 언리얼 5에서 제공되는 기능으로 복잡한 입력 처리나 런타임 제어 리매핑 등 보다 고급 입력 기능입니다.
3-1. Move

Inputs 폴더를 생성해서

우클릭 > 입력 > 입력 매핑 컨텍스트 1개 입력 액션 2개를 만들어 주시면 됩니다.
이름은
IMC_KD_DefaultMappingContext - 입력 매핑 컨텍스트
IA_KD_Move - 입력 액션
IA_KD_Look - 입력 액션
입니다.(KD는 제 이름 2글자 초성입니다. 다른 걸로 사용하셔도 상관없습니다)
입력 액션은 값을 처리한다 생각하시면 됩니다.

간단하게 사용자가 할 행동을 정한다고 생각합시다.

입력 매핑 컨텍스트는 그 행동을 어떤 입력으로 처리할것인지 정한다고 생각하겠습니다.
IA_KD_Move에서

액션 > 값 타입을 Axis2D로 해줍니다 (2차원)
IMC_KD_DefaultMappingContext을

이렇게 매핑합니다. 2차원이니 WASD 네방향으로 움직여야 합니다.
이제 모디파이어를 통해서 값을 반전시켜 줘야 합니다.
먼저 W는 앞으로 이동해야 하기 때문에 2차원 배열에서 (1, 0)의 값을 사용합니다.
S는 뒤로 가야하기 때문에 그 반대 (-1, 0)을 사용해야겠죠?
D는 (0, 1), A는 (0, -1)입니다.

W는 비워두면 입력값을 (1, 0)으로 설정합니다.(IA_KD_Move가 2차원이라서)
S는 부정, 입력값을 (-1, 0)으로 만듭니다.
D는 스위즐 입력 축 값 (1, 0)의 입력을 (0, 1) 축바꿈이 됩니다.
S는 스위즐 입력 축 값 과 부정을 해서 (0 ,-1)이 됩니다.
IA_KD_Look도 열어서

이렇게 설정하고

매핑을 마우스 XY 2D 축으로 합니다.
블루프린트 설정을 해줄겁니다.

해당 화면에서 뷰포트 옆옆 이벤트 그래프 클릭

BeginPlay 말고 다 지워줍니다.

먼저 이렇게만 노드를 연결합니다
Get Player Controller은 아까 poccess에서 설정한 0번이고 Enhanced Input Local Player Subsystem 향상된 인풋 시스템입니다. 그리고 add mappingcontext를 가져와서 mapping context 를 아까 만들어둔 IMC_KD_DefaultMappingContext로 만들고 실행하면,
아무일도 일어나지 않습니다.
왜냐하면 지금까지 한 일은 그냥 단순하게 값을 가져오는 어떻게 할지 값을 변경할지 이정도만 해줬기 때문입니다.

이렇게 검색해서 위에 Enhanced Action Events로 만들어줍니다.

펼친다음 Action Value 우클릭 구조체 핀 분할 합니다.

그다음 이런식으로 Add Movement Input을 만들어줍니다
요 노드는 컨트롤러가 움직일 수 있게 해줍니다.

그 다음은 이렇게 해줍니다.
핀은 두번 클릭하면 이렇게 이쁘게 만들 수 있습니다.
World Direction은 방향을 줘야하는데,
X축은 앞으로 Y축은 오른쪽으로 가야합니다.

Get Actor Foward Vector, Get Actor Right Vector 을 만들어서

이런식으로 연결해주시면 됩니다.

드래그 하고 C를 누르면 코멘트를 달 수 있습니다.
마우스 움직임 구현 하겠습니다.

마우스 움직임은 더 간단합니다.
위 과정 처럼 IA_KD_Look 검색해서 Enhanced Action Events로 만들어줍니다.
Add Controller Yaw Input, Add Controller Pitch Input 하나씩 만들어줍니다.
Yaw는 z축을 기준으로 왼쪽 오른쪽 방향(고개를 좌 우로), Pitch는 y축을 기준으로 위 아래(고개를 위 아래로)라고 볼 수 있습니다.
근데 이렇게 하면, Pitch가 제대로 움직이지 않습니다.

캐릭터 창으로 돌아와서 디테일 창에 controller 검색, 피치 사용에 체크가 안되어 있습니다 체크해줍니다.
이렇게 하면 문제점이 메쉬 전체가 움직입니다.
캐릭터까지 같이 위아래로 움직이고 있기 때문에
다시 피치, 요 를 체크해제 합니다.

캐릭터 무브먼트 > 무브먼트 방향 > 무브먼트 방향으로 회전 조정 체크해주시고


SpringArm > 디테일 패널 > 카메라 세팅 > 폰 제어 회전 사용 체크 합니다.
저는 지금 세팅이 조금 불편합니다.
마우스를 올리면 카메라가 내려가고, 내리면 카메라가 올라가고 있습니다.

IMC 창에서 이렇게 부정을 넣어주면 X(Yaw), Y(Pitch)가 전부 -1이 되기 때문에

이렇게 인덱스를 열어서 Y만 체크합니다.
그다음, D를 누르면 D로만 돌고, A를 누르면 A로만 돌기 시작합니다. 이러한 현상이 발생한 이유는

이 Get Actor 친구들 때문인데 이 노드는 "액터가 바라보는 방향 기준" 입니다.
즉 Get Actor Right Vector는 액터가 바라보는 방향 기준 오른쪽이고, 지금 액터는 해당 방향으로 계속 바라보는 방향이 바뀌기 때문에 빙글빙글 돌고 있습니다.
제가 원하는건 A방향으로 쭉 가거나 D방향으로 쭉 가는 것이기 때문에

이런식으로 새롭게 만들어 주겠습니다.
Get Control Rotation > x, y, z 핀분할
Get Forward Vector > 수학으로 되어있는 것 선택합니다. > 핀분할
Get Right Vector > 수학으로 되어있는 것 선택합니다. > 핀분할 해줍니다.
원래 있던 Move의 링크는 끊어줍니다.
컴파일 후 실행하면 제대로 동작하는 것을 확인 할 수 있습니다.
점프도 구현해보겠습니다.

IA_KD_Jump로 만들어 줍니다.
Jump는 그냥 상태입니다. 점프를 했다 안했다. Digital로 두고

IMC창에서 스페이스 바로 할당해줍니다.

블루프린트 노드도 연결해줍니다.
컴파일 후 실행하면, 점프가 동작 합니다.
조금 어색한 부분은

컴포넌트에서 캐릭터 무브먼트 컴포넌트를 클릭하고 디테일 패널에서


요 두개를 조정해서 자연스럽게 만들면 됩니다.
'언리얼 기본' 카테고리의 다른 글
| 액터 이동 (0) | 2026.02.09 |
|---|---|
| 애니메이션 블루프린트와 블렌드 스페이스 (0) | 2026.02.03 |
| 언리얼엔진 액터(Actor)의 종류와 배치 (1) | 2026.01.31 |
| Fab(마켓 플레이스) 사용 뒤 적용해보기 (0) | 2026.01.30 |
| 언리얼 프레임워크, 레벨, 컨트롤러, UI, 액터등 개발의 요소 (0) | 2026.01.29 |