[UE4] 애니메이션 개요(스태틱메시, 스켈레탈메시, 애니메이션 시퀀스)

SunowMin·2023년 12월 12일
0

Unreal

목록 보기
4/22

목차

  1. 스태틱메시(Static Mesh)
  2. 스켈레탈메시(Skeletal Mesh)
  3. 애니메이션 시퀀스(Animation Sequence)




1. 스태틱메시(Static Mesh)

  • 메시데이터가 고정되어 있어 변경이 불가능한 데이터
  • ex) 큐브




2. 스켈레탈메시(Skeletal Mesh)

  • 메시 데이터와 뼈대 데이터로 나누어져 있음
  • 이를 이용해 애니메이션 적용 가능
    ex) 각 뼈대의 본(Bone)을 이동 및 회전시킴으로써 팔다리를 움직인다



2-1. 구조

  • 언리얼 마켓플레이스에서 다운받은 무료 에셋인 'AnimStarterPack'이다.

2-1-1. Skeleton

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

  • 'SK_Mannequin'을 보면 오른쪽 상단에 'Skeleton, Mesh,Animation, Blueprint, Physics'에 해당하는 도구모음이 있고 각 버튼을 틀릭하면 해당 에셋의 편집기 창으로 이동한다.
  • Skeleton 왼쪽 창에서는 스켈레톤의 구성이 어떻게 되어있는지 뼈대 목록이 계층 구조로 나와있다.
  • 해당 뼈대의 뼈에 해당하는 부분을 '본(Bone)'이라 하며, 각 본들이 어떻게 연결되어 있는지를 나타내는 것을 '리그(Rig)'라고 한다.
    (리그 정보 확인 : 뷰포트 창의 [Character]-[Bones]-[All Hierarchy]

2-1-2. Mesh

  • 왼쪽 창의 정보가 두 가지로 나누어져 있음
  1. Asset Details : 시각화 정보를 나타내는 요소들 (스켈레탈메시의 머티리얼 정보와 LOD(레벨오브디테일, 메시 모델의 정밀도를 단계별로 나타냄)설정 등을 볼 수 있음)
  2. Skeleton Tree창 : 앞에서 보았던 스켈레톤 정보 표시

결론

  • 스켈레탈메시 데이터 : 스켈레톤 + 메시 데이터

=> 스켈레톤 정보를 이용하여 메시를 애니메이션하는 것이기 때문에 애니메이션을 가져와서 사용하려면 해당 애니메이션은 스켈레톤 정보가 필요하다.
(애니메이션 자체가 본의 트랜스폼 정보를 키 프레임에 저장하고 있는 형태)




3. 애니메이션 시퀀스(Animation Sequence)

: 언리얼엔진에서 애니메이션 데이터를 부르는 용어


3-1. 단일 애니메이션 적용 방법

애니메이션을 플레이어한테 적용시키는 2가지 방법


3-1-1. 애니메이션 시퀀스 데이터를 직접 재생


애니메이션 적용을 원하는 캐릭터의 블루프린트 에디터를 열어서 Mesh 컴포넌트 선택한다.
Animation - Animation Mode를 Use Animation Asset으로 변경 - Anim to Play에서 원하는 에셋 선택

단점 : 현재 애니메이션 시퀀스가 아닌 다른 애니메이션 시퀀스를 사용하려고 하면 계속해서 데이터를 교체해 주어야 함
(이 단점을 극복하기 위해 애니메이션 블루프린트 사용)


3-1-2. 블루프린트를 이용하여 재생

애니메이션 재생에 관한 전체적인 설계를 하고, 이를 코드로직과 결합하여 제어까지 하도록 도움
Animation - Animation blueprint


원하는 애니메이션 선택


애니메이션 블루프린트 이름은 'ABP_OOO'으로 설정


블루프린트 - Asset Browser - 원하는 애니메이션 선택 - 애니메이션 시퀀스의 출력핀을 'Output Pose'의 Result핀에 연결 - 컴파일하면 뷰포트 창에 애니메이션 적용되는 걸 확인


적용하고자 하는 캐릭터의 블루프린터로 이동 - Mesh 선택


Animation - Animation Mode를 Use Animation Blueprint로 설정 - Anim Class를 아까 생성한 블루프린트로 선택




3-2. 애니메이션 상태 머신 이용해서 각 상태별로 애니메이션 적용

상태머신만을 이용해 전체 애니메이션 흐름을 모두 제어할 수 있는 것은 아니지만, 이로 인해 애니메이션 간의 흐름 전환을 설계하는 데 아주 좋은 이점을 얻을 수 있다.

Anim Graph에서 [Add New State Machine] 노드 연결 - 이름을 New State Machine에서 MoveFSM으로 변경

MoveFSM으로 이동해서 FSM 구현 (현부는 C++ 클래스로 진행)





해당 포스팅은『인생 언리얼 교과서 2권』교재를 참고하여 작성하였습니다.
profile
게임, AR, VR 개발자

0개의 댓글

관련 채용 정보