大家好,又见面了,我是你们的朋友全栈君。
准备
在PackageManager中安装Cinemachine包。
1.CinemachineBrain组件
相当于虚拟相机的总管理。
参数介绍: Live Camera:当前显示的相机 Live Blend:过度相机时显示进度 Show Debug Text:在Game视窗里显示当前使用的相机
Show Camera Frustum:显示视锥 Ignore Time Scale:是否受TimeScale影响 World Up Override:自己设置覆盖Y轴防止万向节死锁。 Update Method:Update方法,选择默认的SmartUpdate即可。 Blend Update Method:相机混合时的Update方法。 Default Blend:混合时的曲线,比如线性或者Ease之类,也可以自定义。 Custom Blends:自定义混合方案。 Events:虚拟摄像机激活时将触发此事件。如果涉及混合,则事件在混合的第一帧时触发。
2.2D虚拟相机
通过选择菜单栏中的Cinemachine可以创建我们需要的虚拟相机。(注意相机要改为Orthographic) 参数介绍 Status Live:勾选solo意味只使用这一个相机。 Game Windows Guides:是否在游戏视窗显示线框
Save During Play:勾选后可以在运行时保存组件的修改。 Priority:根据数值大小决定优先显示哪个相机,越大的优先级越高 Follow:相机跟随目标 Look At:看向目标,相机不动(2D基本不用,大多数用Follow) Mode Override:相机模式选择 Ortho Filed:Orthographic模式下视野大小 Dutch:z轴旋转 Damping相关(阻尼):镜头缓动效果 ScreenX和ScreenY:镜头偏移 Dead Zone(死区):死区内镜头不会一直跟随。 Soft Zone(软区):在软区内镜头会缓慢跟随目标。超出软区相机会瞬移跟随。 Unlimited Soft Zone:不限制软区(去除红色部分) 下图中黑色部分为死区,蓝色部分为软区,超出红色会瞬移。
Lookahead Time:如果设置的话跟随目标点就会朝移动方向偏移,这样做比如在2D游戏中就可以看到更前面的视野。 Lookahead Smoothing:平滑值。 Lookahead Ignore Y:忽略Y轴影响。(2D游戏经常勾选,不然可能会导致镜头不稳) 黄点就是设置了Lookahead后所带来的偏移。
我们可以通过选择Extensions->AddExtension->CinemachineConfiner来为虚拟相机添加限制。
有两种方式,一种是新建一个空物体添加PolygonCollider2D组建调整好大小赋值过来。另一种如下图。
关于虚拟相机之间的切换我们常用的有两种,一种是设置Priority,会显示优先级高的。另一种是优先显示激活状态的相机,可以通过激活失活虚拟相机进行显示切换。
3.3D虚拟相机
这里只针对与2D虚拟相机的不同之处进行讲解。
参数介绍: Field Of View:Perspective模式下视野大小 Near Clip Plane:下图部分与相机距离
Far Clip Plane:下图部分与相机距离
Noise:相机效果 Noise Profile:效果选择 Amplitude Gain:振幅 Frequence Gain:频率
要用ctrl shift f
调整相机位置时最好勾选目标相机的solo,不然可能会出bug调整所有相机。
3D镜头限制
利用Timeline控制虚拟相机
创建Timeline
我们可以在Window->Sequencing->Timeline打开Timeline面板。如果没有该选项的话可以在Window->PackageManager中进行下载。之后选中场景中物体点击Create即可创建新的Timeline。
创建后会自带一个Animation Track,并且选中物体上会添加一个Animator。我们暂时用不到直接删除。 我们可以右键左侧或者点击加号创建Cinemachine Track。
创建后需要给Track添加一个Cinemachine Brain组件。
之后直接往Track中拖入虚拟相机即可(或者右键选择Add Cinemachine Shot)。并且可以拖拽模块实现混合效果。
关于body和aim
body aim
Target Group Camera
Target Group Camera
镜头震动
镜头震动
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140276.html原文链接:https://javaforall.cn