-
[Unreal/C++] 런타임에서 몽타주에 노티파이 추가하는 방법게임 엔진/Unreal 2024. 1. 25. 17:20
애니메이션 몽타주 로드 시 다음 코드 실행하면 된다.
_pAnimAsset = 대충 애니메이션 로드하는 함수. UAnimMontage* pAnimMtg = Cast<UAnimMontage>(_pAnimAsset); if (pAnimMtg == nullptr) { return; } // 노티파이 추가 int newIndex = pAnimMtg->Notifies.Add(FAnimNotifyEvent()); FAnimNotifyEvent& newEvent = pAnimMtg->Notifies[newIndex]; if (UObject* AnimNotifyClass = NewObject<UObject>(pAnimMtg, UCustomNotify::StaticClass(), NAME_None, EObjectFlags::RF_Transactional)) { if (newEvent.Notify = Cast<UAnimNotify>(AnimNotifyClass)) { newEvent.NotifyName = *newEvent.Notify->GetNotifyName(); } newEvent.Link(pAnimMtg, 0.001f); // 0이면 동작 안 하므로 0보다 큰 값이어야 함. }