기본 개념

 

AnimBP 링크 시스템 ( Anim Layer )

  • ref : https://docs.unrealengine.com/5.0/ko/animation-blueprint-linking-in-unreal-engine/

추상 애님BP를 만들고, 클래스처럼 활용하기 ( in[] → out ) ( 무기별 모션 구현 등 )

  1. 추상용 ABP를 만들고, Input들을 Input Pose로 만든다. ( 변수도 만든다. )
  2. 목표 ABP에서 Linked Anim Graph를 통해 Input을 넣고 Output을 받는다.

 

AnimLayerInterface를 통해 anim 내 method 구성을 모듈화 하기

  1. AnimLayerInterface 에셋을 만든다.
    1. Interface들을 만들고, 그 안에 input parameter들을 추가한다.
  2. 목표 ABP에서 class setting - interface에 implement한다.
    1. 해당 interface들을 사용하여 비어있는 구조를 설계한다.
  3. 케이스별 ABP에서 class setting - interface에 implement한다.
    1. 파라미터 하이어라키의 animation layers에서 드래그해서 쓴다
    2. 목표 ABP에서 animation layers(Interface)의 기능을 정의한다.
  4. BP에서 mesh - link anim class layers 함수를 통해, 오버라이드 한다. ( target anim class에서 정의되어있는 interface method만 override되는듯. out에 연결된 애님이 없으면 아얘 override 하지 않는듯 )
  5. ex)
    1. ABP_총잡이를 만들고 AnimInterface_파지 ( 지향사격, 조준사격 interface )를 바인딩, 두개의 인터페이스를 로직 중간에 껴넣는다
    2. ABP_샷건을 만들고 AnimInterface_파지를 바인딩, 두 interface 내부 로직을 구현한다.
    3. 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 상호작용

BP_timedNiagaraEffect → (function)Override notify Tick → Get spawn effect → Set Param ( input data from anim bone or socket )

 

'Unreal > Animation' 카테고리의 다른 글

Skeletal Mesh 모듈화 기능 ( Set Leader Pose Component )  (0) 2024.05.16
Anim Asset 구조  (0) 2024.05.16

+ Recent posts