본문 바로가기
Old/UE5

Animation

by onenewkong 2024. 1. 25.

Static Mesh와 Skeletal Mesh

먼저 Static Mesh는 메시 데이터가 고정되어 있어 변경이 불가능한 데이터이다. Skeletal Mesh는 메시 데이터와 뼈대 데이터로 나뉘어져 있고, 이를 이용해 애니메이션에 적용될 수 있다. 각 뼈대의 Bone을 이동 및 회전시킴으로써 팔다리를 움직일 수 있게 한다.

 

Bone / Rig / Skeleton

Bone: 뼈대의 뼈에 해당

Rig: 각 본들이 어떻게 연결되어 있는지를 나타냄

Skeleton: 뼈대 구조 목록과 각 본이 어떻게 연결되어 있는지에 대한 정보

  • 애니메이션을 가져와서 사용하려면 해당 애니메이션은 스켈레톤 정보가 필요함
  • 애니메이션 데이터(Animation Sequence) 자체가 본의 트랜스폼 정보를 키프레임에 저장한 것

 

Animation State Machine

특정 상태가 유한하게 나열되어 있고 각 상태 간의 흐름이 특정 조건에 따라 진행되도록 처리하는 구조이며 상태마다 하나의 애니메이션이 대응된다고 볼 수 있다.

 

Blend Space

float 타입의 매개변수 입력 값을 이용하여 해당 값에 의해 애니메이션 시퀀스들이 재생되도록 처리

  • 캐릭터의 이동 속도 값을 이용해 애니메이션 간의 전환 처리
  • 각 애니메이션 간의 전환이 부드럽게 혼합되도록 언리얼에서 알아서 처리해줌
  • 속도 벡터: 캐릭터가 향하는 방향으로부터 어느 방향으로 이동하고 있는지에 대한 값 저장
    • 벡터의 내적 활용
    • 단순히 전방을 나타내는 x축을 사용하지 않을 것 (캐릭터의 방향을 무시하게 됨)

 

Root Motion

스켈레톤의 루트 본의 애니메이션을 기준으로 하는 캐릭터의 동작

  • 대부분의 게임 내 애니메이션은 캐릭터 루트의 정지 상태를 유지하는 사이클을 통해 처리됨
  • 루트 모션을 제대로 사용하기 위해서는 캐릭터의 루트 본이 (회전 없이 0, 0, 0의) 원점에 있어야 함
  • 그래야 시스템이 애니메이션 적용 동작(캐릭터)에서 물리적 운동(캡슐)을 분리해낼 수 있음

'Old > UE5' 카테고리의 다른 글

RPC  (0) 2024.01.29
Network  (1) 2024.01.29
MyVox - Player Move(1)  (0) 2024.01.25
Reflection  (2) 2023.12.29
Garbage Collection  (0) 2023.12.28