How to make smooth Camera Switch Transition

Hey guys, i reworked the BP_ThirdPersonCharacter and added a simple toggle to switch between FirstPersonCamera and ThirdPersonCamera.

Now i want to try add a timeline and make it as a smooth “zoom in/zoom out” transition.
But i have problems, where and how to set the timeline correctly.

I would be very happy if someone can help.

best regards

If these are two separate actors ( looks like it from the variables ), you can just use ‘set view target with blend’

1 Like

You’re switching between 2 cameras so a timeline will not help you much, at least not just like that. We’d need to move one of the cameras towards the other and vice versa.

When you’re in the 3rd person cam:

  • rather than flipping cameras, lerp the 3rd cam’s transform towards the 1st one
  • once the timeline has finished, switch cameras
  • move the 3rd person cam to its original location
  • apply reverse logic for the 1st person cam

You may get a good result with tInterpTo instead of the Timeline with this method as well.


It might be more desirable to have a single camera only and move it between 2 pre-set locations:

Play the TL in reverse to switch back.


Alternatively, for multiple cameras and their transitions, consider letting the Set View Target with Blend handle the translation - Blend Time, Blend Func (curve) and the Exponent provide a bit of granular control.

In this case it would be a matter of keeping only 1 camera Activated and then firing Set View Target - that node will switch to the first active camera it finds over Blend Time.


If these are two separate actors ( looks like it from the variables )

They’re comps but it will work with 1 actor, too - just keep one desired camera active. Making the cameras separate (child) actors would also work well, ofc.

4 Likes

Hey thank you for the answers!
Maybe i have to say, that i am relative new to UE. It help me, if i start a complete new project.
But i want to understand it a little bit better and just include it in my own Event Graph.

Can someone explain it in few steps for my better understanding?

With this solution its hard to work for me, because i need first “Set Player Controller” and i dont use it in my event graph before, so its kind of tricky for me.

It looks for me like a good solution that i can put into my event graph, but i work with 2 different cameras and dont figured out since now how to work with one cam and 2 views.

So maybe it will be great, when someone can use my event graph and explain me how i get the blend into that? IF its possible?

Sorry :smiley: i really try to understand the logics. And i sitting now for 1 hour on this two solutions and trying many things, but i dont get the result that i need. thanks!

No need to set a controller:

image

For the most straightforward method:

  • create an actor with just a camera:

image

  • add 2 child actor components to the character, and have them instantiate that camera actor:

  • simple Flip Flop script:

This requires no timeline or activating / deactivating components. You may want to add a delayed gate so the user cannot spam the button. Set View Target does not like interruption - the system has no idea about the very interpolation it’s performing. :slight_smile:

2 Likes

Got it

But the movement is wrong now.

How i can fix it?

In the third person camera its complete wrong.
In the first person camera it “feels” wrong.

Here a video documentation:

@ Have you any ideas to fix that?

Can you show the actor hierarchy after adding the CACs?