How to fix Sequencer bad First Frame.

Since the 4.13, I have the same problem.

The first frame of my sequences are almost always bad.

Sometime it’s the characters not present.
Sometime I can see the characters where they are in the scene then the next frame Teleport to the sequence animation
Sometime it’s the light completely burning the characters
Sometime if I cut the beginning of the sequence, it show the frame 0 then the real first frame…
Sometime I can see objets pop (like some streaming)

It seems worst when low Frame Rate
It seems worst too if I use the TimeSnaping to 30fps (at 60 and more it’s harder to see the first frame) but I’m not sure.

Is there a way to ask unreal to prepare the rendering and really show the sequence camera when everything is good ?

We “fix” the pb with Fade from black to mask the problem but the pb is still there in 4.16

We have some other pb with the sequencer, with camera cut or teleporting actor from their animation.

I post several message, but without real solution or complete answer.

This is actually a very important question and I’m surprised nobody dealt with it. I find this the biggest drawback of Sequencer, alongside with the lack of quaternion rotation calculations (so that objects won’t start to rotate randomly the opposite direction).

Edit: I just found this on Trello for 4.18. Good news I guess!
“Warmup on shot boundaries when movie recording from a master sequence.”

Did this ever get fixed? It happens really badly in my sequence which has tons of different shots. Even with a high frame rate it’s pretty noticeable. It completely ruins the sequence! I don’t want to add a fade to black to every shot but I will have to if there is no way around this.

Update int 4.18

We used black frames, but sometime, it’s not aesthetic so I try to solve this problem.

I traced the code, adding logs and stuff…

I localise a stop between 2 sequences, the start of the second one is bad, there is 3 characters in the camera, but the first frame, only one character is visible.

In our sequences, we posses characters so we use the characters BP.
To simplify my debug, I trace only our PlayerCharacter, breaking when the mesh is the right one.
I use a display log to display the current Frame.
I add a UKismetSystemLibrary::PrintString to do so.
I put a display when the sequence start and when the first anim frame is process

FComponentAnimationActuator::Actuate.
it calls SetAnimPosition
which call
FAnimMontageInstance::SetMatineeAnimPositionInner(SlotName, SkeletalMeshComponent, InAnimSequence, InPosition, bLooping);

I presume this do the job of applying the animation on skeleton.

The problem is, it appens only next frame, so at the first one, my characters are still at the position they were before the anim (and then not in the camera field)
The next frame, they are teleported in the field but with a lot of motion blur and the 3rd frame the sequence is normal till the end.

Is there a way to force the sequence to apply the animation at first frame without any blend ?

This but Is really annoying, I spend more than a week trying to figure bad frames in the sequencer.
So every help is welcome !

I find even if I use a black camera fade it’s still noticeable sometimes! Even having it fade in after a slight delay it can still happen so there must be more than one bad frame happening sometimes. But yeah this is not acceptable! Most places we do not want a fade anyway and actually need the sharp cut from one shot to the next.

This means using shots inside a sequence is completely useless if you have any animated skeletal meshes… come on!!!

I have this problem in 4.17 and 4.18 in all the projects I work on and I haven’t seen any mention of it being worked on or fixed in later versions of the engine. It’s actually a massive problem because it looks so awful! It ruins a lot of our sequences (we have over 350 sequencer shots in our game so far…)
If this isn’t fixed then I’ll have to go through every sequence in our game that has the problem and re build them without using shots, which will be extremely time consuming.

I started a forum post here: https://forums.unrealengine.com/development-discussion/content-creation/1497709-sequencer-shots-don-t-play-the-first-frame-of-animations but did not hear from anyone.

How can this even be a thing? Surely epic know about this?

I spoke to someone at epic and we managed to reproduce the problem with the animation not playing right away. They are going to work on a fix for the next 4.20 hotfix, hopefully. Not sure if this helps with all the problems in the original question but it might help.

Nice.

I spoke to a colleague, and he ask me they fix that their way on another project.

The problem seems that effectively the sequence is an actor, so it is ticked in the same group than other actors (and the order can’t be controlled)

The fix that in inserting a sequence manager, with a custom tick directly in the engine loop which control the sequences tick.
Another interesting fix is they can control much better the link between sequences.
By example, if a sequence finish and a new one start, they can tick the first frame of the new one directly so they remove the risk that the engine put a bad frame between.

I tried to change the tick group of my sequence actor in pre-physic, but it doesn’t work.
Updating sequence outside of the world tick process is a bit dirty… I’ll try if I can find some time to do so.