-
블루아카이브 루트슈터 팬게임 프로젝트(16) - 플레이어 캐릭터 모델링 교체 & 리타겟팅루트슈터 프로젝트 2024. 1. 14. 21:12
안녕하세요. 오늘은 더이상 미룰 수는 없을 것 같아서 캐릭터 모델링을 블루아카이브의 캐릭터로 교체하기로 했습니다.
누구를 할까 조금 고민했지만 역시 간판 히로인(?)인 시로코가 제일 적당할 것 같아서 Booth에서 모델링을 구매했습니다.
https://mirin-setokuma.booth.pm/items/2840468
가격은 5000엔, 엔저라 다행이네요
제가 이번에 한 일의 순서는 다음과 같습니다
1. 구매한 모델링에서 메쉬(텍스쳐 포함)만 추출
2. mixamo에서 자동 리깅(스켈레톤, 뼈대 부여)
3. 블렌더 에드온을 통해 root본 추가
4. 언리얼에 임포트
5. 리타게팅을 통해 기존의 언리얼 마네킹의 애니메이션을 시로코가 사용할 수 있는 애니메이션으로 변환
6. 시로코의 애니메이션 블루프린트 제작 후 적용
뭔가 많아보이지만 mixamo와 리타게팅 기능이 알아서 다 해주기 때문에.. 이거 2개가 없었으면 전 이미 이 프로젝트를 접었을지도 모르겠네요..
일단 제일 먼저 구매한 모델링을 블렌더로 가져온 후 fbx로 다시 메시만 남긴채로 추출합니다. 이 모델링에는 스켈레톤도 전부 존재하지만 저는 사용하지 않기로 했습니다.
그리고 mixamo에 모델을 등록하면서 자동으로 리깅을 해주면 됩니다. 하지만 여기서 문제가 있다면 mixamo에서 리깅되서 나오는 스켈레톤은 root 뼈가 없다는 것입니다. root본이 없다면 애니메이션의 모션에 따라서 캐릭터의 캡슐콜리전이 움직이지 않기 때문에, 예를 들자면 먼곳으로 점프하는 애니메이션을 시작하고 나서 애니메이션이 끝나고 시작점으로 다시 돌아가는 문제가 생깁니다.
https://youtu.be/NwKvyhQAM_k?si=KGrvzVBO0WUaAC_y
그렇기 때문에 누군가가 블렌더에서 root 본을 추가해줄 수 있도록 확장 프로그램을 만들어놓았습니다. 자세한 내용은 이 동영상을 참고해주세요.
이렇게 root본까지 추가했다면 이제 언리얼에 임포트 해주시면 됩니다. 임포트는 그냥 언리얼의 원하는 경로에 드래그 하시면 됩니다. 아니면 임포트 버튼을 통해 추가도 가능합니다.
모델링을 임포트 해줬으니 다음은 리타게팅을 하면 됩니다. 리타게팅이 뭐냐하면, 쉽게말해 스켈레톤이 다른 애니메이션을 사용할 수 있게 해주는 기능이라고 하면 됩니다. 보통 3D 모델링은 전부 스켈레톤의 구조가 다르기 때문에 직접 다른 구조의 애니메이션을 적용하려고 하면 오류가 생깁니다. 따라서 리타게팅을 통해 이를 조정해서 사용할 수 있는 애니메이션으로 변환할 수 있게 해주는겁니다.
이제, 내가 원하는 애니메이션의 스켈레톤을 "소스" 라고 하고 내가 사용하고자 하는 스켈레탈 메시의 스켈레톤을 타깃이라고 하겠습니다. 여기서는 마네킹의 스켈레톤이 소스이므로 마네킹의 스켈레톤으로 들어가 리타깃 소스를 열어 리타깃 소스에 추가해줍니다.
그리고 마네킹(소스)의 스켈레톤 트리를 보시면 root와 pelvis까지의 트랜슬레이션 리타기팅만 애니메이션이고 나머지는 전부 스켈레톤인것을 알 수 있습니다.
따라서 시로코(타겟)의 스켈레톤에서도 이와 똑같이 세팅을 해주면 됩니다. root와 pelvis 사이에 ik본이 없는건 무시하셔도 됩니다. 결과에 영향을 주지 않습니다.
그 다음 소스와 타깃 모두 IK Rig 파일을 생성해줍니다. 컨텐츠 드로어에서 우클릭 후 고급에셋 -> 애니메이션-> 리타기팅->IK Rig를 눌러주시면 됩니다.
IK Rig란 리타기팅을 위해 "이 스켈레톤의 어디서부터 어디까지가 머리인지, 어디서부터 어디까지가 왼쪽 팔인지..." 등등을 지정해주는 일종의 설정파일이라고 생각해주시면 됩니다.
저는 머리, 척추, 왼쪽 오른쪽 팔다리, 그리고 손가락 왼쪽 오른쪽 10개 전부를 지정해주었습니다. 만약 손가락까지 자세하게 소스 애니메이션을 따라할 필요가 없는 분들은 손가락은 굳이 지정안해주셔도 됩니다. 그리고 리타깃 루트에 pelvis를 설정해주시는것도 잊으시면 안됩니다.
소스와 타깃 전부 IK Rig 파일을 생성하여 설정해주시면 됩니다.
그리고 리타게팅 파일을 생성하여 디테일의 소스와 타깃에 IK Rig 파일을 넣어주시면 됩니다.. 만!
여기서 중요한 것은 타깃 스켈레톤의 베이스 포즈를 최대한 소스와 비슷하게 설정할것 입니다. mixamo에서 추출한 3d 모델은 기본적으로 T포즈를 하고 있으나 마네킹 스켈레톤은 기본 포즈가 A포즈(위의 사진과 같이 45도 각도만 팔을 벌린것) 이기 때문에 타깃의 베이스 포즈를 최대한 소스와 비슷하게 바꿔주는것이 중요한 포인트 입니다. 이걸 안하면 이상하게 동작됩니다.
하는 방법은 Running Retarget 버튼 오른쪽의 ...을 눌러서 리타깃 포즈 편집을 눌러 편집하시면 됩니다. 최대한 할 수 있는 만큼 비슷하게 만들어주세요.
그리고 체인 매핑에서 IK Rig 파일에서 설정한 타깃 체인을 엮어주시면 됩니다.
결과물입니다. 마네킹을 따라서 시로코가 부드럽게 잘 움직이는 것을 알 수 있습니다. 오른쪽 밑에 원하는 애니메이션을 골라서 임포트 하시면 됩니다.
애니메이션 블루프린트를 만드는 과정은 기존의 마네킹 애니메이션 블루프린트에서 애니메이션 시퀀스, 에임 오프셋 등만 바꿔주면 되므로 과정은 생략하겠습니다.
결과물입니다. 귀여운 시로코가 총을 쏘는게 정말 맘에 드네요. 이제서야 진짜 블루아카이브의 팬게임을 만든다고 말할 수 있을 것 같습니다.
오늘은 이만 줄이겠습니다. 이제 슬슬 더더욱 게임으로 보일 수 있도록 좀 더 포장해야겠네요.
'루트슈터 프로젝트' 카테고리의 다른 글
블루아카이브 루트슈터 팬게임 프로젝트(18) - 적 스폰 시스템 & 웨이브 게임모드(2) (0) 2024.01.19 블루아카이브 루트슈터 팬게임 프로젝트(17) - 체력 컴포넌트 교체 (0) 2024.01.17 블루아카이브 루트슈터 팬게임 프로젝트(15) - 적 스폰 시스템 & 웨이브 게임모드(1) (1) 2024.01.14 블루아카이브 루트슈터 팬게임 프로젝트(14) - 플레이어 레벨, 경험치 시스템 (0) 2024.01.12 블루아카이브 루트슈터 팬게임 프로젝트(13) - 체력, 잔탄 UI (1) 2024.01.11