The AnimSingleNodeInstance used in the AnimMontage preview does not consider multiple Slots. The following is a correction code.
void UAnimSingleNodeInstance::SetAnimationAsset(class UAnimationAsset* NewAsset, bool bInIsLooping, float InPlayRate) { ... Proxy.ReinitializeSlotNodes(); if ( Montage->SlotAnimTracks.Num() > 0 ) { // add for (int32 i = 0; i < Montage->SlotAnimTracks.Num(); ++i) { Proxy.RegisterSlotNodeWithAnimInstance(Montage->SlotAnimTracks[i].SlotName); } Proxy.SetMontagePreviewSlot(Montage->SlotAnimTracks[0].SlotName); }
expect : can confirm running animnotifystate of the anim sequence in log.
result : it does not run.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-119688 in the post.
1 |
Component | UE - Anim - Runtime |
---|---|
Affects Versions | 4.26, 4.27, 5.1 |
Target Fix | 5.4 |
Fix Commit | 30499769 |
---|---|
Main Commit | 30499781 |
Created | Jul 15, 2021 |
---|---|
Resolved | Jan 9, 2024 |
Updated | Jan 20, 2024 |