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

本章完。感谢阅读!

相关推荐
ccut 第一混1 分钟前
C# 基于 RS485 与设备通讯(以照度计为例子)
c#·rs485
今儿敲了吗21 分钟前
计算机网络第四章笔记(四)
笔记·计算机网络
了一梨21 分钟前
SQLite3学习笔记2:SQL 基础语法
笔记·学习·sqlite
Cathy Bryant40 分钟前
softmax函数与logits
笔记·神经网络·机器学习·概率论·信息与通信
贾修行42 分钟前
.NET 全栈开发学习路线:从入门到分布式
c#·.net·wpf·asp.net core·web api·winforms·services
无风听海1 小时前
C# 中的 LinkedList
开发语言·c#
charlie1145141911 小时前
现代嵌入式 C++——自定义删除器(Custom Deleter)
开发语言·c++·笔记·学习·嵌入式
警醒与鞭策1 小时前
Cursor Agent Skill 原理及LLM , Agent, MCP ,Skill区别
android·unity·ai·cursor
Wilber的技术分享1 小时前
【Transformer原理详解2】Decoder结构解析、Decoder-Only结构中的Decoder
人工智能·笔记·深度学习·llm·transformer