游戏原型系列 vol.3 The Cinemachine Brain-2019.3
摘要
Cinemachine的工作原理与多机位电影放映中的技术总监一样,在Unity项目中控制和控制相机。它的核心是Cinemachine Brain,它可以控制多个虚拟摄像机。在本教程中,您将为项目添加并配置Cinemachine Brain。
1.什么是Cinemachine Brain?
在教程开始之前,请确保你的Unity版本在2019.3以上。
Cinemachine的工作原理与多机位电影放映中的技术总监一样,在Unity项目中控制和控制相机。但是,Cinemachine不是在一个场景中拥有多个标准主摄像机,而是与虚拟摄像机(或vcam)一起工作,并在主摄像机上使用Cinemachine Brain。
Cinemachine通过Cinemachine Brain组件(图01 )控制Unity摄像机,该组件在您首次创建Cinemachine摄像机时自动添加到主摄像机中。您可以通过对虚拟摄影机进行动画处理,混合,使用其程序动画功能或上述方式的任意组合来使用虚拟摄影机。Cinemachine Brain会获取所有动画并将其应用于主摄像机。

2.配置电影机器大脑
Cinemachine Brain具有以下参数和选项:
显示调试文本(Show Debug Text):显示当前哪个Cinemachine虚拟摄像机控制着Unity主摄像机。如果摄像机在多台Cinemachine摄像机之间进行混合,则会列出它们对整体混合的比例。
显示摄像机视锥(Show Camera Frustum):显示摄像机可以看到场景的哪一部分
忽略时间比例(Ignore Time Scale):使Cinemachine实时响应,即使游戏正在快速或慢动作运行或暂停。
World Up Override(世界向上方向覆盖) :通过拖动任何对象并将其旋转来指定其Y轴将成为世界上“向上”矢量的变换。保留为空,将使用世界的Y轴。在极端情况下,这有助于相机保持正确的方向并防止万向架(Gimbal)锁定(失去一个旋转自由度)。在游戏或相机大多是上下观察时非常有用。
更新方法(Update Method):选择何时更新相机的位置和方向。如果由于对象在固定更新(Fixed Update)或后期更新模式(Late Update)下或以二者的组合进行动画处理而变得不顺畅或任何其他不平滑的行为,这一点很重要。
默认混合(Default Blend):在Cinemachine摄像机之间混合时以及过渡需要多长时间时,此选项选择过渡曲线的形状。默认情况下,使用“缓入(Ease In out)”曲线形状进行两秒钟的混合。每种曲线类型都为相机的行为增添了不同的感觉,并可以为您的世界添加微妙的细节。例如,线性混合可以增强科幻游戏中机器人控制相机的可信度。
自定义混合(Custom Blends):自定义混合也是可能的,并存储在Cinemachine Blend Settings文件中。单击创建资产(图02 )以创建一个设置文件,用于存储自定义混合。

3.自定义混合
自定义混合指定要在哪个(或任何)摄像机之间来回过渡,描述混合的平滑度或清晰度的曲线形状以及以秒为单位的持续时间。(图03 )

请注意,您可以指定任意两个摄像机之间的混合,并且选项“ ANY CAMERA” 也支持通配符。这样,您就可以定义任何摄像机的单个自定义混合。由于自定义混合是由文件定义的,因此可以根据级别或角色或任何其他因素来切换它们,从而提供了令人难以置信的控制程度。
可用的曲线样式为:
剪切(Cut):看起来很像没有过渡时间,而是将控制权立即从一台摄像机移交给另一台摄像机。
淡入淡出Ease In Out(默认):此过渡开始并顺利结束。
缓入(Ease In):控制以线性(机械)方式从“发自”摄影机过渡出来,并缓和进入到摄影机
缓和(Ease Out):控制可轻松缓和“从”相机,并线性过渡“到”相机
Hard In(硬入):控件可轻松缓和From(从)相机,然后硬过渡到To(向)相机
硬出(Hard Out):控制从“硬”相机过渡到“硬”相机,并轻柔地过渡“到”相机
线性(Linear):控制从和到摄像机之间的线性过渡
自定义(Custom):该选项允许您创建自己的自定义曲线。
Cinemachine Brain处理两个事件:
摄像头剪切(Camera cut):只要虚拟摄像头进行控制且没有混合,就会触发此事件。与摄影一样,Unity会切入该虚拟摄像机。
摄像机已激活(Camera activated):摄像机被激活后,便会触发此事件。当您剪切到相机时,以及在混合中包含相机时,也会在第一帧时触发。
4.结论
Cinemachine Brain看似简单实则功能强大,掌握它是使用Cinemachine进行智能摄像机控制的关键。