오늘은 언리얼 본캠프 중 사이드 프로젝트를 진행해 보았다.
팀원 둘과 함꼐 첫 팀 프로젝트를 하는 경험을 쌓고자 간단하게 게임을 하나 만들어 볼 것이다.
에셋과 기본적인 틀은 미리 적용해두었으며 본격적으로 작업을 시작하였다.
C++과 블루프린트를 적절히 활용하여 역할 분담으로 캐릭터를 맡아서 하게 되었다.
C++을 활용하여 언리얼 엔진을 활용하는 것은 아직 배우지 않은 부분이기도 하고 어렵기에 이 부분은 바이브 코딩으로 진행하였다.
우선 캐릭터 클래스(DDE_Player)를 만들어 주었다.

그러자 Visual Studio에 DDE_Player.h 파일과 DDE_Player.cpp 파일이 생성되었다.
그 후 바이브 코딩을 활용해 캐릭터가 크레이지 아케이드 캐릭터처럼 움직일 수 있게 입력하였다.
중요한 점은 캐릭터의 움직임이 캐릭터가 바라보는 방향이 아닌 월드 방향을 기준으로 움직일 수 있게 하였다.

그런 뒤 언리얼 에디터로 가서 IA_Move(Input Action)과 IMC_Player(Input Mapping Context)를 만들어주며,
IA_Move는 Value Type을 Axis2D(Vector2D)로 바꿔 주었다.
IMC_Player에서 IA_Move를 등록해 각각 키보드 방향키를 할당해주었으며, 각각 방향에 맞게 설정해주었다.

C++ 클래스를 바탕으로 블루프린트(BP_DDE_Player)를 만들어 주었다.
IMC_Player와 IA_Move를 연결해준 뒤 캐릭터 스켈레탈 메쉬를 넣어주었다.

다만 카메라의 위치가 캐릭터의 정수리만 보이게 되어 있었으므로 Camera Boom의 Rotation을 수정해주었다.

또한 가장 중요한 카메라에서 우리가 원하는 원근감이 없는 화면을 원하기에 Projection Mode를 Perspective에서 Orthograpic으로 바꿔주었다.



애니메이션을 적용해주기 위해 Blend Space(BS_Locomotion)을 만들어주었다.
캐릭터 스켈레탈을 적용해 준 후 Horizontal Setting을 조정해주었다.
이름을 Speed로 바꿔주고 맥시멈 스피드를 600으로 해주었다. (플레이어 스피드이기 때문에 더 빠르거나 느리게 하고 싶다면 이것을 조정)
이후 그래프에서 Speed가 0일 때 Idle, Speed가 600일때 Run을 넣어준 뒤 저장해주었다.

이것을 바로 적용할 수 는 없으니 ABP_DDE_Player 블루프린트를 만들어서 이곳에 적용해주었다.
이벤트 그래프로 가서 변수 Speed를 Float 형식으로 만들어준 다음 Try Get Pawn Owner -> Get Velocity -> Vector Length -> Set Speed로 연결해 준 뒤 Update Animation과 연결해준다.
그 뒤 AnimGraph로 가서 만들어준 변수 Speed와 BS_Locomotion, Output포즈와 함께 이어준다.


컴파일을 해준 뒤 BP_DDE_Player로 돌아와서 캐릭터 메쉬에 적용해 주었다.

플레이어가 움직이는 영상을 끝으로 마치겠다.
첫 팀 프로젝트인 만큼 계속 긴장되고 팀원들에게 민폐를 끼치면 안된다는 마음으로 정말 열심히 개발에 열중하였다. 잠깐 잠깐 쉴 때도 무언가 미안한 마음이라 쉬는것도 쉬는게 아닌 느낌이었다.
'사이드 프로젝트' 카테고리의 다른 글
| 05.19 사이드 프로젝트 Unreal 크레이지 아케이드) 아이템 가시성 향상 (0) | 2026.05.19 |
|---|