Hello,
I noticed a pop on my blend space that happened every time the player would pass a sync marker. After investigation, this happened due to the blendspace player only correctly syncing the samples when in-between sync markers.
For setup, my blendspace contains samples that each have 1 L & 1 R sync marker (in that order). Fulfilling the matching pattern check inside the blendspace.
It seems that inside UAnimSequence::AdvanceMarkerPhaseAsFollower, when using sync markers, animations are only updated when the track is within sync markers, ignoring the sections between:
- MarkerIndexSpecialValues::AnimationBoundary < — > 1st sync marker (L)
- Last sync marker (r) < — > MarkerIndexSpecialValues::AnimationBoundary
So it wont synchronize between sync markers and the track boundaries. This source of this seems to happens on the line 4082 and 4148 inside UAnimSequence::AdvanceMarkerPhaseAsFollower for the conditional
// End Validation
// Only reset position if we found valid markers. Otherwise stay where we are to not pop.
if ((PreviousMarker.MarkerIndex != MarkerIndexSpecialValues::Uninitialized) && (NextMarker.MarkerIndex != MarkerIndexSpecialValues::Uninitialized))
{
CurrentTime = GetCurrentTimeFromMarkers(PreviousMarker, NextMarker, LeaderEndPosition.PositionBetweenMarkers);
}
Swapping over Uninitialized to AnimationBoundary would fix the issue.