【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层碰撞

本章完。感谢阅读!

相关推荐
九成宫8 小时前
Outlook使用
windows·笔记·outlook·办公
工程师0079 小时前
C# 继承、多态、虚方法表(VTable)原理
c#·多态·继承·虚方法表
呱呱巨基11 小时前
Linux 基础IO
linux·c++·笔记·学习
月昤昽12 小时前
autocad二次开发 3.阵列与面域
c#·二次开发·autocad二次开发
白夜111713 小时前
C++(标签派发 Tag Dispatching)
开发语言·c++·笔记·算法
xuhaoyu_cpp_java14 小时前
Spring学习(一)
java·经验分享·笔记·学习·spring
ZC跨境爬虫14 小时前
跟着 MDN 学 HTML day_15:(媒体缓冲、拖动与时间范围控制)
前端·笔记·ui·html·edge浏览器·媒体
唐青枫15 小时前
别只会用 MemoryCache!C#.NET CacheManager 详解:多级缓存、Region 与 Redis 实战
c#·.net
东京老树根16 小时前
SAP学习笔记 - BTP CAP开发06 - Customize Criticality,Map Page,Value help
笔记·学习
吴可可12316 小时前
PointF坐标精度与使用注意事项
c#