이득우의 언리얼 C++ 게임 개발의 정석
애니메이션 몽타주(Animation Montage)
상태 머신의 확장 없이 특정한 상황에서 원하는 애니메이션을 발동시키기 위한 기능이다.
여러 개의 애니메이션 클립들의 일부를 떼어내고 붙여서 새로운 애니메이션을 생성하는 기법이다.
애니메이션 몽타주에 사용할 아무 애니메이션 애셋을 연 후 Anim Montage를 만든다.
애니메이션 몽타주는 섹션(Section) 단위로 애니메이션을 관리한다.
- 애니메이션 몽타주는 최소 1개의 섹션을 갖고 가장 첫 번째 섹션은 무조건 몽타주 시작점에 고정된다.
- 생성 시에는 Default라는 섹션이 시작점에 고정되어 있다.
- Details 패널에서 섹션의 이름을 변경할 수 있다.
슬롯에 애니메이션을 드래그해 배치하면 지그재그 형태로 배치된다.
슬롯에 배치된 애니메이션을 클릭하면 Details 패널에서 필요한 길이만큼 자를 수 있다.
애님 인스턴스에 애니메이션 몽타주를 재생하는 PlayAttackMontage 함수를 선언한다.
모든 애니메이션 몽타주 관련 함수는 애니메이션 몽타주 에셋을 참조하기 때문에 생성자에서 미리 설정해두면 좋다.
애니메이션 몽타주가 재생 중이지 않을 때만 재생하도록 한다.
아래와 같은 사용법이 아님을 주의해야 한다.
AttackMontage->Montage_IsPlaying()
AttackMontage->Montage_Play()
Montage_Play() 함수는 실제로는 첫 번째 섹션을 재생시키는 함수이다.
한 가지 더 해야할 것이 있다.
애니메이션 몽타주는 코드에서 에셋을 불러들인다고 해서 재생되는 것이 아니다.
애님 인스턴스를 부모로 하는 애니메이션 블루프린트의 애님 그래프 어딘가에 몽타주의 슬롯이 배치되어 있어야 한다.
캐릭터 클래스에서 왼쪽 마우스 버튼을 애니메이션 몽타주 재생에 매핑한다.
'Unreal Engine > 이득우의 언리얼 C++ 게임 개발의 정석' 카테고리의 다른 글
애니메이션 노티파이 (0) | 2023.03.07 |
---|---|
델리게이트(Delegate) (0) | 2023.03.07 |
애니메이션 상태 머신 (0) | 2023.03.06 |
애니메이션 리타겟 (0) | 2023.03.06 |
애님 인스턴스(Anim Instance) (0) | 2023.03.06 |