Cinemachine是Unity2017版以后出的一个相机管理工具.有了它我们可以制作出电影级别的分镜,推拉式镜头等.可以让游戏变得更加有代入感.本篇文章讲介绍Cinemachine的Clear Shot(镜头切换)的功能.我会谈到如何使用Clear Shot Collider组件配合多个虚拟相机,在角色移动的时候去切换镜头.
1. 首先一定要注意,只有2017.1之后版本的Unity才可以使用Cinemachine.我使用的是2017.1.新建一个项目.
2. 下载Cinemachine并导入你的项目中.
3.然后将虚拟相机创建出来,在菜单的这个地方创建.
4.选中它,接下来我们看看它的属性,我们可以在此设置所有场景中要用到的镜头.
5.创建完成以后会自动生成一个虚拟相机作为子对象.再把已经存在的虚拟相机都作为它的子对象吧.
6.现在CM ClearShot已经存在两个子物体虚拟相机,然后我们点击加号可以再增加一个虚拟相机.
7.然后告诉他要追踪哪个对象(指定对象的某个位置)
8.我们还需要给每一个子相机添加碰撞组件.这个组件是用来计算什么时候进行镜头切换的.
9.在碰撞器组件上我们可以设置碰撞层,本示例使用默认层.
10.还要将每一个子相机的保持视线(Preserve Line Of Sight)取消勾选,这样相机会在自己的位置上停留.注意三个子相机都要取消勾选.
11.下面请看这个属性,调整这个值可以设置相机的优先权重.Cinemachine会优先使用拥有较高值的相机.
12.另外如果勾选随机抽取,便会随机使用一个镜头.
13.运行可以看到,当角色走出一个相机的碰撞区便会切换到另一个相机镜头.
14.调整每个相机的最佳目标距离(Optimal Target Distance),可以让相机选择最佳的目标点.需要多次调试来获取最佳值.
15.最后我要把镜头融合变换选择为Cut
16.最后我们可以看到,使用Cinemachine可以简单快速的完成镜头切换功能,轻松创建各类游戏的视觉体验.你学会了吗?