[UE5] 프로젝트 생성, 캐릭터 모델 import, Animation Retargeting (TPS - 개발일지1)
언리얼 엔진 5.4의 신규 기능에 대한 학습이 어느 정도 완료되어 언리얼 엔진 5.4에서 TPS(3인칭 슈팅 게임)을 만들어보려 한다. 간단하게 구현한 기능들이나 진행한 작업들을 일지 형태로 포스팅할 예정이다.
이번 포스팅은 캐릭터 모델 선택, 기초 애니메이션 리타겟팅에 대해 다루려한다.
Paragon Character Import
최근 모션매칭, 애니메이션 리타게팅, 리깅 등 3D 모델과 애니메이션에 대해 학습하면서 캐릭터 애셋을 찾기 위해 Sketchfab, 언리얼 엔진 마켓플레이스 등에서 여러 모델을 다운받아 보았다.
일단 쉽게 언리얼 엔진 5.4에서 바로 리타겟팅 할 수 있도록 Rigging된 애셋은 Mixamo, 에픽 게임즈에서 제공하는 캐릭터, 메타휴먼 정도가 있었다. 모델의 퀄리티는 Sketchfab에서 독특한 디자인의 다양한 모델이 있었으나 Rigging이 거의 되어있지 않거나, Bone Hierarchy가 언리얼 엔진 5.4의 템플릿과 너무 달라 오랜 시간 리타겟팅 체인을 만들고 조정해야 했다.
언리얼 마켓플레이스의 유료 애셋을 구매하는 것도 좋지만 개발 단계에서는 일단 에픽게임즈에서 제공하는 캐릭터 중 TPS에 어울리는 모델이 있어 이를 사용하기로 결정하였다.
에픽게임즈에서 제공하는 캐릭터인 Paragon: Belica는 Skeletal Mesh, Animtation, FX, Audio까지 모두 포함하고 있다.
에픽게임즈 런처에서 프로젝트에 추가 버튼을 눌러 간편하게 추가할 수 있다.
Trouble Shotting - SM6, D3D11(2)
맥북 부트캠프 Windows11에서 개발을 진행하고 있는데 기본으로 설치하는 AMD 그래픽 드라이버 버전이 낮아 언리얼 엔진을 실행할 때마다 SM6 사용에 대한 문제가 있었다.
공식 지원하는 윈도 버전이 아니다보니 AMD 에서도 부트캠프를 위한 드라이버를 윈도우 10 버전에서만 지원하고 있었다. 윈도우 11을 밀고 다시 설치하려다가 찾아보니 https://www.bootcampdrivers.com/ 라는 사이트가 있어 DDU로 그래픽 드라이버를 삭제 후 설치해 보니 다행히 정상적으로 설치되었다.
이전에 항상 애셋을 열 때마다 Material에서 셰이더 관련해서 생기던 문제들이 사라졌고 이전에 Import 했을 때 Crash가 나서 캐릭터 Material에서 관련 기능을 직접 하나하나 제외하였었는데 드라이버 업데이트 후에는 오류 없이 로드되었다.
무기도 캐릭터 Skeletal Mesh에 함께 포함되어 있는데 대신 다른 Mesh를 다운로드하여 사용할 예정이라 애니메이션 리타겟팅을 진행하기 이전에 미리 제거하려 한다.
ACharacert에서 Mesh를 가져와 Hide Bone을 사용하여도 되고 Material을 투명하게 수정해도 되지만 무기의 Root Bone의 Scale을 0으로 줄이는 방식으로 제거해 보자.
weapon이라는 bone의 Scale을 0으로 만드니 또 다른 총이 있다는 것을 알게 되었다. 마찬가지로 hand_r에 붙어있는 pistol bone의 Scale을 조정하여 총이 보이지 않도록 하였다.
그리고 무기를 제거한 Skeleton을 사용하는 Skeletal Mesh를 새로 생성하였다.
Animation Retargeting
Mixamo, 에픽게임즈 제공 캐릭터, UE Sampel Project 등에서 애니메이션을 가져오고 리타게팅 하는 방법은 여러 포스팅에서 다뤘기 때문에 자세한 설명은 생략하려 한다.
Paragon 캐릭터에 많은 애니메이션과 Blend Space, Aim Offset이 들어있지만 필요로 하는 애니메이션만 우선 리타겟팅 하려 한다. 걷기, 상하좌우 보기(Aim Offset을 만들기 위한), 달리기, 피격 애니메이션만 Retargeting 후 Animation으로 Export 하였다.
Paragon 캐릭터에 근접무기 애니메이션이 없어 Mixamo에서 근접무기 관련 애니메이션 몇 개를 찾아 위에서 만든 무기를 제거한 Skeletal Mesh에 리타겟팅 하였다.
Create Project & Migration
이후 새 프로젝트를 만들고 개발하였던 스팀 멀티플레이 플러그인을 프로젝트에 추가하였다. (이전 포스팅 참고)
Lobby와 Transitiion 레벨을 간단하게 만들고 Packaging 할 때 포함하도록 추가해 두었다.
이후 Git 세팅을 마치고 사용할 무기 모델을 찾아보았다. 복잡한 애니메이션이 필요 없기 때문에 Sketchfab에서 이후 원하는 애셋을 찾아볼 예정이며 우선 마켓플레이스에서 리뷰가 많은 무료 애셋인 아래 두 콘텐츠를 프로젝트에 추가하였다.