* 테스트 환경
- 언리얼 엔진 버전 : 5.4.4
* Animation Retargeting 사용 목적
- 서로 다른 관절 구조 ( Skeletal mesh )를 가진 캐릭터끼리 애니메이션을 공유하기 위함.
예시) 키와 관절의 길이가 다른 거인의 춤을 작은 난쟁이가 같은 움직임을 가지게 할 수 있다.
장점 : 애니메이션 파일을 여러 개 만들지 않고, 공유하기에 메모리 사용량이 줄어 최적화에 도움이 된다.
단점 : 개성이 강한 특정 캐릭터에 지나치게 특화된 애니메이션에는 적용 못할 수 있다.
아래 사진처럼, 기본 캐릭터, 작고 뚱뚱한 캐릭터, 키 크고 마른 캐릭터처럼 서로 뼈대가 다른 캐릭터가 하나의 애니메이션을 공유해서 애니메이션이 될 수 있도록 하기 위한 기능.
* 애니메이션 공유로 인해 필요한 개념 ( IK Rig, IK Retarget )
- 한 캐릭터를 위해 만든 애니메이션을 다른 캐릭터에 적용한다고 할 때,
A 캐릭터가 원본 애니메이션을 가지고 있고, B 캐릭터는 A 캐릭터의 애니메이션을 가져와서 적용한다고 했을 때.
"A 캐릭터의 오른팔 움직임을 B 캐릭터의 오른팔에 적용시켜라." 이렇게 대응하는 부위가 있어야 한다.
여기서 A 캐릭터의 오른팔과 B 캐릭터의 오른팔은 어디 인가?라는 각각의 부위를 알려주기 위한 것이 IK Rig이다.
이렇게 만들어진 여러 부위들을 가지고 A 캐릭터의 각 부위를 B 캐릭터의 각 부위에 적용하기 위해
IK Retarget을 사용한다.
이 내용을 그림으로 표시하면 다음과 같다.
그림 설명에서 오른팔과, 오른 다리만 표시되어 있지만, 머리, 척추뼈, 골반뼈 등등 필요한 모든 부위도 같은 방식으로 지정 및 작동하게 된다.
구체적인 파일 설정 방법 ( IK Rig, IK Retarget )
* IK Rig 파일 설정
언리얼 콘텐츠 브라우저에서 우클릭 -> Animation -> Retargeting -> IK Rig를 눌러 IK Rig 파일을 만든다.
A 캐릭터와 B 캐릭터 각각 IK Rig 파일이 필요하기에 미리 두 개를 만들어 두면 편하다.
IK Rig 파일을 생성하고 파일을 열어보면, 아무것도 없다.
그래서 오른쪽 Detail 패널에서 Preview Skeletal Mesh에 애니메이션을 가져올 캐릭터의 Skeletal Mesh를 지정해 보면 아래 이미지처럼 Skeletal 구조와 캐릭터를 볼 수 있다.
애니메이션을 A 캐릭터에서 B 캐릭터로 대응하는 Retargeting을 하기 위해,
시작 지점이 되는 본(Bone)을 지정해 줘야 한다.
주로 pelvis를 지정해 주는데 지정하면,
이미지의 "Retarget Root : None"에서 "Retarget Root : Pelvis"가 된다.
캐릭터의 Skeletal Bone 범위를 지정해서 Retargeting을 위해 새로운 이름을 지어준다.
Skeletal Bone 한 개 혹은 연결된 여러 개의 Bone 이 하나로 묶이는 것이기에 Chain Name으로 되어있고,
Chain Name 은 시작 ( Start Bone )과 끝 ( End Bone )으로 이루어진다.
이제 만들어진 IK Rig를 캐릭터에 적용하기 위해 IK Retargeter 파일을 만든다.
IK Retargeter 파일을 만들면 위와 같은 모습이다.
여기서 만들어진 IK Rig 두 개가 필요하다.
애니메이션을 가져올 대상이 되는 캐릭터의 IK Rig ( IK Rig. Source라고 하겠음 )
애니메이션을 적용할 대상이 되는 캐릭터의 IK Rig ( IK Rig. Target라고 하겠음 )
IK Rig. Source와 IK Rig. Target 이 잘 적용되면,
오른쪽 아래의 Asset Browser에서 같은 애니메이션 동작을 확인 할 수 있다.
재미로 적용해 본 IK Rig. 영상 첨부.
'a01.UE5' 카테고리의 다른 글
언리얼 엔진 발전 방향과 하드웨어 ( 나나이트 ) (1) | 2025.01.01 |
---|---|
Fab 무료 애셋 ( 예전에 있던 언리얼 마켓플레이스 이달의 무료. 위치. ) (1) | 2024.12.16 |
[UE5] Nanite Displaced Mesh 사용하기 위한 기본 설정 (1) | 2024.11.03 |
[UE5] 유체 시뮬레이션 - Liquid Simulation (2) | 2024.10.21 |
[UE5] Fracture Obj - 부서지는 모델링 설정 (1) | 2024.10.14 |