본문 바로가기
Develop/Unreal Engine

[Unreal Engine] 플레이어 캐릭터 생성하기

by Tarra 2023. 2. 15.

 

 


개인 공부 후 자료를 남겨놓기 위한 목적이므로,
생략되거나 오류가 있을 수 있음을 알립니다.

 

 

1. 플레이어 캐릭터 생성하기

2. 플레이어 캐릭터에 움직임 추가하기

3. 애니메이션 블루프린트 생성 및 연결

4. 애니메이션 몽타주를 이용한 공격 모션

 


💡본 문서는 22년 10월 무료 에셋인 Undea pack을 기반으로 합니다.

 

 

우리가 사용하는 ThirdPersonCharacter 와 같은 플레이어블 캐릭터를 만들어보도록 하자.

 

제일 먼저 시작용 콘텐츠 → 삼인칭을 통해 테스트를 진행할 맵을 만들어주고,

 

3인칭 플레이어 캐릭터를 삭제해주자.

 

 

이러한 빈 공간이 만들어진다.

 

 

우리가 사용할 커스텀 에셋을 다룰 폴더를 콘텐츠 브라우저에 만들어주자.

 

 

 

행동이 가능한 캐릭터를 만들어줄 것이므로,

 

추가/임포트블루프린트 클래스Character를 선택해 블루프린트 파일을 Content 폴더에 만든다.

 

해당 문서에서는 이 파일을 BP_MyCharacter로 이름을 짓겠다.

 

해당 파일을 끌어 맵에 배치해보자.

 

다음과 같은 배치가 완성된다.

 

해당 블루프린트는 향후 우리가 사용할 캐릭터가 된다.

 

 

 

해당 블루프린트에 형태가 보일 수 있도록 메시를 선택해주어야 하는데,

 

여기서 앞서 받은 Undead pack 을 사용할 것이다.

 

콘텐츠 브라우저 에서 해당 블루프린트를 더블클릭해 에디터 페이지를 열어보자.

 

 

다음과 같은 창이 나오게 되는데, 해당 페이지는 블루프린트를 모두 제어할 수 없으므로

 

밑줄 친 에디터 열기를 눌러주자.

 

 

뷰 포트 를 눌러 메시을 먼저 입혀주도록 하자.

 

좌측의 컴포넌트 창에서 해당 메쉬를 눌러 진입하자.

 

 

우측의 디테일 페이지를 보면, 해당 메시에 대한 스켈레톤 메시를 지정할 수 있다.

 

해당 문서에서는 Goblin을 지정하도록 하겠다.

 

 

스켈레톤 메시를 지정하면, 다음과 같이 스켈레톤이 적용된 것을 확인할 수 있다.

 

 

해당 스켈레톤이 현재 메시와 크기가 맞지 않으므로, 디테일을 만져 크기를 조정해주도록 하자,

 

순서는 다음과 같다.

 

 

먼저 Capsule Component 의 스케일을 조정해 해당 컴포넌트의 크기를 조정한다.

 

해당 문서에서는 컴포넌트의 크기를 Z 0.6 정도로 조정했다.

 

 

이후 뭉개진 스켈레톤을 펴주기 위해서 Mesh에 접근한 뒤,

 

 

위치는 Z -85 // 스케일은 Z 1.7 정도로 조정해 크기를 맞춰주었다.

 

 

이후 컴파일 및 저장을 순서대로 눌러주자.

 

 

이제 메인 에디터로 돌아가 해당 캐릭터를 조종해보도록 하자.

 

해당 엑트를 선택한 뒤,

 

디테일에 auto 를 검색하면,

 

폰탭의 Auto Possess Player를 볼 수 있는데, 이 값을 player 0 으로 변경해주자.

 

 

이후 플레이 버튼을 눌러보면

 

다음과 같은 화면을 볼 수 있다.

 

 

아직 플레이를 해보기 위해서 카메라, 이동키등 설정해야할 것들이 많은 것을 알 수 있다.

 

다시 블루프린트로 돌아와보자.

 

먼저 카메라 설정 먼저 해보도록 하자.

 

캐릭터를 자세히 보면 파란색 화살표가 있는 것을 볼 수 있다.

 

해당 화살표는 카메라가 바라보는 방향인데, 현재 스켈레톤 메시에 가려 잘 안보이므로,

 

화살표를 하나 더 추가해 제대로 보이도록 해보자

 

 

컴포넌트 ⇒ 컴포넌트 추가 ⇒ Arrow 를 선택해 화살표를 추가한다.

 

 

캐릭터가 바라보는 방향이 조금 더 명확하게 보인다.

 

 

여기서 좀 더 확실하게 하고 싶다면, 디테일 창에서 화살표의 크기와 색을 바꿔주도록 하자.

 

해당 문서에서는 화살표의 크기만 “2”로 조정해주었다.

 

 

캐릭터가 바라보는 방향을 알게 되었으니,

 

스켈레톤 메시를 회전시켜 제대로 된 방향을 볼 수 있도록 해주자

 

컴포넌트Mesh디테일트랜스폼회전 을 만져 방향을 설정해준다.

 

해당 문서에서는 Z를 -90으로 설정해주었다.

 

 

컴파일 후 저장을 한 뒤 플레이 버튼을 눌러보면 캐릭터가 잘 돌아간 것을 볼 수 있다.

 

 

이제 카메라를 조정해 보자.

 

캐릭터 기준에 맞추어 카메라가 이동해야 움직임이 자연스러움으로

 

캐릭터의 등에 안보이는 팔을 연결한 뒤, 그 팔에 카메라를 연결할 것이다.

 

 

컴포넌트 ⇒ 컴포넌트 추가 ⇒ Spring Arm 을 추가하자.

 

 

Spring Arm 을 연결하고,

 

 

Spring Arm 이 선택된 상태로 Camera 컴포넌트를 추가하자.

 

 

이렇게 하는 이유는 카메라가 Spring Arm의 자식으로 들어가게 해, Spring Arm을 이동 시킬 시,

 

카메라도 같이 이동하게 하기 위함이다.

 

다음과 같이 카메라가 잘 붙은 것을 확인할 수 있다.

 

 

카메라가 캐릭터의 뒤에 정확하게 위치하면, 플레이어의 시야를 너무 가리므로,

 

카메라의 위치를 상단으로 올리고, 약간 각도를 내려주도록 하자.

 

카메라를 선택 후 디테일 페이지에서 트랜스폼 값들을 약간 바꾸어 주자.

 

해당 문서는 위치를 Z 250, 회전 값을 Y -10 정도 주었다.

 

 

컴파일, 저장 후 플레이를 눌러 개선 상황을 선택해보자.

 

3인칭 카메라가 잘 설정되었다.

 

 

카메라 세팅과 모델링이 끝났으니 이제 조작을 위한 로직을 추가해보자.