【Unity2D】相机移动以及设置相机边界

2023-11-01

添加相机

添加相机时,首先需要在unity中添加 Cinemachine 包

第一次使用这个包时,需要在Package Manager中搜索并安装

 安装Camera Mechine包后,添加2D Camera

设置跟随对象为Ruby (从Hierarchy中将Ruby拖动到Follow中)

 

同时,由于世界是有边界的,要为相机设置边界

通过添加Extension为相机添加Confiner(约束)

常用的约束有Composite Collider 2D 或 Polygon Collider 2D。对应着下面两种设置相机边界的方法

在Extension中选择要添加的Confiner

 

下图是使用Polygon Collider 的示例

设置相机边界

  在Hierarchy中添加空物体 

 使用Polygon Collider(五边形碰撞体边界),所以在空物体中添加Polygon Collider 2D 组件

 点击 Edit Collider ,拖动五边形,设置五边形边界的位置为合适位置

此时,如果尝试单击 Play 来运行游戏,你的角色将从屏幕上消失。如果在 Scene 视图中查看,就会看到角色被推到了世界之外。因为世界现在位于大型碰撞体内,所以物理系统会直接将你的角色推出去。

所以需要给 Polygon Collider设置层级

点击Inspector上方的 Layers 然后Edit Layers

编辑一个合适的层级作为我们的Polygon Collider的层级,将其改名为Confiner

然后将 Polygon Collider的Layer选定为Confiner

 

 选择 Edit > Project Settings > Physics 2D,然后取消勾选 Confiner 图层中的所有条目

这样Confiner将不会与任何其他物体碰撞

做完以上工作,我们的相机就可以实现跟随了,并且人物走到边界时,相机将不再移动

最后,我们为地图的四周设置碰撞体边界,即可防止相机不移动而人物仍可穿过地图边界

这个只需要在Hierarchy中添加四个空的Object,在Object中添加Box Collider组件,将其拉成矩形移动到地图的四边即可

如图,这是我的地图的下边界

同理设置上,左,右边界即可

选择Create Empty Child 创建一个空文件夹,命名为Confiners ,将 Confiner 、上下左右边界均添加到Confiners中,这样便于管理我们所有的边界

 到这里就完成了!

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Unity2D】相机移动以及设置相机边界 的相关文章

随机推荐

  • IDEA默认Maven设置

    IDEA是自带Maven的 但版本有点低 故自己下了新版的Maven 但每次使用创建或者导入Maven项目的时候 IDEA都会使用系统默认的Maven 如下图所示 此时 如果想默认使用自定义安装的Maven 需要点击Maven home d
  • CentOS7 安装MySQL 图文详细教程

    目录 一 检查是否已经安装过MySQL 方法一 方法二 二 安装MySQL 1 将压缩包传到服务器 2 解压文件 3 重命名解压后的文件 4 检查是否有mysql用户组和mysql用户 5 进入mysql目录 更新权限
  • Unity无限列表插件-EnhancedScroller 简单操作步骤

    1 导包 将EnhancedScroller v2 15 6 unitypackage导入到场景中 2 创建画布 创建一个canvas画布 3 创建Scroll 在画布下创建一个UI gt Scroll View 将组建内Scrollbar
  • 厦门PX项目迁址:意义有限的进步

    朱金灿 在新浪网上看到这样一则消息 来自厦门消息称 福建省政府和厦门市政府上周末决定顺从民意 停止在厦门海沧区兴建台资翔鹭集团对二甲苯 paraxylene 简称 PX 工厂 将该项目迁往漳州古雷半岛兴建 厦门市将赔偿翔鹭集团 并在发改委批
  • 计算机视觉:窥探数字世界的眼睛

    目录 简介 一 计算机视觉的起源与发展 二 计算机视觉的应用领域 三 计算机视觉的挑战与未来发展 结论 简介 计算机视觉 Computer Vision 是人工智能 AI 领域中的一个重要分支 专注于研究如何使计算机系统能够 看见 理解和解
  • 学术界到底能不能用 ChatGPT?

    全民在日常工作 学习 测试过程中使用 ChatGPT 已经不是什么秘密了 但是光明正大地在学术论文中使用 还把 ChatGPT 的 Regenerate response 按钮标签文字复制到论文中 尚未在方法或致谢一栏提及任何有关 Chat
  • Windows下搭建PHP调试环境(phpstudy+VScode)

    Windows下搭建PHP调试环境 phpstudy VScode 0x00 问题背景 0x01 配套环境 0x02 php Xdebug简介 官方介绍 Xdebug扩展启用 0x03 php ini配置 0x04 vscode配置 VSc
  • k8s dashboard安装

    安装 wget https raw githubusercontent com kubernetes dashboard v2 5 1 aio deploy recommended yaml kubectl apply f recommen
  • springboot集成log4j2

    一 前言 1 为什么要使用log4j2作为我们的日志记录管理框架呢 答 springboot默认使用logback作为日志记录框架 常见的日志记录框架有log4j logback log4j2 2 我们在项目中经常使用一个叫SLF4J的依赖
  • 十分钟学会写shell脚本

    大家好 我是handsomecui 下面我为大家讲解一下shell脚本的写法 讲的不好的地方 欢迎大家留言拍砖 1 在linux下会写shell脚本是非常重要的 下面我参照例子给大家展示几个脚本 顺带这学习shell 的语法 什么时候hel
  • 汇编语言(1)——从机器到汇编

    汇编语言 王爽 著 读书笔记 1 汇编语言的出现 最早期出现的计算机 是名副其实的 计算 机 这个机器可以执行一系列特定的指令 即机器指令 而由机器指令构成的集合被称为指令集 也就是我们说的机器语言 机器指令是由一系列的二进制数字0和1构成
  • EMC整改流程及常见问题

    电磁兼容EMC整改专题 目录 EMC整改流程及常见问题 1EMC整改意见 2EMC整改流程 3EMC整改的一些小建议 4总结 电磁兼容 EMC EMC小结之时钟辐射问题 一前言 二测试数据分析 三辐射超标的原因 四结语 EMC整改流程及常见
  • 人机交互期末复习要点

    文章pdf下载 点击下载pdf 注 我们网上的作业 老师说的考试题目 可能会考的重点 无 可能会考选择题 也可能会考大题 比如 人机交互设备 我们这次期末考试就考了 绪论 什么是人机交互技术 是指关于设计 评价和实现供人们使用的交互式计算机
  • matlab中float类型的_数据类型(一)——数值类型

    数值类型包括两种 整数类型和浮点数类型 整数类型 uint8 分别表示有 不带u 无 带u 符号和对应的数值范围 或者说是整数的位数 浮点数类型 单精度 single 和双精度 float 或者直接输入小数 因为matlab默认即为双精度
  • ARM定义特殊寄存器(*(volatile unsigned long *))的理解

    以前老是对ARM程序中 volatile unsigned long 不理解 今天看了两篇文章 觉得对理解这个很有用 当然这个不止在定义内部特殊寄存器有用 在用到外部总线时 根据具体情况 定义外部器件的地址也可以用 下面是文章一 终于理解了
  • 常用IDE正则表达式

    目录 1 notepad 正则表达式 2 VScode正则表达式 3 pycharm正则表达式 梳理常用工具的正则表达式使用 逐步增加其他工具 1 notepad 正则表达式 注意 Notepad 正则表达式字符串最长不能超过69个字符 转
  • Unity做MMD(一)资源处理

    文章目录 unity插件 Blender插件 两者对比 要想把mmd 的模型拿到unity中处理 主要有两个方法 第一个是通过unity的插件将pmx模型文件转化为fbx 第二个就是通过第三方软件将pmx处理 例如blender 如果是想把
  • acwing算法基础__提高__进阶_课

    文章目录 1 排序 1 1 快速排序 分治 1 2 归并排序 分治 2 二分 2 2 整数二分 2 3 小数二分 浮点数二分 3 高精度 4 前缀和与差分 5 双指针算法 6 位运算 7 离散化 8 区间合并 总结 要求 把算法的思想搞懂
  • Mybatis中ResultType和ResultMap的区别

    MyBatis中的ResultType和ResultMap都是用来映射查询结果到Java对象的 ResultType适合简单查询结果的映射 而ResultMap适合复杂查询结果及自定义映射关系的情况 ResultType指定了返回值类型 即
  • 【Unity2D】相机移动以及设置相机边界

    添加相机 添加相机时 首先需要在unity中添加 Cinemachine 包 第一次使用这个包时 需要在Package Manager中搜索并安装 安装Camera Mechine包后 添加2D Camera 设置跟随对象为Ruby 从Hi