Description

Crash occurs while changing between FK/IK mode in Animation Mode on the same frame with Space changing.

Steps to Reproduce
  1. Create a new Third Person template project
  2. Place CR_Mannequin_Body into the level - This should enter Animation Mode and open a sequnce
  3. In the Anim Outliner select 'arm_l_fk_ik_switch' set it to True
  4. In the Sequencer add a Key for the whole rig at frame 0
  5. Scrub to frame 10
  6. Select 'hand_r_fk_ctrl' in the Sequencer
  7. In the Animation panel expand spaces then Add a Space for 'hand_l_fk_ctrl'
  8. Select and change the new 'hand_l_fk_ctrl' space
  9. In the Sequencer move the 'hand_r_fk_ctrl'
  10. In the Sequencer select and move the 'hand_l_ik_ctrl' in the parent space
  11. In the Anim Outliner change 'arm_l_fk_ik_switch' to false

Expected Results:
'arm_l_fk_ik_switch' is changed and keyed as false

Actual Results:
The editor crashes with an Unhandled Exception

Callstack
UnrealEditor-ControlRig!_chkstk  [chkstk.asm:109]
UnrealEditor-ControlRig!URigHierarchy::SetTransform(FRigTransformElement *,UE::Math::TTransform<double> const &,ERigTransformType::Type,bool,bool,bool,bool) [RigHierarchy.cpp:2165]
UnrealEditor-ControlRig!FRigUnit_SetTransform::StaticExecute(FRigVMExecuteContext &,FRigElementKey const &,EBoneGetterSetterMode,bool,UE::Math::TTransform<double> const &,float,bool,FCachedRigElement &,FControlRigExecuteContext &,FRigUnitContext const &) [RigUnit_SetTransform.cpp:86]
UnrealEditor-ControlRig!FRigUnit_SetTransform::RigVMExecute(FRigVMExecuteContext &,TArrayView<FRigVMMemoryHandle,int>) [RigUnit_SetTransform.h:18]
UnrealEditor-RigVM!URigVM::Execute(TArrayView<URigVMMemoryStorage *,int>,TArrayView<void *,int>,FName const &) [RigVM.cpp:2090]
UnrealEditor-ControlRig!UControlRig::ExecuteUnits(FRigUnitContext &,FName const &) [ControlRig.cpp:1209]
UnrealEditor-ControlRig!UControlRig::Execute(EControlRigState,FName const &) [ControlRig.cpp:846]
UnrealEditor-ControlRig!UControlRig::Evaluate_AnyThread() [ControlRig.cpp:246]
UnrealEditor-ControlRigEditor!static bool LocalGetControlRigControlTransforms(class IMovieScenePlayer *, const struct TOptional<FFrameNumber> & const, class UMovieSceneSequence *, const struct FMovieSceneSequenceID & const, struct FMovieSceneSequenceTransform & const, class UControlRig *, const class FName & const, const class TArray<FFrameNumber,TSizedDefaultAllocator<32> > & const, const class TArray<UE::Math::TTransform<double>,TSizedDefaultAllocator<32> > & const, class TArray<UE::Math::TTransform<double>,TSizedDefaultAllocator<32> > & const) [ControlRigSnapper.cpp:146]
UnrealEditor-ControlRigEditor!FControlRigSpaceChannelHelpers::CompensateIfNeeded(UControlRig *,ISequencer *,UMovieSceneControlRigParameterSection *,FName,TOptional<FFrameNumber> &) [ControlRigSpaceChannelEditors.cpp:1161]
UnrealEditor-ControlRigEditor!FControlRigParameterTrackEditor::AddKeysToControlRigHandle(USceneComponent *,UControlRig *,FGuid,FFrameNumber,TArray<FMovieSceneChannelValueSetter,TSizedInlineAllocator<1,32,TSizedDefaultAllocator<32> > > &,ESequencerKeyMode,TSubclassOf<UMovieSceneTrack>,FName,FName) [ControlRigParameterTrackEditor.cpp:2741]
UnrealEditor-ControlRigEditor!FControlRigParameterTrackEditor::AddKeysToControlRig(USceneComponent *,UControlRig *,FFrameNumber,TArray<FMovieSceneChannelValueSetter,TSizedInlineAllocator<1,32,TSizedDefaultAllocator<32> > > &,ESequencerKeyMode,TSubclassOf<UMovieSceneTrack>,FName,FName) [ControlRigParameterTrackEditor.cpp:2767]
UnrealEditor-ControlRigEditor!static struct FKeyPropertyResult <lambda_f99a9bc0b3c5e137299d6e3fd5763d2f>::operator() [ControlRigParameterTrackEditor.cpp:2821]
UnrealEditor-ControlRigEditor!static struct FKeyPropertyResult TBaseFunctorDelegateInstance<FKeyPropertyResult __cdecl(FFrameNumber) [DelegateInstancesImpl.h:830]
UnrealEditor-Sequencer!7ffcc33a0000  + 691fa

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-159140 in the post.

0
Login to Vote

Fixed
ComponentUE - Anim - Sequencer - Anim in Engine
Affects Versions5.0.2
Target Fix5.1
Fix Commit21980244
Main Commit21986825
Release Commit21980244
CreatedJul 11, 2022
ResolvedSep 13, 2022
UpdatedSep 21, 2022