【Unity2D】相机移动以及设置相机边界

添加相机

添加相机时,首先需要在unity中添加 Cinemachine 包

第一次使用这个包时,需要在Package Manager中搜索并安装

【Unity2D】相机移动以及设置相机边界_第1张图片

【Unity2D】相机移动以及设置相机边界_第2张图片

 安装Camera Mechine包后,添加2D Camera

【Unity2D】相机移动以及设置相机边界_第3张图片

设置跟随对象为Ruby (从Hierarchy中将Ruby拖动到Follow中)

 【Unity2D】相机移动以及设置相机边界_第4张图片

同时,由于世界是有边界的,要为相机设置边界

通过添加Extension为相机添加Confiner(约束)

常用的约束有Composite Collider 2D 或 Polygon Collider 2D。对应着下面两种设置相机边界的方法

在Extension中选择要添加的Confiner

【Unity2D】相机移动以及设置相机边界_第5张图片

 

下图是使用Polygon Collider 的示例

【Unity2D】相机移动以及设置相机边界_第6张图片

设置相机边界

  在Hierarchy中添加空物体 

【Unity2D】相机移动以及设置相机边界_第7张图片

 使用Polygon Collider(五边形碰撞体边界),所以在空物体中添加Polygon Collider 2D 组件

【Unity2D】相机移动以及设置相机边界_第8张图片

 点击 Edit Collider ,拖动五边形,设置五边形边界的位置为合适位置

此时,如果尝试单击 Play 来运行游戏,你的角色将从屏幕上消失。如果在 Scene 视图中查看,就会看到角色被推到了世界之外。因为世界现在位于大型碰撞体内,所以物理系统会直接将你的角色推出去。

所以需要给 Polygon Collider设置层级

点击Inspector上方的 Layers 然后Edit Layers

编辑一个合适的层级作为我们的Polygon Collider的层级,将其改名为Confiner

【Unity2D】相机移动以及设置相机边界_第9张图片

然后将 Polygon Collider的Layer选定为Confiner

 【Unity2D】相机移动以及设置相机边界_第10张图片

 选择 Edit > Project Settings > Physics 2D,然后取消勾选 Confiner 图层中的所有条目

【Unity2D】相机移动以及设置相机边界_第11张图片

这样Confiner将不会与任何其他物体碰撞

做完以上工作,我们的相机就可以实现跟随了,并且人物走到边界时,相机将不再移动

最后,我们为地图的四周设置碰撞体边界,即可防止相机不移动而人物仍可穿过地图边界

这个只需要在Hierarchy中添加四个空的Object,在Object中添加Box Collider组件,将其拉成矩形移动到地图的四边即可

如图,这是我的地图的下边界

【Unity2D】相机移动以及设置相机边界_第12张图片

同理设置上,左,右边界即可

选择Create Empty Child 创建一个空文件夹,命名为Confiners ,将 Confiner 、上下左右边界均添加到Confiners中,这样便于管理我们所有的边界

【Unity2D】相机移动以及设置相机边界_第13张图片【Unity2D】相机移动以及设置相机边界_第14张图片

 到这里就完成了!

 

 

 

 

 

 

你可能感兴趣的:(数码相机)