건전한 건전지
article thumbnail
728x90
반응형

개발을 하다보면 모델링, 디자인 파트에서 막히는 부분이 많을 것 같다.

다양한 애니메이션들은 많지만 단순히 에셋을 적용시키는 방법으로는 한계가 있는데, 다른 애니메이션을 나의 캐릭터 에셋에 옮겨 적용하는 애니메이션 리타게팅이라는 방법을 정리해보려고 한다.

 

먼저 애니메이션과 캐릭터를 무료로 다운받을 수 있는 믹사모에서 소스 캐릭터를 받아준다. www.mixamo.com

 

굉장히 다양한 캐릭터와 애니메이션이 있는데, TPS 게임 형식의 사람 메시로 복습을 해볼 것이므로 사람의 형태를 가진 캐릭터를 받으면 된다.

 

나는 Leonard를 골랐다.

 

그리고 상단에 애니메이션 탭으로 넘어가 내 캐릭터에 적용시키고 싶은 애니메이션을 골라준다.

 

 

나는 촐랑거리면서 뛰는 Goofy Running을 골랐다.

 

위 사진의 우측 탭을 만져서 팔을 더 벌리거나 더 빨리 뛰거나 등등 다양한 파라미터를 조절할 수 있다.

해당 값을 조정한 후 다운로드를 받으면 본인이 설정한 값대로 애니메이션이 다운로드된다.

그리고 중요한 점은 In Place 체크 박스가 있는 애니메이션은 앞으로 이동을 하는데, 꼭 In Place 체크를 하여 런닝머신을 타듯이 이동하게 만든 후 다운로드를 눌러준다.

 

다운로드를 누르면 해당 창이 나오는데, Format은 그대로 놔둔다.

우리의 커스텀 캐릭터에 애니메이션만 적용할 것이기 때문에 without Skin으로 바꾸어주고 Frame도 그냥 그대로 놔두었다.

 

그리고 다운 받은 에셋들을 커스텀 폴더에 옮겨주어야 한다.

본인이 사용하고 있는 프로젝트 폴더에 에셋 폴더를 하나 생성하고 그 안으로 옮겨주자.

 

폴더를 하나 만들고 다운 받은 것들을 옮기기

 

아까 다운받은 캐릭터 이름은 Leonard로 바꿔주었음

언리얼 엔진 에디터 내부에서 폴더를 하나 만들고 아까 다운 받은 캐릭터를 먼저 임포트해주자.

 

에셋에 따라서 에러가 날텐데 그냥 무시해도 되는듯?

 

 

Leonard가 정상적으로 임포트된 모습

 

다음으로는 우리가 사용하고 싶은 애니메이션을 똑같이 임포트해 주는데, 스켈레톤은 방금 임포트한 캐릭터의 스켈레톤으로 골라주어야 한다.

 

Leonard 스켈레톤 선택해주기

 

Leonard 캐릭터에 적용된 Goofy Running (진격의 거인)애니메이션 시퀀스가 자동으로 생성된다.

 

 

콘텐츠 브라우저에서 마우스 오른쪽 버튼을 클릭하고 [애니메이션 -> IK 릭 -> IK 릭] 을 생성해준다.

메시를 고르라는 창이 뜰텐데, Leonard를 골라주면 된다.

 

생성한 IK Rig을 열어주면 우리가 임포트한 캐릭터가 팔을 대자로 벌리고 있을 것이다.

 

이제부터 내가 사용하던 캐릭터의 뼈와 Leonard의 캐릭터 뼈를 대응시켜줄 것이다.

그러기 위해서는 머리, 손, 발 등으로 캐릭터의 뼈를 분리해주는 작업이 필요하다.

 

엉덩이 뼈가 루트 노드인 모습

왼쪽의 계층 구조에서 나와있듯이 Leonard 캐릭터의 Root Bone은 Hips이다.

이제 엉덩이 뼈를 우클릭해주고 리타깃 루트로 설정해준다.

이제부터 모든 뼈들을 그룹화 시켜줄 것이다.

캐릭터에 있는 수 많은 뼈의 모습, 뼈의 모습은 [캐릭터 -> 본 그리기 -> 모든 계층 구조]를 선택하면 볼 수 있다.

엉덩이 뼈를 기준으로 척추, 머리, 왼쪽 팔, 오른쪽 팔, 왼쪽 손가락 각각 5개, 오른쪽 손가락 각각 5개, 왼쪽 다리, 오른쪽 다리로 나눌것이다. 반복되고 오래걸리는 작업이다.

 

먼저 척추에 해당하는 뼈들을 쉬프트로 한 번에 묶은 다음 리타깃 체인 생성을 누른다.

그럼 아래 사진과 같은 창이 뜰 것인데, UE 5.1에서는 해당 뼈가 속한 트리의 최상위 노드 이름을 자동으로 지정해준다. 혹시나 뼈의 이름과 완전히 다른 이름이라면 고쳐주고 확인을 눌러주자.

확인을 누르면 목표를 추가하냐는데 난 뭔지 잘 몰라서 전부 목표 없음으로 해줄 것이다

뭐라고 뜨는데 뭔지 모름.. 아시는 분 알려주세요.

 

왼쪽 Hierarchy 창에는 내가 그룹화한 뼈들이 나오고, 오른쪽에는 그 그룹이 한데 모여 체인을 형성하였다.

 

이제 머리부터 발 끝까지 진행해주면 된다.

팔은 Hand까지 4개를 할거임

손가락은 각각 4개의 뼈를 왼손, 오른손 합쳐서 10번의 작업을 진행해야한다. (그래야 물건을 집는 애니메이션도 제대로 사용할 수 있음)

이렇게 4개가 한 묶음
사진에는 없지만 오른쪽 손가락도 하나하나 다 해야함
발까지 전부 설정하였다.

Leonard의 IK Rig을 저장해주고 다른 우리가 적용 시키길 원하는 캐릭터의 IK Rig을 생성해주자.

 

나는 기본 캐릭터인 SK_Mannequin으로 선택하였다.

 

이 캐릭터는 골반뼈 (Leonard는 hips) 위에 root가 있는데, 같은 뼈인 pelvis를 리타깃 루트로 설정해주자.

그리고 다리 뼈 리타깃 체인 생성 전까지 아까 했던 작업을 반복한다. (중간에 나오는 twist 뼈는 빼줌)

 

머리까지 리타깃 체인을 했다면 이렇게 나올텐데, 먼저 thigh부터 ball까지 리타깃 체인을 생성하자.

 

몇개가 더 뜰거임

그러면 확인을 눌렀는데도 체인 추가 창이 하나 더 뜰 것이다.

이건 아까 말했던 twist bone 때문에 그런데 이 뼈가 다리뼈 중간에서 계층구조를 깨지게 해서 그런 것 같다.

 

하나 더 생성된 LeftLeg_0 리타깃 체인은 삭제해주고

LeftLeg의 끝 본을 ball_l로 맞춰주자. 그러면 다리가 온전히 하나의 체인으로 구성된다.

 

반대편도 다 진행해주면

 

이렇게 정리가 된다... 이제 저장을 해주자.

 

다시 컨텐츠 브라우저에서 오른쪽 마우스 클릭 후 [애니메이션 -> IK 릭 -> IK 리타기터] 를 생성해주자.

에셋은 IK_Leonard를 선택한다.

 

이런 창이 열리는데 우측의 타깃 IK 릭 에셋에서 우리가 적용시키고자하는 캐릭터의 IK릭을 매핑시킨다. (아까 만든거)

 

그럼 이렇게 캐릭터가 하나 더 나오는데, 우선 프리뷰 세팅 탭의 타겟 메시 오프셋으로 서로 겹치지 않게 만들어주자.

 

그 다음 우측 하단에 우리가 믹사모에서 다운 받은 애니메이션을 실행시켜보면

우리의 기존 캐릭터가 끔찍한 모습으로 달리는것을 볼 수 있다... 이건 서있는 팔의 각도가 달라서 그러는 것이다.

 

우측에서 생성을 눌러주자.

이름을 아무렇게나 짓고, 편집모드로 들어가면 메시의 본을 회전시키거나 이동시킬 수 있게 된다.

 

뼈가 안 보인다면 프리뷰 창의 캐릭터 -> 본 그리기 -> 모든 계층 구조를 선택하자.

양팔을 잡아서 Leonard처럼 직각으로 세워주자.

편집모드를 종료해주고, 우측 하단의 Goofy_Running 애니메이션을 다시 클릭해주면......

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

이제 우측 하단의 애니메이션을 선택하고 익스포트해주면 기존 캐릭터에서 사용할 수 있다.

 

 

잘 달리는 모습.

생성된 애니메이션

 

 

틀린 정보가 있다면 지적부탁드립니다.

728x90
반응형
profile

건전한 건전지

@건전한 건전지

나는 언리얼의 왕이 될 남자다 👑