BlendListCamera, but manually controlled?

I’m setting up cinematic camera shots for different abilities in a game. Each ability has its own set of virtual cameras, and configures/enables them at the appropriate moments.

That’s working well, but I have one problem: configuring the blends. Right now, I just have unique names for each camera, so I can put everything into the CinemachineBrain’s custom blend list. I imagine that’s going to get annoying as I add more and more abilities, however, and I want to be able to easily adjust the durations of the blends on the fly.

BlendListCamera sounds like what I need: a list of cameras with specific blends between each camera.

However, I need to trigger these blends via a script, rather than just doing it at specific times. How can I do that?

StateDrivenCamera sounded relevant, but it looks like it wants an entire animator, which is a bit overkill – all I need is to say “okay, next camera” to advance through a list of virtual cameras.

It sounds like the Custom Blends approach is the way to go. Whatever the solution, you’re going to have to manage a list of blends that will grow as the number of abilities increases. I don’t really see a way around that. You can use wildcards in the custom blends where appropriate, reducing the total number of entries in the list.

1 Like

Alrighty, I’ll go with that for now. Thanks!

I am still curious about making a tweaked version of CinemachineBlendListCamera that runs manually, though – might give that a go later on.

You can certainly do that. Make a copy of BCinemachineBlendListCamera.cs, rename it, and modify as you see fit. In general, it fits into the “manager” style of vcam: a node that manages its vcam children according to its internal logic. Just ask here if you need help, and feel free to post your new class for others to use.