Unreal Engine - 애님 몽타주

2025. 3. 5. 04:08·Unreal Engine

1. 애님 몽타주


애님 몽타주는 특정 애니메이션을 제어하고 다양한 방식으로 재생할 수 있게 해주는 기능이다.

아래와 같은 기능들을 주로 사용하게 된다.

  • 애니메이션을 특정 슬롯에서 동작할 수 있도록 해주는 기능
  • 노티파이를 사용하여 애니메이션 중간에 효과를 줄 수 있는 기능

이번에 사용해 본 예시로는 장전 애니메이션과 피격 애니메이션, 구르기 애니메이션에 사용해 보았다.

 

 

2. 애님 몽타주 만들기


새롭게 애님 몽타주 만들면 아래와 같이 생성이 된다.

  • 주요하게 봐야할 점이 slot과
  • 노티파이 이다.

 

2 - 1. slot

특정 bone을 기준으로 애니메이션을 나눠서 재생할 수 있게 하는 부분이다.

  • default slot 이라고 검색하면 아래와 같은 노드를 선택할 수 있게 되고 해당 애니메이션은 Default 노드에서 재생되게 된다.

  • 추가적으로 몽타주에서 슬롯 매니저를 통해 slot을 추가할 수 있는데, 추가를 하면 아래와 같이 새로운 slot을 사용할 수 있다.

슬롯 매니저

 

Slot은 예를 들어 아래와 같이 사용할 수 있다.

  • 총기 관련 애니메이션을 upper body slot에 저장해두고
  • Layered blend per bone을 사용하여
  • 장전할때 모습은 상체를 사용하고, 하체는 그대로 main(locomotion)을 사용할 수 있다.

만약 모든 slot에서 같은 애니메이션을 동작하게 하고 싶다면, 아래와 같이 slot을 두개 넣어주면 된다.

  • 아래의 경우 구르기 애니메이션은 총기를 들고 있더라도 같은 애니메이션이 나오게 하기 위해서 구성한 모습이다.

 

2 - 2. 노티파이

노티파이는 몽타주 특정 순간 어떤 처리를 해주기 위해서 사용한다.

c++에서는 UAnimNotify를 상속받아서 구현하면 된다.

 

예를 들어

  • 총기 장전 애니메이션이 끝나기 전까지 총을 쏘지 못하도록 하기 위해서 아래처럼 몽타주를 구성하고

  • C++로 노티파이를 만들어 연결하였다.
#include "Character/PlayerReloadAnimNotify.h"
#include "Character/PlayerCharacter.h"

void UPlayerReloadAnimNotify::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation)
{
    if (MeshComp && MeshComp->GetOwner())
    {
        APlayerCharacter* PlayerCharacter = Cast<APlayerCharacter>(MeshComp->GetOwner());
        if (PlayerCharacter && PlayerCharacter->CurrentWeapon)
        {            
            PlayerCharacter->bIsReloading = false;          
        }
    }
}

 

추가)

  • 애님 노티파이는 우리가 만드는 것 뿐만 아니라 이미 만들어져 있는 것을 사용할 수도 있다.
  • 아래 사진처럼 사운드 재생이나 파티클 이팩트를 재생할 수 있다.

  • 노티파이를 추가하고, 노티파이의 디테일 창을 보면 아래와 같이 직접 사운드 에셋을 넣어 소리를 재생시킬 수 있다.

 

'Unreal Engine' 카테고리의 다른 글

UE5 Issues : ADS (Aim Offset 1D)  (0) 2025.03.05
Unreal Engine - Sound play & Effect spawn  (0) 2025.03.05
Unreal Engine - 캐릭터 앉기 및 구르기  (0) 2025.03.05
Unreal Engine - TSubclassOf & StaticClass  (0) 2025.02.27
Unreal Engine - 총기 반동, 데칼, 탄피 효과  (0) 2025.02.27
'Unreal Engine' 카테고리의 다른 글
  • UE5 Issues : ADS (Aim Offset 1D)
  • Unreal Engine - Sound play & Effect spawn
  • Unreal Engine - 캐릭터 앉기 및 구르기
  • Unreal Engine - TSubclassOf & StaticClass
gbleem
gbleem
gbleem 님의 블로그 입니다.
  • gbleem
    gbleem 님의 블로그
    gbleem
  • 전체
    오늘
    어제
    • 분류 전체보기 (176)
      • Unreal Engine (66)
      • C++ (19)
      • 알고리즘(코딩테스트) (26)
      • TIL (60)
      • CS (4)
      • 툴 (1)
  • 블로그 메뉴

    • 홈
    • 카테고리
  • 링크

    • 과제용 깃허브
    • 깃허브
    • velog
  • 공지사항

  • 인기 글

  • 태그

    const
    매크로 지정자
    character animation
    gamestate
    addonscreendebugmessage
    템플릿
    blend pose
    additive animation
    map을 vector로 복사
    Vector
    enhanced input system
    motion matching
    BFS
    C++
    applydamage
    싱글턴
    actor 클래스
    상속
    DP
    cin함수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gbleem
Unreal Engine - 애님 몽타주
상단으로

티스토리툴바