【Unity2D 2022:Cinemachine】相机跟随与地图边界

一、导入Cinemachine工具包

  1. 点击Window-Package Manager,进入包管理界面
  1. 点击All,找到Cinemachine工具包,点击Install

二、相机跟随角色

  1. 选中Main Camera,点击Component-Cinemachine-CinemachineBrain,新建一个相机之脑
  1. 投射选为正交(即没有近大远小,投射模式有近大远小)、自定义相机尺寸大小
  1. 在层级面板中新建一个虚拟相机游戏对象
  1. 在新建的虚拟相机的Follow和Look At属性中挂载Ruby游戏物体

三、创建相机移动边界

  1. 创建相机边界游戏物体Camera Move Confine

新建一个空游戏物体,挂载Polygon Collider 2D(2D多边形碰撞器)组件(红色)

将Points-paths-Element 0-Size属性设置为4(代表有四条边)(蓝色)

调整碰撞体积大小,注意碰撞体积要略小于地图边界(黄色)

  1. 将Camera Move Confine的 Is Trigger 的属性设置为True
  1. 给PlayerCamera添加Cinemachine Confiner组件,将CameraConfine游戏物体挂载到Bounding Shape 2D属性上

四、创建人物移动边界

  1. 新建一个空游戏对象PlayerMoveConfine,再添加4个子物体
  1. 分别给每个子物体添加Box Collider 2D组件,再调节碰撞体积大小使之封住地图的一条边
  1. 给角色移动边界的层级设置为PlayerMoveConfine(没有这个层级的话就创建一个)
  1. 调节碰撞层级的关系,使Player Confine层只能与Player层碰撞

本章完。感谢阅读!

相关推荐
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
雨落倾城夏未凉5 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫6 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫7 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6257 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902117 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠8 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
LinXunFeng9 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
唐青枫10 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech11 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf