기본 개념
AnimBP 링크 시스템 ( Anim Layer )
- ref : https://docs.unrealengine.com/5.0/ko/animation-blueprint-linking-in-unreal-engine/
추상 애님BP를 만들고, 클래스처럼 활용하기 ( in[] → out ) ( 무기별 모션 구현 등 )
- 추상용 ABP를 만들고, Input들을 Input Pose로 만든다. ( 변수도 만든다. )
- 목표 ABP에서 Linked Anim Graph를 통해 Input을 넣고 Output을 받는다.
AnimLayerInterface를 통해 anim 내 method 구성을 모듈화 하기
- AnimLayerInterface 에셋을 만든다.
- Interface들을 만들고, 그 안에 input parameter들을 추가한다.
- 목표 ABP에서 class setting - interface에 implement한다.
- 해당 interface들을 사용하여 비어있는 구조를 설계한다.
- 케이스별 ABP에서 class setting - interface에 implement한다.
- 파라미터 하이어라키의 animation layers에서 드래그해서 쓴다
- 목표 ABP에서 animation layers(Interface)의 기능을 정의한다.
- BP에서 mesh - link anim class layers 함수를 통해, 오버라이드 한다. ( target anim class에서 정의되어있는 interface method만 override되는듯. out에 연결된 애님이 없으면 아얘 override 하지 않는듯 )
- ex)
- ABP_총잡이를 만들고 AnimInterface_파지 ( 지향사격, 조준사격 interface )를 바인딩, 두개의 인터페이스를 로직 중간에 껴넣는다
- ABP_샷건을 만들고 AnimInterface_파지를 바인딩, 두 interface 내부 로직을 구현한다.
- ABP_총잡이를 기본 animbp로 가지고있는 character BP에서 샷건장착 시, Link Anim Class Layer - ABP_샷건을 통해 interface들을 override한다.
EventGraph에서 Link Anim Class Layer를 통해 BP 로직 오버라이드 ( 혹은 호출 )
기존 ABP를 상속받은 ABP는 anim graph logic은 수정하지 못함
- BP로직은 super 및 추가 가능
- Asset Override탭을 통해 Asset은 override 가능
- function, variable등은 override, edit 가능
* 추상용 ABP에 Skeleton을 할당하는 대신 Template으로 만들면, 내부 anim sequence는 관리하기 어려워지지만 대신 할당 skeleton 상관없이 어느 ABP에서도 Link 가능
AnimSequence <-> Niagara 상호작용
'Unreal > Animation' 카테고리의 다른 글
Skeletal Mesh 모듈화 기능 ( Set Leader Pose Component ) (0) | 2024.05.16 |
---|---|
Anim Asset 구조 (0) | 2024.05.16 |