Is there a best practice for multiple camera vehicles?

I am prototyping with a tank vehicle (see pic below) that will have a gunner and a driver. Each will have their own view, or camera, relative to the tank. When they mount the vehicle, they will blend from first person character to third person vehicle.

I have currently two Seat Actors (PilotSeat & Gunner Seat). When the player gets near a Seat Actor, he can interact with it, which leads to sitting in the Seat. The Seat would then receive inputs when the IMC for the Seat is pushed on the stack and the Seat would then process and then forward the appropriate event to their parent Pawn, without having to know anything about the parent other than it should support the event the Seat Actor is firing.

I found this approach very useful from a scripting perspective, but it requires me to Attach the Seat Actors to the Vehicle Pawn when the Vehicle spawns.

Next, if I have two Camera Components on the tank, then only one would be accessible using the blend node.

So I tried to give each Seat their own Camera, and that worked. But from a designers’ perspective, it was difficult to determine where the origin of the SpringArm should position relative to the Seat. Sitting up the Seat BP was a hit and miss sort of experience - not good!

So I now have two Seat Actors and two Seat Cam Actors. I can Attach each Actor to the tank simply to their respective Sockets. When someone sits in a Seat, the Seat then assigns and blends to its respective Camera. And this makes the process trivial for designers.

(Also, in case anyone asks, I could not use Actor Components, because the Set View Target with Blend node would then only consider the vehicle as the Actor to consider.)

But it seems like I am over engineering this by having to attach Actors to the Pawn at run time. Is there a simpler way to achieve all of these goals with just the vehicle Pawn? If so, can someone point me to a sample/video/tutorial?

Not sure I understood the entirety of the setup but the Set View Target with Blend node is dumb. Literally - it has next to no functionality and does not even track what it’s doing. You can’t even query it for data during movement. Although you could query the camera manager.


Option 1:

Have only 1 camera ever and interpolate its transform between set coordinates - you could use an arrow as a visual guide to set up Points of View (instead of many cameras), employ a timeline and have it lerp.

What’s more - you could set up splines connecting the desired PoVs - this would allow you to animate the camera path along a spline with much more granularity and fidelity. You determine the path and timing, you dictate when additional events trigger the transition. And you can handle animation target interruptions the Set View Target with Blend would be unhappy about.

Option 2:

If you must rely on the Set View Target with Blend I’ve been offended badly, you still can, ofc. It finds the first active camera on an actor - take advantage of that. It’s a matter of activating cameras and then blending. Technically, no blending is needed if you just watch switch instantaneously:

Alternatively, wrap the camera in Child Actor Components and have the Set View Target with Blend target those.


Not many camera options in UE :expressionless:

1 Like

Hi @Everynone ,

I actually read that entire thread a few days ago.

It was my experience that deactivating a camera did nothing for the blend node. The blend node would by default pick the pilot camera. So I would deactivate the pilot camera and activate the gunner camera. But the gunner would still get the pilot camera.

Am I incorrect?

Also, I thought about going down option 1 already, but I didn’t because it seems like a lot of work, which is exactly what I would think I should not have to do since UE5 is bloated with so much code that does “so many things already”.

But. ya, I think I will look into option 1 going forward…

EDIT: As I was thinking about it, I will go down option 1. I can see huge benefits to how the camera can follow in third person the pilot climbing into the cockpit and then pulling back behind the tank. And I can see the camera pulling back to third person as the gunner climbs in and then follow him into the turret, then push forward to see his gunners console where he can switch his screen to infrared, ultra violet, or other spectrum (ala Preditor) to light up the enemy or other vehicles. I really like this idea of using a spline to make for a highly polished experience. And I can see tracking the camera to the animation itself. Thanks!

EDIT: Also, I verified what you said, I attached the Seat Actors into the Vehicle BP as Actor Components, and yes indeed the blend node does recognize their camera apart from the vehicle Actor. I think the issue I was coming across before was the spring arm was collapsing within the cockpit, leading me to think that I was still using the character’s camera. This eliminated attaching Actors at runtime.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.