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 |