How can I use a camera that is not part of my character BP?

Previously, I have set up my character to use a SpringArm → Camera like the third person example. This works great, but I am trying to add a “first person free look” camera mode (like looking through the character eyes). I’ve got this 95% working by replacing the camera in the spring arm with a “dummy” transform, and also adding another “dummy” transform at the characters eyes. I’ve also removed the camera from the spring arm, and just left it as a child to the character BP root. So now I thought I could just lerp the camera between these two points but I’m getting some pretty bad jitter now when the character moves/rotates. I believe this is because the camera is not a child of the spring joint anymore, and so when the character moves of course the camera would move with it, and even though I am hard assigning the camera position, there’s some update that’s causing a moment of mismatch. You can see this happening in the video below:


(Note how spinning the camera around the player is smooth, but when I run in one direction, then turn around the camera jumps oddly)

So I figured I just need to remove the camera entirely from the CharacterBP, that way it can stay in worldspace and completely ignore the character, and just lerp that worldspace camera to the point I want. I’m having trouble setting this up. Is this how it is commonly done?

If so, if I have a Camera actor placed in the world, set to Auto Activate for Player 0, how do I get a reference to this camera on the player so that I can move this camera directly with set location/rotation?

Trying Get Player Controller (player index 0) → Player Camera Manager → Set actor location is not doing anything. So I figured it was wrong. Google results are garbage and I can’t find any related info.

I would be grateful for any advice. Thanks

Maybe this tutorial can help :innocent:

Thanks. I’ve watched this, and they are just toggling cameras on or off, but I’m specifically looking to transition between these two positions. I already have this functionally working how I want, but
it’s resulted in this gross jitter as shown in the OP. So I figured if I need to be moving the cameras manually to position them how I want, they shouldn’t actually be part of the CharacterBP, and this lead me to making this post

I see. I couldn’t be sure with the video you provided showcasing the issue.

Is this your objective?

If that is the 3rd person demo, that also have normal camera orbit around the player. And doesn’t jitter when the player is moving around in third person. It might be

Alright :cowboy_hat_face:

So here’s the Event Graph of the character BP:

Transition to First Person View:

Transition to Third Person View:

The timeline:

And here’s the final result:


I see. Might be due to your implementation. This approach doesn’t have that issue, try it out!

Hope this helps! :blush:

Thank you. I appreciate you taking the time for this. I’m afraid it was not quite what I was after. While the end result is maybe similar, I did already have it functionally working in my project, but the original question was asking about removing the camera from the character entirely and having it in the world and more about the setup required to do so, which I believe was the root of my issue as explained in the OP.

The steps I found that I needed to take are as follows; Add a CameraActor to the scene view, disable Auto Activate on it, and in the CharacterBP Find that actor by class and keep a reference to it, then set that as the view target (Set View Target With Blend with a reference to the controller). This places the camera in worldspace correctly, so it doesn’t care about the character transform hierarchy messing around with the position when I don’t want it to, and I can just move this camera actor around however I see fit, lerp it to different targets, etc. Feels like a much more robust setup than having the camera stuck in the CharacterBP actor.

Here is the final result using the same logic I had earlier, and just snapping the camera to the calculated position I had. Jitter free now that the camera is not a child of the character.