在Package Manager中下载Cinemachine
创建一个Virtual Camera,然后会发现Main Camera后面多出了个标志,而且属性也不能再修改了
因为绑定了CinemachineBrain,它会读取场景中某个虚拟相机的配置,并以此配置来控制相机的行为,如果要修改相机视野、位置之类的属性,必须到虚拟相机这里修改
可以在场景中定义任意数量的虚拟相机,并随时在这些虚拟相机之间切换
Cinemachine Brain相关属性
Live Camera:可以看到正在使用哪一个虚拟相机的配置
Live Blend:指的是当前的虚拟相机的切换过程,当在游戏中从虚拟相机一转换到虚拟相机二
Show Debug Text:显示Debug文本,勾选后可以在Game视窗看到属性一和属性二,就是当前使用的相机和正在转换的虚拟相机
Show Camera Frustum:显示当前的视锥体,视锥体是相机的可视范围
lgnore Time Scale:表示相机的行为是否受时间缩放值的影响
World Up Override:相机在运镜的时候会有一个上方的概念,这个默认的上方就是指世界坐标系下的“上”,也就是世界坐标系下y轴的方向。如果相机本地坐标系的y轴和世界坐标系下的y轴之间的夹角大于90度时,相机会重设自己的方向,让本地的y轴和指向“上方”的那个轴之间的夹角小于90度(俯视类的游戏经常出现这种问题)。如果我们不需要这种重置的方式,可以放置一个游戏对象,使用这个游戏对象的y轴来代替相机默认的“上方”,也就是游戏对象的y轴来代替世界坐标系下的y轴
Update Method:指虚拟相机的行为与什么同步
-
Fixed Update:就是与物理引擎同步
-
Late Update:就是与画面绘制同步
-
Smart Update:就是Unity会根据实际情况帮我们选择如何同步
-
manual Update:就是我们自己编写代码控制相机的行为的同步时间
Blend Update Method:指的是两个虚拟相机之间的切换行为与什么进行同步。
-
Fixed Update:是在引擎中可以设置的更新时间,默认0.02秒。
-
LateUpdate:是物理引擎当前帧的所有update执行完成后顺序执行的帧,一般针对相机的位移要放在这里
Default Blend:默认的相机切换模式,后面的s是相机切换的时间
-
Cut:瞬间切换,就是两个相机切换在一瞬间,没有过渡
-
Ease In Out:从一个相机慢慢的加速切出,向另一个相机慢慢的减速切入
-
Ease In:匀速切出,慢慢的减速切入
-
Ease Out:慢慢的加速切出,匀速切入
-
Hard In:加速切入
-
Hard Out :快速的加速切出
-
linear:全程匀速切换
-
Custom:自定义切入切出曲线
Custom Blends:建立一个资源文件,在资源文件里可以针对不同的相机定制不同的切换模式
例:从ANY CAMERA相机到Top Down Cam相机,切换风格是均匀切出,慢慢的减速切入,平滑事件为2s
Events:相机的一些事件触发
1、Cut Event:相机之间发生了cut,也就是瞬间切换时要触发的事件
2、Activated Event:相机之间要发生的切换,但不是瞬间完成的cut,那么在切换的第一帧时所要触发的事件