unity2D横版游戏教程-3 Cinemachine镜头移动

Cinemachine是官方提供的摄像机工具组件,这个工具的用处还蛮大的,不过我们这里就简单说一下在2D游戏里面怎么实现镜头跟踪的效果,这里我们用Cinemachine代替使用Main Camera

我们想要让我们的镜头跟随我们的角色移动,包括跑步,跳跃等动画,当然用脚本控制Main Camera也可以实现,思路就是让Main Camera的transform里面的position实时的设置成角色的position即可

但是这样做的话我们可能会看到我们背景的边界,通过Cinemachine可以很方便的解决这个问题,可以精准的控制我们镜头的边界以及跟随问题

我们在Hierachy栏创建一个空组件,命名为Background,表示背景,然后从外面拖入一张图片用来做背景图片,这个可以自己找一张大一点的图片就行,把这个图片放在Background的下面当背景图片用

PS:如果需要这张图的话可以在这里取:https://pan.baidu.com/s/17zyG6etLABXqJuOmg0IjnQ

提取码:yjsl

unity2D横版游戏教程-3 Cinemachine镜头移动_第1张图片

 b7285b1b03004585a95d8398b98aec67.png

 这时候发现角色和地图不见了,因为被这个背景图片挡住了,类似于ps的图层一样,我们点击background,右边属性栏,在sprite Renderer(精灵渲染器)有一个sorting layer,这里我们可以设置图层渲染的顺序,越在上面的会先渲染

6a8e265efdb4473d924d69f342b75b0c.png

 我们创建player,Map,background,collection,Enemy五个图层顺序,我们把角色的Sorting layer设置成player,地图的的sorting layer在Tilemap Renderer那里,设置成Map,背景图片设置成background,collection和Enemy图层留着后面用

unity2D横版游戏教程-3 Cinemachine镜头移动_第2张图片

 接下来我们就要使用Cinemachine了,windows->Package Manager,打开package之后,左上角选择unity Registry,找到Cinemachine然后install即可

unity2D横版游戏教程-3 Cinemachine镜头移动_第3张图片

 安装完之后我们就可以在上面的Component找到Cinemachine了

unity2D横版游戏教程-3 Cinemachine镜头移动_第4张图片

 我们在Hierachy界面右键创建一个2D的camera

unity2D横版游戏教程-3 Cinemachine镜头移动_第5张图片

 unity2D横版游戏教程-3 Cinemachine镜头移动_第6张图片

 这个CM vcam1就是我们创建的2Dcamera,我们有了这个camera,原来那个Main camera的参数就没用了,我们设置一下这个CM vcam1

unity2D横版游戏教程-3 Cinemachine镜头移动_第7张图片

 通过设置这个Follow就可以设置我们的摄像头跟随哪个角色了,我们把player拖过来即可

然后还可以在Body调整它别的参数,在这里不在赘述,感兴趣的可以去试试

之后我们运行一下就可以发现我们镜头已经跟随我们角色在移动了

但是我们还没解决角色跳出边界的问题,这时候我们要为2Dcamera添加额外的一个组件,选中这个2Dcamera,在右边属性栏在最下面有一个Extensions(扩展),我们选择CinemachineConfiner,这个组件可以帮我们找到边界的位置

unity2D横版游戏教程-3 Cinemachine镜头移动_第8张图片

 选择之后我们还需要一个2D的collider(碰撞器)来确定镜头移动的范围,所谓我们给我们的Background添加一个collider,我们在Hierachy选中Background

6e19ced5d7324000bbb620dcaf0b8bb3.png

 在右边属性栏,添加一个Polygon Collider 2D(2D多边形碰撞器),因为2Dcamera需要的就是Polygon Collider 2D

unity2D横版游戏教程-3 Cinemachine镜头移动_第9张图片

 添加之后我们设置一下它的位置就行,直接拖拽多边形的顶点到合适的位置就行,如果你不需要某个顶点,按住ctrl,点击就能删掉了。如果你想拖得很精细的话可以放大

unity2D横版游戏教程-3 Cinemachine镜头移动_第10张图片

 调整好之后我们把这个碰撞器传给我们的2Dcamera

unity2D横版游戏教程-3 Cinemachine镜头移动_第11张图片

 点击运行之后发现我们的角色会直接掉落下去,因为我们给Background添加的是一个碰撞体,会和我们的游戏角色产生碰撞将我们的游戏角色弹走,所以我们给Polygon Collider 2D勾选is Trigger,is Trigger就是一个开关,如果勾选就可以把这个collider当做一个触发器而不是一个碰撞体,就不会和我们游戏角色发生冲突了

unity2D横版游戏教程-3 Cinemachine镜头移动_第12张图片

 我们再运行一下发现角色跳起来会卡顿,这是因为我们的镜头没有调整好,我们把镜头拉近一点

unity2D横版游戏教程-3 Cinemachine镜头移动_第13张图片

 我们在CM vcam1属性栏那里调整Ortho Size的大小就可以调整镜头离角色的距离,把Ortho Size调整到合适的大小,然后再运行就会发现没有卡顿的感觉了

 

你可能感兴趣的:(unity,游戏,unity)