Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用。
如果你的工程里没有安装Cinemachine,首先要到Package Manager中去下载安装:
使用Vitural Camera虚拟相机前,需要给场景里的Main Camera主相机添加Cinemachine Brain组件,该组件用于管理所有的虚拟相机。
有了Brain之后,添加第一个虚拟相机,创建一个空物体,添加Cinemachine Virtual Camera组件,该虚拟相机我们用于在小车移动过程中始终看向小车,为Look At设置目标,即我们的小车,Aim负责处理焦点和跟踪目标在镜头中的相对位置,包含五种类型:
Composer:基本类型
Group Composer:跟踪群体中的某个位置
POV:模拟第一人称相机的视野控制
Hard Look At:锁定一个目标
Same As Follow:跟踪一个目标
这里我们使用Hard Look At实现始终看向小车:
创建一个空物体并添加Playable Director组件,用于控制Timeline的播放,创建一个Timeline资产并赋予该组件:
双击打开Timeline窗口进行编辑,右键添加一个Cinemachine Track:
为Cinemachine Track添加Brain,即我们的主相机,将创建好的第一个虚拟相机拖入,播放进行预览:
接下来添加第二个虚拟相机,该虚拟相机用于小车简短的移动之后,持续跟随小车移动。为Follow设置目标,Body负责处理相机与跟随目标之间的相对位置,包含以下类型:
3rd Person Follow:持续跟随目标移动
Farming Transposer:在屏幕空间计算相机和目标的偏移值
Hard Lock To Target:将相机和目标的位置、朝向进行绑定
Obital Transposer:根据输入绕目标旋转
Transposer:基本类型
这里我们使用3rd Person Follow实现持续跟随小车移动:
将第二个虚拟相机也拖入Timeline中的Cinemachine Track,播放进行预览:
现在已经实现镜头的切换,但是切换比较直接,镜头的融合也是Cinemachine的一个特色,只需要在Track中进行适当调整,将两个虚拟相机的轨道进行相交:
同上方式,添加不同的虚拟相机轨道即可实现开篇中的镜头效果