Description

Error message:

Assertion failed: Pose.IsValidIndex(BoneIndex) [Link Removed] [Line: 528]

Source Context:

  513       const FTransform& ParentTransform = GetComponentSpaceTransform(ParentIndex);
  514       const FTransform& BoneTransform = Pose[BoneIndex];
  515       // calculate local space
  516       return BoneTransform.GetRelativeTransform(ParentTransform);
  517       }
  518       }
  519       
  520       return Pose[BoneIndex];
  521       }
  522       
  523       template<class PoseType>
  524       const FTransform& FCSPose<PoseType>::GetComponentSpaceTransform(BoneIndexType BoneIndex)
  525       {
  526       checkSlow(Pose.IsValid());
  527 ***** check(Pose.IsValidIndex(BoneIndex));
  528       
  529       check(!Pose[BoneIndex].ContainsNaN());
  530       // if not evaluate, calculate it
  531       if (ComponentSpaceFlags[BoneIndex] == 0)
  532       {
  533       CalculateComponentSpaceTransform(BoneIndex);
  534       }
  535       check(!Pose[BoneIndex].ContainsNaN());
  536       return Pose[BoneIndex];
  537       }
  538       
  539       template<class PoseType>
  540       void FCSPose<PoseType>::SetComponentSpaceTransform(BoneIndexType BoneIndex, const FTransform& NewTransform)
  541       {
  542       checkSlow(Pose.IsValid());

Most recent user affected CL: 3286799 (4.15 P4)

Logs:
[Link Removed]
[Link Removed]


CrashReporter User Descriptions:

  • EUS Matt.Williams - Attempted to manipulate the IK handle after setting the IK Bone and Effector Location Space to Bone space, but not setting the Effector Space Bone Name
  • When using the Persona node Two Bone IKI, then you select Effect Location to BONE SPACE, it will show a translation widget in the viewport. When you try to move this widget, the engine crashes!
Steps to Reproduce
  1. Create a Third Person template project
  2. Create an AnimBP on the existing skeleton
  3. In the AnimGraph, set up a TwoBoneIK node(See attached screenshot)
  4. In the TwoBoneIK details, set IKBone to hand_r and the Effector Location Space to Bone Space
  5. Compile
  6. Select the TwoBoneIK node
  7. In the preview viewport, attempt to use the transform tool

Result: Crash
Expected: You really need EffectorSpaceBoneName set for bone space IK to work, so I'm not really sure what IS expected.

Callstack
UE4Editor_AnimGraph!FCSPose<FCompactHeapPose>::GetComponentSpaceTransform() [bonepose.h:528]
UE4Editor_AnimGraph!FAnimNodeEditMode::ConvertCSVectorToBoneSpace() [animnodeeditmode.cpp:518]
UE4Editor_AnimGraph!FTwoBoneIKEditMode::DoTranslation() [twoboneikeditmode.cpp:279]
UE4Editor_AnimGraph!FAnimNodeEditMode::InputDelta() [animnodeeditmode.cpp:275]
UE4Editor_UnrealEd!FEditorModeTools::InputDelta() [editormodemanager.cpp:688]
UE4Editor_UnrealEd!FEditorViewportClient::InputWidgetDelta() [editorviewportclient.cpp:3054]
UE4Editor_UnrealEd!FEditorViewportClient::UpdateMouseDelta() [editorviewportclient.cpp:2020]
UE4Editor_UnrealEd!FEditorViewportClient::Tick() [editorviewportclient.cpp:1114]
UE4Editor_Persona!FAnimationViewportClient::Tick() [animationeditorviewportclient.cpp:466]
UE4Editor_UnrealEd!UEditorEngine::Tick() [editorengine.cpp:1698]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [unrealedengine.cpp:391]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3025]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:264]
kernel32!<Unknown>
ntdll!<Unknown>

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

2
Login to Vote

Fixed
ComponentUE - Anim - Rigging
Affects Versions4.144.15
Target Fix4.15.1
Fix Commit3321236
CreatedFeb 9, 2017
ResolvedFeb 24, 2017
UpdatedOct 7, 2020
View Jira Issue