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

添加相机

添加相机时,首先需要在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中,这样便于管理我们所有的边界

 到这里就完成了!

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/44546.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE5 关于MRQ渲染器参数

最佳参数: Spatial Sample Count:使用奇数样本时临时抗锯齿会收敛 Temporal Sample Count:超过2之后,采样过大会造成TAA效果不佳 TSR:UE5最好的抗锯齿方案

AcWing241. 楼兰图腾(树状数组)

输入样例: 5 1 5 3 2 4输出样例: 3 4解析: 以某个点 i 为最低点的 V 的数量,为 i 左侧和右侧比 a[ i ] 大的数量 a,b 的乘积。 但是,直接求这两个数的复杂度为O(n),则整个复杂度为O( n^2 )&am…

js基础-练习三

九九乘法表&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthsc, initial-scale1.0"><title>九九乘法表</title><style&g…

可解释的 AI:在transformer中可视化注意力

Visualizing Attention in Transformers | Generative AI (medium.com) 一、说明 在本文中&#xff0c;我们将探讨可视化变压器架构核心区别特征的最流行的工具之一&#xff1a;注意力机制。继续阅读以了解有关BertViz的更多信息&#xff0c;以及如何将此注意力可视化工具整合到…

论文笔记--Distilling the Knowledge in a Neural Network

论文笔记--Distilling the Knowledge in a Neural Network 1. 文章简介2. 文章概括3 文章重点技术3.1 Soft Target3.2 蒸馏Distillation 4. 文章亮点5. 原文传送门 1. 文章简介 标题&#xff1a;Distilling the Knowledge in a Neural Network作者&#xff1a;Hinton, Geoffre…

iOS 单元测试之常用框架 OCMock 详解

目录 前言&#xff1a; 一、单元测试 1.1 单元测试的必要性 1.2 单元测试的目的 - 约束条件是否通过形式参数来传送。 1.3 单元测试依赖的两个主要框架 二、OCMock 的集成与使用 2.1 OCMock 的集成方式 2.2 OCMock 的使用方法 2.3 mock 使用限制 前言&#xff1a; OC…

IDEA+SpringBoot + Mybatis + Shiro+Bootstrap+Mysql资产设备管理系统

IDEASpringBoot Mybatis ShiroBootstrapMysql资产设备管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.用户新增3.用户设置4.岗位管理5. 审批节点6. 人员查询7. 组织设置8. 人员调整9.角色设置10.角色模块映射11.模块设置12.应用模块13.光纤交换机14.服务器15.网…

从实践彻底掌握MySQL的主从复制

目录 一、本次所用结构如图---一主多从级联&#xff1a; 二、IP。 三、配置M1&#xff1a; 四、从库M1S1&#xff1a; 五、从库M2配置&#xff1a; 六、 从库M2S1&#xff1a; 一、本次所用结构如图--- 一主多从级联&#xff1a; 二、IP。这里M1S1和M1S2一样的&#xff0…

hack the box—Lame

扫描 还是老方法nmapfscan得到开放的端口和服务 nmap -sV -sC -sT -v -T4 10.10.10.3 看到开了445&#xff0c;先来波ms17-010&#xff0c;发现失败。 这里还开个21&#xff0c;并且可以知道版本号&#xff0c;直接搜索ftp漏洞 msf正好有对应的模块 设置好参数后进行攻击&…

Hadoop 集群如何升级?

前言 本文隶属于专栏《大数据技术体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据技术体系 正文 升级 Hadoop 集群需要细致的规划&#xff0c;特…

【设计模式】单例设计模式详解(包含并发、JVM)

文章目录 1、背景2、单例模式3、代码实现1、第一种实现&#xff08;饿汉式&#xff09;为什么属性都是static的&#xff1f;2、第二种实现&#xff08;懒汉式&#xff0c;线程不安全&#xff09;3、第三种实现&#xff08;懒汉式&#xff0c;线程安全&#xff09;4、第四种实现…

树莓派刷机和登入

1.打开映像工具 2.选择映像文件写入 3.拔出卡插入树莓派上电 4.树莓派登入 1.HDMI视频线&#xff0c;连接到显示屏幕 2.串口登录 修改系统配置&#xff0c;启用串口登录树莓派 &#xff08;1) 打开SD卡根目录的"config.txt文件"&#xff0c;停止蓝牙&#xff0c;…

使用lua脚本操作redis

redis中实现事务有两种方法&#xff1a; 1.WATCH监视键的变动&#xff0c;然后MULTI开始事务&#xff0c;EXEC提交事务 WATCH key [key…]&#xff1a;监视一个或多个键&#xff0c;如果在事务执行之前被修改&#xff0c;则事务被打断。 MULTI&#xff1a;标记一个事务的开始。…

Rust学习01:D-day

以前自学过Python&#xff0c;开发了一些小程序&#xff0c;用于工作中提升效率。 Python的确好学易用&#xff0c;但用来做一个真正意义上的产品&#xff0c;哪怕是比较简单的产品&#xff0c;差点意思&#xff0c;特别是在移动端开发领域。 Rust看了两本书&#xff0c;准备动…

Chrome 115 有哪些值得关注的新特性?

今天带大家一起来了解一下 Chrome 115 值得关注的新特性。 滚动动画 用滚动驱动的动画是网站上非常常见的用户体验模式&#xff0c;比如当页面向前或向后滚动时&#xff0c;对应的动画也会向前或向后移动。 比如下面图中这种比较常见的&#xff0c;页面顶部的进度条随着滚动…

C语言-print字符串打印-转义字符妙用

这里有两个有关打印的小知识 打印的字符串内容由两部分组成&#xff1a;可见字符、转义字符&#xff1b;各种字母、数字、以及空格&#xff0c;均属于可见字符&#xff0c;“\”等属于转义字符 举例&#xff1a; 1.直接print里面打印内容&#xff0c;内容直接出现 2.这里想将一…

appscan 应用

HCL appscan是个常见的web app DAST 扫描工具 有企业版和standalone 版本。大家常用的都是单机版本。企业版平台&#xff0c;集成了IAST。 appscan 使用比较简单&#xff0c;基本输入url 账号密码就开扫了。 用了一段时间几点体验 1 还是需要手动explore的&#xff0c;他自…

TSN -促进IT/OT 融合的网络技术

时间敏感网络&#xff08;tsn&#xff09;技术是IT/OT 融合的一项关键的基础网络技术&#xff0c;它实现了在一个异构网络中&#xff0c;实现OT的实时数据和IT系统的交互数据的带宽共享。 TSN允许将经典的高确定性现场总线系统和IT应用&#xff08;如大数据传输&#xff09;的功…

flutter开发实战-自定义相机camera功能

flutter开发实战-自定义相机camera功能。 Flutter 本质上只是一个 UI 框架&#xff0c;运行在宿主平台之上&#xff0c;Flutter 本身是无法提供一些系统能力&#xff0c;比如使用蓝牙、相机、GPS等&#xff0c;因此要在 Flutter 中调用这些能力就必须和原生平台进行通信。 实现…

vue/cli 自定义配置

vue/cli 自定义配置 1、更改默认的端口号8080 只需要更改vue.config.js文件 1、更改默认的端口号8080 只需要更改vue.config.js文件