How would I keep the camera at the same angle in comparison to the new character?

As you see in the video below, it zooms in, your character switches and you are now the new character. But as you can see, the camera rotation stays at the same angle. As it zooms in at the front of your head, but zooms out at the back of it.

How would I make it so that the Camera would rotate according to the new character? So for example, if camera zoomed into the face, how would i make it unzoom from the face if the new character has been rotated?

I tried to use :ToObjectSpace() but It didn’t seem to work or I just did it wrong (Horrible at CFrame, guilty) The code I tried is below.

local CameraCFrame = workspace.CurrentCamera.CFrame:ToObjectSpace(Player.Character.Head.CFrame)
--CameraSwitch
workspace.CurrentCamera.CFrame = NewCharacter.Head.CFrame * CameraCFrame

I think that you could just make the new character look to where the camera is, but if you really want the camera to be facing the face of the new character you can take the cframe of the head of the new character and then multiply it by -1, this will give the negative version of the cframe, but i don’t know if this would work, i’m just using basic math, i don’t even know if this works with cframe, but you can give it a try! I’m really bad at CFraming either xD