一、导入Cinemachine工具包
- 点击Window-Package Manager,进入包管理界面

- 点击All,找到Cinemachine工具包,点击Install

二、相机跟随角色
- 选中Main Camera,点击Component-Cinemachine-CinemachineBrain,新建一个相机之脑

- 投射选为正交(即没有近大远小,投射模式有近大远小)、自定义相机尺寸大小

- 在层级面板中新建一个虚拟相机游戏对象

- 在新建的虚拟相机的Follow和Look At属性中挂载Ruby游戏物体

三、创建相机移动边界
- 创建相机边界游戏物体Camera Move Confine
新建一个空游戏物体,挂载Polygon Collider 2D(2D多边形碰撞器)组件(红色)
将Points-paths-Element 0-Size属性设置为4(代表有四条边)(蓝色)
调整碰撞体积大小,注意碰撞体积要略小于地图边界(黄色)

- 将Camera Move Confine的 Is Trigger 的属性设置为True

- 给PlayerCamera添加Cinemachine Confiner组件,将CameraConfine游戏物体挂载到Bounding Shape 2D属性上

四、创建人物移动边界
- 新建一个空游戏对象PlayerMoveConfine,再添加4个子物体

- 分别给每个子物体添加Box Collider 2D组件,再调节碰撞体积大小使之封住地图的一条边

- 给角色移动边界的层级设置为PlayerMoveConfine(没有这个层级的话就创建一个)

- 调节碰撞层级的关系,使Player Confine层只能与Player层碰撞

本章完。感谢阅读!