스토리텔링 개발자

[UE4] 애니메이션 에셋(Animation Asset) 본문

개발/언리얼 엔진

[UE4] 애니메이션 에셋(Animation Asset)

김디트 2022. 1. 27. 18:24
728x90

개요

언리얼의 에니메이션 에셋이라고 하면 종류가 다양합니다.

 

애니메이션 시퀀스, 몽타주, 애님 BP..

 

사실 이름만으로는 각자 어떤 역할인지 감을 잡기가 힘듭니다.

그래서 정리해 봤습니다.

 

 

 

상세

 

애니메이션 시퀀스

 

왠지 애니메이션이라면 모션을 재생시키는 걸 연상하게 됩니다.

걷기나 달리기 등등의 것들이 있겠죠.

 

애니메이션 시퀀스가 바로 그런 에셋입니다.

모션 하나에 대한 애니메이션 에셋입니다.

풀어서 설명하면 스켈레탈 메시에 재생할 수 있는 단일 애니메이션 에셋입니다.

 

외부 3D 모델에서 만든 후 언리얼로 임포트해서 만들어집니다.

 

애니메이션은 본의 위치, 회전, 스케일 값(즉 트랜스폼)을 매 프레임 조절하는 것에 불과합니다.

즉, 애니메이션 시퀀스 안에 들어가있는 정보들은 이런 종류의 것이 전부입니다.

 

애니메이션 시퀀스는 보통 애니메이션 BP의 AnimGraph 안에 배치해서 사용합니다.

아래와 같이 직접적으로 배치해서 동작시킬수도 있습니다만,

보통은 AnimGraph의 스테이트 머신 내부에 구성해서 사용합니다.

 

run_fwd_rif 애니메이션을 재생하는 극단적인 예

 

 

애니메이션 몽타주

 

몽타주는 시퀀스(들)를 한차례 감싼 애니메이션입니다.

 

시퀀스들을 쪼개고 합치거나, 특정 부분만 반복시키거나,

즉 애니메이션 시퀀스들을 원하는대로 조합하고 고쳐 쓰고 싶을 때 사용합니다.

 

그리고 그 외, 몽타주를 사용하는 중요한 이유로는,

시퀀스를 몽타주로 만들면 C++ 코드나 블루프린트의 이벤트 그래프에서 재생시킬 수 있다는 점입니다.

 

블루프린트에서의 몽타주 재생 노드

 

 

위에서 봤듯이 시퀀스는 애니메이션 BP의 AnimGraph, 특히 스테이트 머신 안에서 재생합니다.

스테이트 머신으로 모든 애니메이션 상황을 처리하게 되면 스테이트 머신의 복잡도가 크게 상승합니다.

특수한 상황에선 로직에서 강제로 애니메이션을 플레이시키면 그 복잡도를 해소시킬 수 있을 것입니다.

그럴 때 몽타주를 활용할 수 있습니다.

 

애니메이션 블루프린트에서의 사용 방법을 추가로 보도록 하겠습니다.

몽타주는 애니메이션 블루프린트의 애님 그래프에서 슬롯 노드를 배치해서 재생할 수 있습니다.

 

몽타주의 슬롯을 애니메이션 블루프린트에 배치하여 몽타주 재생 처리

 

위의 구성에서는 몽타주가 플레이되면

 

1. 스테이트 머신에서 선택되어 나온 애니메이션을 무시하고

2. 플레이한 몽타주의 슬롯을 재생하게 됩니다.

 

 

애니메이션 블루프린트

 

여기까지는 애니메이션(본의 트랜스폼에 관여하는 값들)에 대한 에셋이었습니다.

하지만 애니메이션 블루프린트는 엄밀히 말하자면 애니메이션 자체에 대한 에셋이 아닙니다.

애니메이션의 동작(흐름)을 정의하는 에셋입니다.

 

애니메이션 블루프린트는 아래 그래프들로 구성되어 있습니다.

 

애니메이션 블루프린트의 구성

 

 

1. 이벤트 그래프

여타 블루프린트의 이벤트 그래프와 같습니다.

애니메이션을 포함하는 오브젝트의 시작, 틱 시점 등을 처리할 수 있습니다.

 

2. 애님 그래프

오브젝트는 늘 어떤 애니메이션을 재생하고 있을 것입니다.

하지만 상황에 따라 다른 애니메이션을 재생해야 합니다.

 

애님 그래프는 어떤 상황에서 어떤 애니메이션을 적용시킬지를 정의하는 그래프입니다.

 

가장 단순하게 구성한 애님 그래프

 

위 구성으로는, 오브젝트는 늘 run_fwd_rif라는 애니메이션을 플레이하고 있게 됩니다.

 

하지만 스테이트 머신, 몽타주 슬롯 등을 연결해서 좀 더 복잡하고 다양한 상황에 적합한 애니메이션을 선택하도록 구성할 수 있습니다.

 

일반적으로 구성하게 되는 애님 그래프의 형태

 

캐릭터가 애니메이션 블루프린트를 사용하도록 설정하는 방법은 다음과 같습니다.

 

1. 캐릭터 클래스 / 뷰포트의 MeshComponent를 선택

 

메시 컴포넌트 선택

 

2. 디테일 창의의 Animation 탭 / Animation Mode를 Use Animation Blueprint 선택

3. Anim Class를 원하는(생성한) 애니메이션 블루프린트로 선택

 

애니메이션 블루프린트로 설정하는 디테일 창

 

728x90
Comments