添加相机
添加相机时,首先需要在unity中添加 Cinemachine 包
第一次使用这个包时,需要在Package Manager中搜索并安装
![](https://img-blog.csdnimg.cn/434708ecd4e049b48bbc3561e51a7f4c.png)
![](https://img-blog.csdnimg.cn/1187b06451314e12839e8056e86a44d0.png)
安装Camera Mechine包后,添加2D Camera
![](https://img-blog.csdnimg.cn/eb70c33b7b6c46498c18a6d0b7ae1c14.png)
设置跟随对象为Ruby (从Hierarchy中将Ruby拖动到Follow中)
![](https://img-blog.csdnimg.cn/82cae8ba0a3f46a383fa3af044c3662a.png)
同时,由于世界是有边界的,要为相机设置边界
通过添加Extension为相机添加Confiner(约束)
常用的约束有Composite Collider 2D 或 Polygon Collider 2D。对应着下面两种设置相机边界的方法
在Extension中选择要添加的Confiner
![](https://img-blog.csdnimg.cn/60c506682cab46c3817b8bc8cf3a9c58.png)
下图是使用Polygon Collider 的示例
![](https://img-blog.csdnimg.cn/907a0916fec04072a8c82927bbf8a0a2.png)
设置相机边界
在Hierarchy中添加空物体
![](https://img-blog.csdnimg.cn/064de7c7a1cb4d86a9b52d6ea28c4a1b.png)
使用Polygon Collider(五边形碰撞体边界),所以在空物体中添加Polygon Collider 2D 组件
![](https://img-blog.csdnimg.cn/8b5c729abc2942879d77a4afa6d6abef.png)
点击 Edit Collider ,拖动五边形,设置五边形边界的位置为合适位置
此时,如果尝试单击 Play 来运行游戏,你的角色将从屏幕上消失。如果在 Scene 视图中查看,就会看到角色被推到了世界之外。因为世界现在位于大型碰撞体内,所以物理系统会直接将你的角色推出去。
所以需要给 Polygon Collider设置层级
点击Inspector上方的 Layers 然后Edit Layers
编辑一个合适的层级作为我们的Polygon Collider的层级,将其改名为Confiner
![](https://img-blog.csdnimg.cn/a7c5bdf59146405480f3b49c21947989.png)
然后将 Polygon Collider的Layer选定为Confiner
![](https://img-blog.csdnimg.cn/df2e581aebf04c20939180b397fe8a47.png)
选择 Edit > Project Settings > Physics 2D,然后取消勾选 Confiner 图层中的所有条目
![](https://img-blog.csdnimg.cn/792ca528fff141b09fdb191b97376fd2.png)
这样Confiner将不会与任何其他物体碰撞
做完以上工作,我们的相机就可以实现跟随了,并且人物走到边界时,相机将不再移动
最后,我们为地图的四周设置碰撞体边界,即可防止相机不移动而人物仍可穿过地图边界
这个只需要在Hierarchy中添加四个空的Object,在Object中添加Box Collider组件,将其拉成矩形移动到地图的四边即可
如图,这是我的地图的下边界
![](https://img-blog.csdnimg.cn/600ff9492b9c463f8cfce6f01f06036c.png)
同理设置上,左,右边界即可
选择Create Empty Child 创建一个空文件夹,命名为Confiners ,将 Confiner 、上下左右边界均添加到Confiners中,这样便于管理我们所有的边界
![](https://img-blog.csdnimg.cn/b867337a4e644c0ca65fa435d3c986f5.png)
![](https://img-blog.csdnimg.cn/e884202cbbd54a81b27fa42ec1b08d3c.png)
到这里就完成了!