Transitioning from cutscene character to in-game character

Hi y’all! Hope you’re having a good day.

I’m poking my head in to ask about using Sequencer. At this time I’m using two versions of my player character, the one controlled in-game and a copy used for cutscenes. My problem is syncing these two up. During a cutscene the Game!PC is hidden, and when the scene’s over I bring him out and hide the Movie!PC.

This looks pretty clunky, since the two PCs aren’t playing their animations at the same time. Even if they were, I think the player’s going to notice a bit of hitching, especially if they’re running a lower-end computer. I could cheat a bit by cutting to something else while I’m transitioning between them, but that feels a bit tacky, and it won’t work for every cutscene.

Asking those with experience in Sequencer or otherwise: how do you approach this issue? Do you have a workaround?

Thanks for your time and your eyes. Have a great day!

Been a few days now. Nobody? This isn’t a pressing problem, but it’s annoying, so I hope someone understands my question.

Can you use the cinematics character for gameplay as well?

@jwatte

No. The reason I’m using a copy in the first place is because I have trouble using the character once he’s been used in a cutscene. In specific, once a character has played an animation in a sequence he’s trapped in that animation henceforth. I doubt that’s the way things are meant to be, but I never found a fix for it.

Sounds like what you really should be focusing on fixing is how to use a character after it’s been part of a cutscene animation!

@jwatte

I’m sure. Like I said, I never found a fix for it. If you have any information on the problem, I’d be grateful.

I haven’t seen that problem myself. Can you inspect the character in editor before and after cut-scene? There’s likely some animation source or some flag that needs to be twiddled back to previous state, but what it is, is probably easiest found by comparing before and after. (Which is easier if you do programming and harder if you eyeball it in editor …)

@jwatte

Makes sense, but how? What do you mean by “inspect?”

I have a test Sequence set up right now. It only lasts one second, and all that happens is the player character plays an animation. At the beginning of the Sequence input is disabled, and at the end it’s enabled. When it’s over, I can control the character like normal, but he’s locked into the last frame of the animation he played during the Sequence. That’s as bare bones as it gets.

In the editor, you can click on an object even while playing, and see its properties / objects / components.
You can drill in there to see what the current animation source is. It sounds like the animation source doesn’t get set back to the animation blueprint after the sequence finishes playing.
Controlling the character goes into the Character Controller, whereas animating goes into the Animation Blueprint that’s configured for the character Pawn Skinned Mesh component, so that’s where I would look for any discrepancies.

@jwatte

I see, thanks. Looking at the character blueprint during gameplay, however, it looks like he is using his animation blueprint. And I don’t see anything unusual in the AnimBP itself, although I’ll admit I don’t really know what to look for.

Although looking at the anim graph, I see there might be something odd going on. Ordinarily the state machine connected to the final animation pose will have a blinking executable thread, but while he’s playing the Sequencer animation (even after the Sequence is over) the thread doesn’t blink at all.

If that’s an indicator for some kind of problem, I have no idea how to fix it.

The Sequencer works by temporarily possessing your character (pawn) which disconnects the player controller.
Then, when it’s done, it’s supposed to relinquish possession, and set the controller back.
I think that happens, because you can move the character, but look in the logic for the character to see if it doesn’t work well with re-possessing.
You could add a button to unpossess the pawn, and then another to re-possess it, to see if you can trigger the same behavior.
Another option might perhaps be if the sequence somehow isn’t quite finished, but instead stuck at the end? That seems unlikely, but perhaps something to look at.

Actually, I just tried printing whether or not the Sequence “is playing” – and it is, even though it’s over. I tried adding a “stop Sequence” event at the end, but that didn’t fix the problem. (Although it did print correctly after that.)

If it’s not too much trouble, can you try to emulate my problem? If you just make a quick little Sequence with an animation, you might run into my issue, or you might happen upon a fix.

I swear, this shouldn’t be this tricky. Coming in and out of a cutscene is pretty basic stuff.

Well, that’s one step closer. Sadly, I’m not at a machine where this will be easy to emulate right now. Good luck, though – you probably want to report this as a bug on AnswerHub, and if it ends up being a problem in your project, at least the EPIC people may be able to find it.

why dont play the animation in the gameplay character while the secuence is working?

wouldnt it be along the lines of :

spawn player character > play cine using another player character > after cine finishes > possess from cine to player > destroy cine

something along those lines … ?

@jwatte

Thanks for all your help, I appreciate it. I’ve put up a post on AnswerHub, but no one’s responded yet. So, I guess we’ll see.

@erWilly

Could you be more clear? If I play an animation during the sequence, the character is stuck in that animation. That’s my main problem.

@Angrytoilet

I think that’s exactly what I’m doing already. My issue is syncing up the two copies, or better yet finding a way to rely on one pawn instead of two.

I think it’s going to be a matter of mixing camera play with starting the animation at the exact same pose as the player. Ending it with the play mesh in the same position.

Use some post-processing to help cover up any flaws.

How do you play the player animation? Using the Sequencer ?

I say that dont use the sequencer for the player, instead use the player animation blueprint. And use the Sequencer only for the cameras and effects.

Call the secuencer and the player animation in the same time.

this is a basic example.