Files
UnrealEngineUWP/Engine/Source/Runtime/Experimental/Animation/Constraints
benoit gadreau 8752eb4a2d Constraints: update the prerequisites dynamically when creating constraint cycles so that we don't propagate that cycle to the tick task manager
in the context of CR controls, creating a constraint between two controls within the same CR or something like hand_r_ctrl -> static mesh -> hand_l_ctrl creates a cycle.
    the underlying tick functions + tick prerequisites will create a cycle  skel mesh -> const0 -> static mesh -> const1 -> skel mesh
    this cycle creates an undetermined behavior when activating/disactivating constraints as their order within the tick task manager can vary
    to avoid this, we then remove the skel mesh prerequisite of const0 if const1 is active and add it if const1 is off so that the task manager is always evaluating constraints in the right order
    note that this is a particular case for controls as we prevent cycles from being created for other components.


#jira UE-163593
#rb mike.zyracki
#preflight 635303099e14ee3c79b2bd06

[CL 22712146 by benoit gadreau in ue5-main branch]
2022-10-22 15:34:34 -04:00
..