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

本章完。感谢阅读!

相关推荐
xuhaoyu_cpp_java10 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
专注VB编程开发20年11 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
z落落12 小时前
C# 泛型接口和泛型类+泛型约束
开发语言·c#
阿正的梦工坊12 小时前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#
FuckPatience12 小时前
C# 使用泛型协变将派生类类型替换为基类类型
开发语言·c#
guygg8812 小时前
C# 生成中间带 Logo 头像的二维码
开发语言·c#
Java面试题总结13 小时前
C#12 中的 Using Alias
开发语言·windows·c#
加号313 小时前
【C#】 ASCII 码转字符串技术解析
开发语言·c#
Cloud_Shy61813 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
做cv的小昊13 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论