Metaverse/UE5

Animation

onenewkong 2024. 1. 25. 19:37

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의) 원점에 있어야 함
  • 그래야 시스템이 애니메이션 적용 동작(캐릭터)에서 물리적 운동(캡슐)을 분리해낼 수 있음

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

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