How to Rotate Character After Playing Sequence?

I currently have a sequence set up that teleports the player after the sequence plays. However, After teleporting the player is facing the same direction as they were before the sequence, rather than the same direction as the camera after the sequence has played. So how can I have the character facing the direction I need them to after the sequence plays?

I’m using v 4.17.

First, to clean it up, you should make a function in your player, let’s call it “CinematicComplete”. Pass in the location of the interior actor as a parameter. Do the SetActorLocation in the function using the location parameter and then add a SetActorRotation, passing in the result of a GetWorldRotation from your camera component:

Alternatively, you can try GetControlRotation or GetBaseAimRotation. Which one of the three is best depends on the usage.

Oh, and you probably want to break the rotator and make a new one, passing only the yaw from the former to the latter. Otherwise your character will be pointing in exactly the same direction as the camera, which will make him so he’s not standing upright. Filter out the pitch/roll and you’re good.

I’m sorry, I’m sure you can see I’m quite a noob lol. I don’t get what you mean. I know what you mean by create a function but after that I’m having a hard time understanding. How can I get the rotation of the camera in the sequence in the level bp? or do you mean the camera attached to the player? In which case where do I determine how much the player rotates?

AHH I see what you mean. So after “setactorlocation”, drag off to “setcontrolrotation”, the target being the player controller. Split the “new rotation” pin struct and fill in the “yaw” axis. MUCH OBLIGED! Working like a charm.

Open your player blueprint and add the function there. Inside, it should look like this:

The answer to your question is the chain of nodes plugged into the Rotation pin of the SetActorLocationAndRotation node. Once you have that function, call it from your level blueprint and pass in the location you’re using now (GetActorLocation of “Marker”).