Description

Using a custom Blend Graph can trigger the ensure Bone.IsRotationNormalized() when source pose is connected to output.

Steps to Reproduce

Open third person template project.

Open the third person animBP

Remove the jump loop state in the default state machine connecting jump start to jump end directly, with transition rule IsInAir?

Set the transition blend logic to custom and connect the source state pose directly to transition blend result.

PIE triggers ensure on the first jump.

 

Callstack

[Inline Frame] UE4Editor-Engine.dll!FPoseLink::Evaluate::__l34::<lambda_80446ab4279b8da95041ad42809192e5>::operator()() Line 406 C++
UE4Editor-Engine.dll!FPoseLink::Evaluate(FPoseContext & Output) Line 406 C++
UE4Editor-Engine.dll!FPoseLink::Evaluate(FPoseContext & Output) Line 375 C++
UE4Editor-Engine.dll!FAnimNode_StateMachine::EvaluateTransitionCustomBlend(FPoseContext & Output, FAnimationActiveTransitionEntry & Transition, bool bIntermediatePoseIsValid) Line 844 C++
UE4Editor-Engine.dll!FAnimNode_StateMachine::Evaluate_AnyThread(FPoseContext & Output) Line 733 C++
UE4Editor-Engine.dll!FPoseLink::Evaluate(FPoseContext & Output) Line 375 C++
UE4Editor-Engine.dll!FAnimInstanceProxy::EvaluateAnimationNode_WithRoot(FPoseContext & Output, FAnimNode_Base * InRootNode) Line 1269 C++
UE4Editor-Engine.dll!FAnimInstanceProxy::EvaluateAnimation_WithRoot(FPoseContext & Output, FAnimNode_Base * InRootNode) Line 1210 C++
UE4Editor-Engine.dll!UAnimInstance::ParallelEvaluateAnimation(bool bForceRefPose, const USkeletalMesh * InSkeletalMesh, FBlendedHeapCurve & OutCurve, FCompactPose & OutPose) Line 665 C++
UE4Editor-Engine.dll!USkeletalMeshComponent::EvaluateAnimation(const USkeletalMesh * InSkeletalMesh, UAnimInstance * InAnimInstance, FVector & OutRootBoneTranslation, FBlendedHeapCurve & OutCurve, FCompactPose & OutPose) Line 1765 C++
UE4Editor-Engine.dll!USkeletalMeshComponent::PerformAnimationProcessing(const USkeletalMesh * InSkeletalMesh, UAnimInstance * InAnimInstance, bool bInDoEvaluation, TArray<FTransform,TSizedDefaultAllocator<32> > & OutSpaceBases, TArray<FTransform,TSizedDefaultAllocator<32> > & OutBoneSpaceTransforms, FVector & OutRootBoneTranslation, FBlendedHeapCurve & OutCurve) Line 1847 C++
UE4Editor-Engine.dll!USkeletalMeshComponent::ParallelAnimationEvaluation() Line 3500 C++
UE4Editor-Engine.dll!FParallelAnimationEvaluationTask::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 110 C++
UE4Editor-Engine.dll!TGraphTask<FParallelAnimationEvaluationTask>::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32> > & NewTasks, ENamedThreads::Type CurrentThread) Line 847 C++
[Inline Frame] UE4Editor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32> > & CurrentThread, ENamedThreads::Type) Line 514 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasks() Line 1029 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit(int QueueIndex) Line 855 C++
[Inline Frame] UE4Editor-Core.dll!FTaskThreadBase::Run() Line 524 C++
UE4Editor-Core.dll!FTaskThreadAnyThread::Run() Line 931 C++
UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 96 C++
UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 45 C++
kernel32.dll!00007ff9f0ff37e4() Unknown
ntdll.dll!00007ff9f18acb81() Unknown

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-79353 in the post.

2
Login to Vote

Fixed
ComponentAnim
Affects Versions4.224.23
Target Fix4.24
Fix Commit9745555
Main Commit9745557
Release Commit9745555
CreatedAug 23, 2019
ResolvedOct 22, 2019
UpdatedNov 7, 2019