I am implementing Cinemachine in a project that features both a first person camera and a top-down orthographic camera (basically pieces on a game board). I want to be able to smoothly transition from one camera to the other.
The problem is that when interpolating between the orthographic camera and the perspective camera, the brain decides to transition between the two by increasing the orthographic size of the ortho cam while adjusting position before switching to perspective – this creates a visual effect where the camera seems to zoom way out before jumping back to a more accurate position.

You can also see in the editor view how the camera brain moves and scales.

I have found some potential workarounds, such as transitioning through an intermediary camera, but I was wondering if there is a way to adjust the blend parameters to tweak how this blend occurs – something like capping the maximum orthographic size during the blend, or changing when the transition from orthographic to perspective occurs so its not directly in the middle of the transition…any thoughts on best practices to tackle this much appreciated!
It’s not impossible. Here is a rather old post detailing one way to do it:
(shot transition from perspective to orthographic?)
With CM3, there is also the possibility of implementing a custom blend. Have a look at the Custom Blends sample scene that ships with CM3.
Going off that older post, unless I’m mistaken, it seems like that solution is essentially transitioning between three cameras: the ortho view, a perspective camera that closely matches the ortho view, and the final perspective view.
Is there a function to queue up blends so these would blend sequentially? I’ve looked at checking IsBlending on the brain, but seems like there might be a cleaner option?
Are you using CM3? If so, then yes there are some nice options available to you. You have events telling you when blends start and stop, so you can hook into them and automate things that way.
Alternatively, you can use the CinemachineSequencerCamera to play a sequence of blends.
But better still, with CM3 it’s possible to create custom blend algorithms so that you can do the blend without an intermediate camera. I was playing around with it this morning and came up with something that seems to do the job. It’s a custom blender that kicks in when blending between ortho and perspective cameras. No special setup is needed, just drop it in your scene. I’ll attach it here.
PerspectiveToOrthoBlendVersion2.unitypackage (166.5 KB)
EDIT: cleaned up and improved the implementation
My god, that works perfectly! Thanks so much.
Going to need to learn how to write custom blends one of these days I guess…