Crash occurs when casting back to the pawn owner from the Anim Graph. In this case, it is being used for "Copy Pose from Mesh"
Workaround: Cast to Owner from Event Graph, defining variable as the Master Mesh. Then using that variable in the Anim Graph. (See other TestBP and AnimBP in attached project)
Error message:
Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 833] Array index out of bounds: 0 from an array of size 0
Source Context:
50 if(Value && *Value!=INDEX_NONE)
51 {
52 const int32 SourceBoneIndex = *Value;
53 const int32 ParentIndex = CurrentlyUsedSourceMeshComponent.Get()->SkeletalMesh->RefSkeleton.GetParentIndex(SourceBoneIndex);
54 const FCompactPoseBoneIndex MyParentIndex = RequiredBones.GetParentBoneIndex(PoseBoneIndex);
55 // only apply if I also have parent, otherwise, it should apply the space bases
56 if (ParentIndex != INDEX_NONE && MyParentIndex != INDEX_NONE)
57 {
58 const FTransform& ParentTransform = CurrentlyUsedSourceMeshComponent.Get()->GetComponentSpaceTransforms()[ParentIndex];
59 const FTransform& ChildTransform = CurrentlyUsedSourceMeshComponent.Get()->GetComponentSpaceTransforms()[SourceBoneIndex];
60 OutPose[PoseBoneIndex] = ChildTransform.GetRelativeTransform(ParentTransform);
61 }
62 else
63 {
64 ***** OutPose[PoseBoneIndex] = CurrentlyUsedSourceMeshComponent.Get()->GetComponentSpaceTransforms()[SourceBoneIndex];
65 }
66 }
67 }
68 }
69 }
70
71 void FAnimNode_CopyPoseFromMesh::GatherDebugData(FNodeDebugData& DebugData)
72 {
73 }
74
75 void FAnimNode_CopyPoseFromMesh::ReinitializeMeshComponent(FAnimInstanceProxy* AnimInstanceProxy)
76 {
77 CurrentlyUsedSourceMeshComponent = SourceMeshComponent;
78 BoneMapToSource.Reset();
79 if (SourceMeshComponent && SourceMeshComponent->SkeletalMesh && !SourceMeshComponent->IsPendingKill())
Most recent user affected CL: 3106830
Logs: [Link Removed]
CrashReporter User Descriptions:
Result: Crash
Expected: AnimBP is assigned as expected
UE4Editor_AnimGraphRuntime!FAnimNode_CopyPoseFromMesh::Evaluate() [animnode_copyposefrommesh.cpp:65] UE4Editor_Engine!FPoseLink::Evaluate() [animnodebase.cpp:237] UE4Editor_Engine!FAnimInstanceProxy::EvaluateAnimationNode() [animinstanceproxy.cpp:786] UE4Editor_Engine!FAnimInstanceProxy::EvaluateAnimation() [animinstanceproxy.cpp:776] UE4Editor_Engine!UAnimInstance::ParallelEvaluateAnimation() [animinstance.cpp:553] UE4Editor_Engine!USkeletalMeshComponent::EvaluateAnimation() [skeletalmeshcomponent.cpp:1113] UE4Editor_Engine!USkeletalMeshComponent::PerformAnimationEvaluation() [skeletalmeshcomponent.cpp:1174] UE4Editor_Engine!USkeletalMeshComponent::RefreshBoneTransforms() [skeletalmeshcomponent.cpp:1351] UE4Editor_Engine!USkeletalMeshComponent::InitAnim() [skeletalmeshcomponent.cpp:422] UE4Editor_Engine!USkeletalMeshComponent::OnRegister() [skeletalmeshcomponent.cpp:338] UE4Editor_Engine!UActorComponent::ExecuteRegisterEvents() [actorcomponent.cpp:1145] UE4Editor_Engine!UActorComponent::RegisterComponentWithWorld() [actorcomponent.cpp:878] UE4Editor_Engine!UActorComponent::RegisterComponent() [actorcomponent.cpp:932] UE4Editor_Engine!`anonymous namespace'::RegisterInstancedComponent() [simpleconstructionscript.cpp:29] UE4Editor_Engine!USimpleConstructionScript::ExecuteScriptOnActor() [simpleconstructionscript.cpp:553] UE4Editor_Engine!AActor::ExecuteConstruction() [actorconstruction.cpp:669] UE4Editor_Engine!AActor::RerunConstructionScripts() [actorconstruction.cpp:469] UE4Editor_Engine!AActor::PostEditChangeProperty() [actoreditor.cpp:114] UE4Editor_Engine!APawn::PostEditChangeProperty() [pawn.cpp:912] UE4Editor_CoreUObject!UObject::PostEditChange() [obj.cpp:285] UE4Editor_UnrealEd!FBlueprintEditorUtils::PostEditChangeBlueprintActors() [blueprinteditorutils.cpp:7522] UE4Editor_Kismet!FBlueprintEditor::NotifyPostChange() [blueprinteditor.cpp:7407] UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() [propertynode.cpp:2067] UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [propertyhandleimpl.cpp:464] UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [propertyhandleimpl.cpp:315] UE4Editor_PropertyEditor!FPropertyValueImpl::SetValueAsString() [propertyhandleimpl.cpp:737] UE4Editor_DetailCustomizations!FSkeletalMeshComponentDetails::OnClassPicked() [skeletalmeshcomponentdetails.cpp:363] UE4Editor_DetailCustomizations!TBaseSPMethodDelegateInstance<0,FSkeletalMeshComponentDetails,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:317] UE4Editor_DetailCustomizations!TBaseSPMethodDelegateInstance<0,FSkeletalMeshComponentDetails,0,void __cdecl() [delegateinstancesimpl.h:424] UE4Editor_ClassViewer!SClassViewer::OnClassViewerSelectionChanged() [sclassviewer.cpp:2197] UE4Editor_ClassViewer!TBaseSPMethodDelegateInstance<0,SClassViewer,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:317] UE4Editor_ClassViewer!TBaseSPMethodDelegateInstance<0,SClassViewer,0,void __cdecl() [delegateinstancesimpl.h:424] UE4Editor_ClassViewer!TBaseDelegate<void,TSharedPtr<FClassViewerNode,0>,enum ESelectInfo::Type>::ExecuteIfBound() [delegatesignatureimpl.inl:608] UE4Editor_ClassViewer!SListView<TSharedPtr<FClassViewerNode,0> >::Private_SignalSelectionChanged() [slistview.h:638] UE4Editor_ClassViewer!STableRow<TSharedPtr<FString,0> >::OnMouseButtonUp() [stablerow.h:449] UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() [slateapplication.cpp:4901] UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [slateapplication.cpp:215] UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [slateapplication.cpp:4890] UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [slateapplication.cpp:5348] UE4Editor_Slate!FSlateApplication::OnMouseUp() [slateapplication.cpp:5328] UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1584] UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:1930] UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:747] UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:669] user32!<Unknown> user32!<Unknown> UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:905] UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:2788] UE4Editor!GuardedMain() [launch.cpp:156] UE4Editor!GuardedMainWrapper() [launchwindows.cpp:126] UE4Editor!WinMain() [launchwindows.cpp:202] UE4Editor!__scrt_common_main_seh() [exe_common.inl:264] kernel32!<Unknown> ntdll!<Unknown>
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-35602 in the post.
| 0 |
| Component | OLD - Anim |
|---|---|
| Affects Versions | 4.13 |
| Target Fix | 4.14 |
| Fix Commit | 3013905 |
|---|---|
| Main Commit | 3136620 |
| Created | Sep 6, 2016 |
|---|---|
| Resolved | Sep 6, 2016 |
| Updated | May 18, 2020 |