icon안동민 개발노트

애님 몽타주와 노티파이의 기초


 애님 몽타주와 노티파이는 언리얼 엔진의 애니메이션 시스템에서 복잡한 애니메이션 시퀀스를 관리하고 게임플레이 이벤트와 연동하는 데 사용되는 강력한 도구입니다.

애님 몽타주의 개념과 목적

 애님 몽타주는 여러 애니메이션 세그먼트를 조합하여 하나의 연속적인 애니메이션 시퀀스를 만들 수 있게 해주는 기능입니다.

 주요 목적은 다음과 같습니다.

  1. 복합 애니메이션 시퀀스 생성
  2. 부분적 애니메이션 오버라이드
  3. 애니메이션 블렌딩 제어
  4. 애니메이션과 게임플레이 이벤트 동기화

애님 몽타주 생성 방법

  1. 콘텐츠 브라우저에서 우클릭
  2. Animation > Animation Montage 선택
  3. 기반이 될 애니메이션 시퀀스 선택

몽타주 기본 구성 방법

 1. 섹션 설정

  • 몽타주 에디터에서 "+" 버튼을 클릭하여 새 섹션 추가
  • 섹션 이름 지정 (예 : "AttackStart", "AttackLoop", "AttackEnd")

 2. 슬롯 설정

  • 기본 슬롯 이름 변경 또는 새 슬롯 추가
  • 슬롯은 신체 부위별 애니메이션 제어에 사용됨

 3. 블렌드 인/아웃 조정

  • 섹션 시작과 끝에서 블렌드 설정
  • 블렌드 커브 조정으로 부드러운 전환 구현

예제 : 콤보 공격 시스템

몽타주 이름: AM_MeleeCombo
섹션:
1. ComboAttack1
2. ComboAttack2
3. ComboAttack3
4. ComboFinisher
 
설정:
- 각 섹션 사이 0.2초 블렌드
- 'DefaultSlot'에 모든 섹션 할당

노티파이 이벤트의 개념과 설정

 노티파이는 애니메이션의 특정 시점에 이벤트를 발생시키는 기능입니다.

 주요 용도는 다음과 같습니다.

  1. 사운드 효과 트리거
  2. 파티클 효과 생성
  3. 게임플레이 이벤트 발생 (예 : 데미지 적용)

 노티파이 설정 방법

  1. 몽타주 에디터의 타임라인에서 원하는 지점 우클릭
  2. 'Add Notify' 선택 후 노티파이 유형 선택
  3. 노티파이 이름 지정 및 속성 설정

애니메이션 블루프린트에서 몽타주 제어

 몽타주 재생 및 제어를 위한 주요 함수들

  1. Play Montage: 몽타주 재생 시작
[Play Montage] --> [Montage: AM_MeleeCombo]
                --> [Play Rate: 1.0]
                --> [Starting Section: ComboAttack1]
  1. Stop Montage: 몽타주 재생 중지
[Stop Montage] --> [Montage: AM_MeleeCombo]
  1. Jump to Section: 특정 섹션으로 즉시 이동
[Montage Jump to Section] --> [Montage: AM_MeleeCombo]
                          --> [Section Name: ComboFinisher]

노티파이 이벤트 처리

 애니메이션 블루프린트의 이벤트 그래프에서 노티파이 이벤트 처리

Event AnimNotify_ApplyDamage
    |
[Apply Damage to Overlapping Actors]
    |
[Spawn Hit Effect]
    |
[Play Hit Sound]

복합 애니메이션 시퀀스 구현

 몽타주를 활용한 복잡한 애니메이션 시퀀스 예제

몽타주: AM_CharacterActions
섹션:
1. Dodge
2. QuickAttack
3. HeavyAttack
4. Block
5. SpecialAbility
 
구현:
- 각 섹션에 해당하는 애니메이션 할당
- 섹션 간 부드러운 블렌딩 설정
- 주요 타이밍에 노티파이 추가 (효과음, 파티클, 히트박스 활성화 등)

 이 구조를 통해 게임플레이 상황에 따라 적절한 섹션을 재생하여 다양한 캐릭터 액션을 구현할 수 있습니다.

효과적인 몽타주 사용을 위한 팁

 1. 모듈화

  • 재사용 가능한 작은 단위의 몽타주 생성
  • 필요에 따라 여러 몽타주를 조합하여 복잡한 시퀀스 구성

 2. 성능 최적화

  • 불필요한 노티파이 최소화
  • 복잡한 로직은 블루프린트로 분리

 3. 블렌딩 최적화

  • 자연스러운 전환을 위해 적절한 블렌드 타임 설정
  • 필요한 경우 커스텀 블렌드 커브 사용

 4. 슬롯 활용

  • 신체 부위별 애니메이션 제어를 위해 여러 슬롯 사용
  • 예 : 상체와 하체를 독립적으로 애니메이션

 5. 디버깅 도구 활용

  • 애님 몽타주 미리보기 기능 활용
  • 런타임 중 몽타주 재생 상태 모니터링

고급 몽타주 테크닉

 1. 브랜칭 몽타주

  • 조건에 따라 다른 섹션으로 분기하는 몽타주 구현
[Check Combo Counter] --> [Jump to Section]
                           |
      [ComboAttack1] <-- [Counter == 1]
      [ComboAttack2] <-- [Counter == 2]
      [ComboFinisher] <-- [Counter == 3]

 2. 몽타주 큐잉

  • 현재 재생 중인 몽타주 완료 후 다음 몽타주 자동 재생
[Play Montage] --> [On Montage Ended]
                     |
         [Play Next Queued Montage]

 3. 적응형 몽타주

  • 캐릭터 상태나 환경에 따라 동적으로 몽타주 수정
[Check Surface Type] --> [Modify Montage Playback]
                           |
   [Adjust Play Rate] <-- [Slippery Surface]
   [Change Section] <-- [Rough Terrain]

 효과적인 사용을 위해서는 캐릭터의 액션 flow를 잘 이해하고, 적절한 구조로 몽타주를 설계하는 것이 중요합니다.

 또한 노티파이를 전략적으로 배치하여 애니메이션과 게임플레이 로직을 잘 동기화하는 것도 중요한 포인트입니다.