[Unreal] Lyra - Animation Layer Interface

개요

Lyra 애니메이션 블루프린트에서는 Animation layer interface를 통해 애니메이션을 링크해서 총 종류에 따라 다른 애니메이션을 재생할 수 있게 했다.

Lyra에서 Animation layer interface를 활용한 방법을 자세히 분석해보자.

애니메이션 블루프린트 링크

언리얼 문서에서 애니메이션 블루프린트의 일부를 다른 애니메이션 블루 프린트에서 가져와서 사용하는 경우 애니메이션레이어를 링크하는 방법을 사용할 수 있다고 한다.

애니메이션 레이어를 링크하기 위해서는 다음 요소가 필요하다고 한다.

  • 애니메이션 레이어 인터페이스 : 사용할 애니메이션 레이어를 사전 정의
  • 프라이머리 애니메이션 블루프린트 : 레이어를 위한 주요 로직 구조 포함
  • 특정 애니메이션 블루프린트 : 

애니메이션 레이어 인터페이스

애니메이션 블루프린트에서 사용할 애니메이션 레이어는 모두 여기에 정의된다.

인터페이스만 제공하므로 실제 구현은 하지 않는다.

레이어의 사용목적에 따라 input 파라미터를 지정해놔야한다.

Lyra에서 사용하는 애니메이션 레이어

베이스 블루프린트

링크된 애님 레이어 사용시 베이스 애니메이션 블루프린트를 캐릭터에 할당한다.

애니메이션 레이어의 일반 구조가 포함될 수 있지만 로직이나 데이터가 꼭 필요하지 않다.

베이스 애니메이션 블루프린트로 지정하려면 Class Setting에 가서 Implemented Interface에 애니메이션 레이어 인터페이스를 추가해야한다.

그러면 블루프린트의 Animation Layers 섹션에 정의했던 레이어들이 표시되고, 드래그해서 배치할 수 있다.

Lyra에서 Layer를 사용하는 예시, 보라색이 애니메이션 레이어

애니메이션 레이어를 클릭하여 레이어를 구성할 수 있는데 베이스 애니메이션 블루프린트에서는 구성하지 않고 링크된 애니메이션에서 가져올 수 있다,

Lyra에서는 모두 다 비어있다.

특정 블루프린트 구성

레이어의 실제 로직은 특정 블루프린트에 구성하면 된다.

특정 블루프린트도 레이어 애니메이션 인터페이스를 바인딩해야 레이어 구성이 가능하다.

실제 레이어의 로직은 특정 목적의 블루프린트에서 구성

링크하기

블루프린트 노드에 링크 애님 클래스 레이어(Link Anim Class Layers)를 추가하여 특정 블루프린트를 링크할 수 있다.

  • Target : 스켈레탈 매시 컴포넌트
  • In Class : 애니메이션 블루프린트 클래스를 지정

아래 사진은 무기Actor 블루프린트에서의 링크 사용 예시이다.

Mesh는 플레이어 캐릭터를 연결하고 In Class에는 특정 무기의 애니메이션 블루프린트를 연걸한다.

애니메이션 로직이 변경되었음을 '무기변경' 몽타주를 재생하여 표시해준다.

Lyra에서 애니메이션 블루 프린트 구성

Lyra에서는 크게 3가지 구성을 볼 수 있다.

  • ALI_ItemAnimLayer : Item 관련 애니메이션 레이어 사전 정의
  • ABP_Mannequin_Base : 베이스 애니메이션 블루프린트에 해당
  • ABP_ItemAnimLayerBase : 특정 애니메이션 블루프린트에 해당

여러 총기 애니메이션을 바꾸기 위해 따로 특정 애니메이션 블루프린트를 생성하지 않고 로직은 같지만 실제 재생되는 애니메이션 시퀸스만 변경하는 식으로 동작하는 것으로 보인다.

ABP_Mannequin_Base 에서는 Layer 구성은 하나도 하지 않고 AnimGraph 구성만 작업한다.

ABP_ItemAnimLayerBase 에서는 Layer 구성만 하고 AnimGraph 는 비어있다.

 

 

Reference

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/animation-blueprint-linking-in-unreal-engine

 

'Unreal' 카테고리의 다른 글

[Unreal] GAS (1)  (0) 2025.01.29
[Unreal] Lyra - Slot 구조  (0) 2025.01.28
[Unreal] Lyra - Anim Blueprint (1)  (0) 2025.01.26
[Unreal C++] Game Flow  (0) 2025.01.23
[Unreal] DataTable  (0) 2025.01.22