【Unity-Cinemachine相机】Cinemachine Brain属性详解

在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,那么在切换的第一帧时所要触发的事件

相关推荐
Igallta_8136222 小时前
【小游戏】C++控制台版本俄罗斯轮盘赌
c语言·开发语言·c++·windows·游戏·游戏程序
虾球xz3 小时前
游戏引擎学习第114天
学习·游戏引擎
虾球xz5 小时前
游戏引擎学习第109天
学习·游戏引擎
心疼你的一切5 小时前
C# 中关于补位的写法 PadLeft,PadRight 函数
开发语言·unity·c#·游戏引擎·csdn·心疼你的一切
沐沐森的故事8 小时前
Unity for Python —— 强大的 Python 脚本支持提升 Unity 编辑器效率
python·unity·编辑器·pythonrunner·pythonengine
xklcy10 小时前
Unity通过Vosk实现离线语音识别方法
unity·语音识别
虾球xz13 小时前
游戏引擎学习第113天
学习·游戏引擎
老朱佩琪!1 天前
在Unity中用简单工厂模式模拟原神中的元素反应
unity·简单工厂模式
虾球xz1 天前
游戏引擎学习第111天
学习·游戏引擎
程序猿多布2 天前
预定义委托(C# and Unity)
unity·c#