[UE5] Animation Retargeting

GamzaTori·2024년 10월 16일

UE5 C++

목록 보기
13/27

Animation retargeting은 캐릭터의 모션 데이터를 다른 캐릭터에 맞게 자동으로 변환하는 기술

Rig 만들기

  • 우클릭 → Animation → Retargeting → IK Rig

Retarget Chain 만들기

  • Bone 선택 → 우클릭 → New Retarget Chain 혹은 IK Retargeting → Add New Chain

  • 만들어둔 IK_Rig을 통해 Retargeter 만들기
    • 우클릭 → Animation → Retargeting → IK Retargeter

원본이 되는 IK와 타겟이 되는 IK를 설정해주면 만들어준 Chain을 기반으로 리타게팅이 된다

이후 사용하고자 하는 애니메이션을 Export 해주면 리타게팅 된 애니메이션을 사용할 수 있다

IK(Inverse Kinematics)

  • 캐릭터의 뼈대를 효율적으로 움직이기 위해 사용되는 기술
  • IK는 주어진 목표 지점에 도달하기 위해 뼈대를 계산하여 자연스러운 애니메이션을 구현합니다
  • 이 과정에서 IK-Goal과 IK-Bone은 중요한 역할을 합니다

IK Goal

  • IK가 적용될 때 캐릭터의 특정 부분이 도달해야하는 목표 지점
  • 예를 들어, 캐릭터가 손을 특정 위치로 이동시켜야 할 때 그 손의 위치가 IK Goal이 됩니다
  • IK 시스템은 뼈대를 자동으로 조정하여 해당 목표 위치에 도달하도록 계산합니다
  • 해당 Bone을 우클릭 -> New IK Goal을 통해 IK Goal을 추가할 수 있습니다.

  • 양 손과 발에 IK Goal 추가

IK Bone

  • IK 시스템이 영향을 미치는 뼈로 해당 뼈는 IK Goal에 도달하기 위해 움직이는 뼈대의 일부로 일반적으로 캐릭터의 팔이나 다리에 해당
  • IK 시스템은 이 뼈들의 회전 및 변위를 계산하여 자연스럽게 목표 지점에 도달할 수 있도록 계산합니다
  • 예를 들어, 손목이 IK Goal에 맞춰야 할 때 손목 뼈(IK Bone)은 IK 시스템이 계산하여 회전 및 이동
  • 손목뿐만 아니라 손목을 지탱하는 팔, 어깨 등 여러 뼈들도 IK Bone에 포함되어 계산될 수 있습니다

  • 해당 Bone 우클릭 -> Set Root bone on Selected Solver로 IK Bone 설정이 가능합니다

IK의 작동 방식

  • 기본적으로 애니메이션 시스템에서 FK(Forward Kinematics)는 부모 뼈의 움직임이 자식 뼈에 영향을 미치는 방식
  • IK는 반대로 자식 뼈(손목, 발목)을 목표 위치로 먼저 움직이고 그 결과 부모 뼈들(팔, 다리 등)이 자연스럽게 그 목표를 향해 움직이도록 계산하는 방식
profile
게임 개발 공부중입니다.

0개의 댓글