1

Basically I'd like to get the current live virtual camera and store it in a CinemachineVirtualCamera variable.

 public CinemachineBrain cine;
 public CinemachineVirtualCamera VirtualCamera;

 void Start()
 {
     VirtualCamera = cine.ActiveVirtualCamera;
 }

But it gives me an error that says: "Can't convert type Cinemachine.ICinemachineCamera to Cinemachine.CinemachineVirtualCamera"

I've already tried casting but it doesn't work, the variable remains null.

I've also tried:

 VirtualCamera = cine.ActiveVirtualCamera.VirtualCameraGameObject.GetComponent<CinemachineVirtualCamera>();

Can someone help me please?

Teolul
  • 21
  • 1
  • 4

1 Answers1

5

You need to wait a frame before CinemachineBrain gets an active camera.

IEnumerator Start()
{
    yield return null;
    VirtualCamera = cine.ActiveVirtualCamera as CinemachineVirtualCamera;
}
luvjungle
  • 1,046
  • 7
  • 14