Unity3d Unity Cinemachine:如何将当前活动虚拟摄影机存储到变量中?

Unity3d Unity Cinemachine:如何将当前活动虚拟摄影机存储到变量中?,unity3d,camera,cinemachine,Unity3d,Camera,Cinemachine,基本上,我希望获得当前的实时虚拟摄像机,并将其存储在CinemachineVirtualCamera变量中 public CinemachineBrain cine; public CinemachineVirtualCamera VirtualCamera; void Start() { VirtualCamera = cine.ActiveVirtualCamera; } 但它给了我一个错误:“无法将类型Cinemachine.ICinemachineCamera转换

基本上,我希望获得当前的实时虚拟摄像机,并将其存储在CinemachineVirtualCamera变量中

 public CinemachineBrain cine;
 public CinemachineVirtualCamera VirtualCamera;

 void Start()
 {
     VirtualCamera = cine.ActiveVirtualCamera;
 }
但它给了我一个错误:“无法将类型Cinemachine.ICinemachineCamera转换为Cinemachine.CinemachineVirtualCamera”

我已经尝试过强制转换,但它不起作用,变量仍然为null

我也试过:

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

有人能帮帮我吗?

你需要等一帧,然后CinemachineBrain才能启动摄像头

IEnumerator Start()
{
    yield return null;
    VirtualCamera = cine.ActiveVirtualCamera as CinemachineVirtualCamera;
}

就这样。非常感谢你。