언리얼 엔진은 하나의 캐릭터에서 다른 캐릭터로 애니메이션을 리타기팅하는 유연한 툴을 제공합니다. 이러한 방법 중 하나가 바로 IK 릭 및 IK 리타기터를 함께 사용하는 것입니다. 이 둘을 함께 사용하면 스켈레톤 계층구조 및 비율이 현저히 차이나는 캐릭터들을 리타기팅할 수 있습니다. 애니메이션 리타기팅은 여러 다양한 스켈레톤 간에 애니메이션 데이터를 공유하는 방법 중 하나로, 언리얼 엔진 외부에서 새로운 애니메이션을 생성하고 관리하지 않아도 됩니다.
이 문서는 이러한 툴을 사용하여 두 개의 서로 다른 이족보행 캐릭터 간에 애니메이션을 리타기팅하는 방법을 전반적으로 살펴봅니다.
전제 조건
- 프로젝트에 최소 2개의 서로 다른 이족보행 캐릭터가 포함되어 있어야 합니다. 이 예시에서는 3인칭 템플릿 및 스택오봇에서 얻을 수 있는 언리얼 엔진 마네킹을 사용합니다.
- 두 캐릭터가 서로 다른 스켈레톤 에셋 및 본 계층구조를 가지고 있어 이 방법으로 리타기팅하는 것이 가장 합리적이어야 합니다. 캐릭터가 서로 비슷한 비율 및 계층구조를 보유한 경우 호환되는 스켈레톤을 사용하는 것이 더 나을 수 있습니다.
소스 및 타깃 IK 릭 구성
IK 릭을 사용하여 리타기팅하려면 소스 및 타깃 스켈레탈 메시가 필요합니다. 이는 각 메시에서 IK 릭 에셋 을 통해 정의할 수 있습니다. 그러므로 먼저 각 캐릭터의 리타기팅 과정에 사용될 IK 릭 을 생성해야 합니다.
- 콘텐츠 브라우저(Content Browser)를 열고 추가(Add (+)) > 애니메이션(Animation) > IK 릭(IK Rig) > IK 릭(IK Rig) 을 클릭합니다.
- 릭을 추가할 스켈레탈 메시를 선택합니다.
- 두 캐릭터에 모두 이 과정을 반복한 후 각 IK 릭 에셋을 엽니다.
리타깃 루트
두 IK 릭 에셋 내에서 각 캐릭터를 위한 루트 를 정의해야 합니다. 주로 골반 또는 엉덩이 본이 루트가 됩니다. 이 작업은 캐릭터의 루트 모션을 정의하고 비율에 맞는 방식으로 이전하기 위한 작업입니다.
계층구조(Hierarchy) 패널에서 본을 우클릭하고 리타깃 루트 설정(Set Retarget Root) 을 선택합니다. 이 작업을 두 IK 릭 에셋에서 실행합니다.
이 과정을 완료했다면 선택한 본이 계층구조(Hierarchy) 및 IK 리타기팅(IK Retargeting) 패널에 리타깃 루트(Retarget Root) 임을 표시합니다.
리타깃 체인
리타깃 과정에서 이동하고 싶은 팔다리 및 다른 부속물도 소스 및 타깃 IK 릭에서 모두 정의해야 합니다. 이는 Autodesk MotionBuilder 또는 Maya와 같은 다른 애플리케이션에서 릭을 캐릭터라이징 하는 것과 유사합니다. 가장 큰 차이점은 개별 본이 아니라 조인트 체인 으로 정의한다는 것입니다. 이는 본 구조가 전혀 다른 캐릭터를 리타기팅할 때 유연성을 제공합니다.
리타기팅할 모든 주요 팔다리에 대해 체인을 생성해야 합니다. 손가락과 같은 부가적인 팔다리 부분의 체인 생성은 선택사항입니다. 이 예시에서는 두 IK 릭에서 모두 다음 체인을 생성하게 됩니다.
- 척추
- 왼팔
- 오른팔
- 목
- 머리
- 왼다리
- 오른다리
다음 단계를 따라 체인을 생성합니다.
- 계층구조(Hierarchy) 패널에서 체인의 첫 번째 본을 선택한 후 체인의 마지막 본까지 계층구조 아래의 모든 본을 선택합니다.
- 본을 우클릭하고 선택된 본에서 신규 리타깃 체인 생성(New Retarget Chain from Selected Bones) 을 선택합니다.
- 새 리타깃 체인 추가(Add New Retarget Chain) 다이얼로그 창에서 체인 이름(Chain Name) 이 올바르게 설정되었는지 확인한 후 확인(OK) 을 클릭합니다. 대부분의 경우 IK 릭은 일반 체인 이름 목록에서 이 값을 자동으로 할당합니다.
- 새 체인에 목표 추가(Add Goal to New Chain) 대화창에서 목표 없음(No Goal) 을 선택합니다. 일반적으로 속력 플랜팅, 스트라이드 워핑 또는 소스에 블렌드(Blend to Source) 와 같이 리타기팅에 추가적인 IK 조정이 필요한 경우가 아니라면 IK 목표를 추가할 필요가 없습니다.
두 IK 릭 에셋의 모든 주요 체인에서 이 단계를 반복합니다. 이 단계를 완료하면 IK 리타기팅(IK Retargeting) 패널에 여러 개의 체인이 나타납니다.
체인이 단일 본으로 구성될 수도 있습니다. 어깨, 목 또는 머리 본과 같은 일부 사례가 여기에 해당합니다. 이 경우에도 계층구조(Hierarchy) 패널에서 단일 본을 우클릭하고 선택된 본에서 신규 리타깃 체인 생성(New Retarget Chain from Selected Bones) 을 선택하면 됩니다. 체인 엔트리는 시작 본(Start Bone) 및 끝 본(End Bone) 필드에서 정의된 동일한 본을 갖게 됩니다.
IK 리타기팅
필수적인 본 체인을 생성한 이후 IK 리타기터(IK Retargeter) 에서 리타기팅 프로세스를 시작할 수 있습니다. IK 리타기터는 소스 및 타깃 IK 릭을 모두 참조하는 에셋입니다. IK 리타기터 에디터에서 소스 및 타깃 간에 애니메이션을 전송할 방법을 커스터마이징할 수 있습니다.
IK 리타기터 생성 및 구성
다음 단계를 수행하여 IK 리타기터를 생성합니다.
- 콘텐츠 브라우저(Content Browser)에서 추가(Add (+)) 를 클릭한 후 애니메이션(Animation) > IK 리타기터(IK Retargeter) 를 선택합니다.
- 다이얼로그 창이 나타나면 애니메이션을 리타깃할 IK 릭을 선택합니다.
- 릭을 선택한 후 새 IK 리타기터 에셋의 이름을 명명한 후 더블클릭하여 IK 리타기터 에디터에서 엽니다.
IK 리타기터 에디터는 뷰포트 및 소스 IK 릭 에셋(Source IKRig Asset) 프로퍼티에서만 소스 스켈레탈 메시를 표시합니다. 타깃 캐릭터를 추가하려면 타깃 IK 릭 에셋(Target IKRig Asset) 드롭다운 메뉴를 클릭하여 타깃 IK 릭을 선택합니다.
리타기팅 전 체크리스트
계속하기 전에 올바르고 정확한 리타기팅 프로세스를 위해 확인해야 할 몇 가지 사항이 있습니다.
-
체인 매핑(Chain Mapping) 패널에서 타깃(Target) 및 소스 체인(Source Chains) 이 일치하는지 확인해야 합니다. 대부분의 경우 이름이 자동으로 일치됩니다. 일치하지 않는 경우 소스 체인(Source Chain) 드롭다운 메뉴를 클릭하고 체인 할당이 타깃 체인(Target Chain) 과 일치하도록 변경합니다.

-
두 캐릭터의 레퍼런스 포즈가 일치하는지 확인해야 합니다. 예를 들어 하나의 캐릭터는 T 포즈이고 다른 캐릭터는 A 포즈로 레퍼런스 포즈가 다른 경우, 리타깃 포즈 중 하나를 조정하여 일치시켜야 합니다.

-
선택사항으로 디테일(Details) 패널에서 오프셋 및 스케일 세팅을 조정하여 소스 및 타깃 스켈레톤을 더 쉽게 볼 수 있습니다.

리타기팅 프리뷰
에셋 브라우저(Asset Browser) 패널에서 애니메이션을 더블클릭하면 다양한 애니메이션 시퀀스에서 리타기팅 이펙트를 미리 볼 수 있습니다.
리타기팅 결과 익스포트
타깃 캐릭터의 리타기팅 결과에 만족했다면 애니메이션을 캐릭터의 스켈레톤과 호환되는 애니메이션 시퀀스로 익스포트할 수 있습니다. 그러려면 에셋 브라우저(Asset Browser) 패널에서 익스포트할 애니메이션을 선택하고 선택된 애니메이션 익스포트(Export Selected Animations) 를 클릭합니다.
대화창에서 익스포트 경로를 지정하고 확인(OK) 을 클릭하여 애니메이션을 익스포트합니다. 이제 출력 폴더의 접미사 _Retargeted 가 붙은 파일로 리타기팅된 애니메이션을 이용할 수 있습니다.
모션 다듬기
사실적인 모션 캡처 애니메이션을 비현실적인 캐릭터에 리타기팅하는 경우, 결과물의 애니메이션이 올바르지 않거나 이상해 보일 수 있습니다. 이 부분은 다소 주관적일 수 있지만, 특정 캐릭터 모션을 꾸미거나 다듬는 몇 가지 추가적인 단계를 수행하면 보다 적합한 외형을 만드는 데 도움이 됩니다.
예를 들어, 리타기팅된 로봇 캐릭터에서 달리는 애니메이션을 미리 볼 경우 캐릭터에 반동을 더 추가하고 싶을 수 있습니다. 다음 단계는 이 작업을 수행하는 방법을 자세히 설명합니다.
![]() |
![]() |
|---|---|
| 원본 리타기팅 결과 | 세팅을 조정한 리타기팅 |
IK 목표 생성
첫 번째 단계는 IK 목표를 생성하는 것으로, 반동을 추가할 때 발이 그라운드에 안정적으로 고정되게 하는 것입니다.
아직 생성된 IK 목표가 없다는 가정하에, 타깃 캐릭터의 IK 릭 에셋을 엽니다. 계층구조(Hierarchy) 패널에서 발 본 중 하나를 우클릭하고 새 IK 목표(New IK Goal) 를 선택합니다.
다음 프롬프트에서 림 IK 가 솔버로 설정되어 있는지 확인하고 솔버 추가(Add Solver) 를 클릭한 후 목표 할당(Assign Goal) 을 클릭합니다.
그런 다음 새로 생성한 림 IK 솔버가 솔버 스택(Solver Stack) 패널에서 선택되어 있는지 확인한 후 허벅지 본을 우클릭하고 선택된 솔버에 루트 본 설정(Set Root Bone on Selected Solver) 을 선택합니다.
다른 쪽 다리에도 위의 단계를 똑같이 수행하여 총 2개의 IK 목표 및 림 IK 솔버를 갖습니다.
IK 리타기터 루트 세팅
그런 다음 IK 리타기터 에셋으로 돌아가 뷰포트에서 루트 디버그 시각화를 선택하거나 체인 매핑(Chain Mapping) 패널에서 루트 세팅(Root Settings) 을 클릭하여 루트 세팅을 엽니다.
수정할 두 개의 프로퍼티는 수평 스케일 조절(Scale Horizontal) 및 이동 오프셋 Z(Translation Offset Z) 입니다.
-
수평 스케일 조절(Scale Horizontal) 은 리타깃 루트에서 애니메이션 커브의 전반적인 스케일을 확장하며, 주로 골반이나 엉덩이 본에 적용됩니다. 이렇게 하면 캐릭터의 전반적인 수직 모션이 커지지만, 캐릭터가 바닥에서 더 높이 솟아오를 수도 있습니다.
-
이동 오프셋 Z(Translation Offset Z) 는 이 부분을 보완합니다. 이동 오프셋 Z 값을 줄이면 리타깃 루트 값도 줄어들지만 전반적인 스케일에는 영향을 미치지 않습니다.
이 두 가지 프로퍼티를 함께 사용하면 리타기팅된 캐릭터의 위아래 반동을 늘릴 수 있습니다. 프로퍼티 값을 늘리거나 줄이는 정도는 캐릭터 및 애니메이션에 따라 다릅니다.
이 예시에서는 원하는 수준의 반동을 얻기 위해 이동 오프셋 Z(Translation Offset Z) 를 -173 으로, 수직 스케일 조절(Scale Vertical) 은 6 으로 설정했습니다.


