了解Unity编辑器之组件篇Tilemap(五)
Tilemap:用于创建和编辑2D网格地图的工具。Tilemap的主要作用是简化2D游戏中地图的创建、编辑和渲染过程。以下是一些Tilemap的主要用途:
2D地图绘制:Tilemap提供了一个可视化的编辑器界面,可以快速绘制2D地图,例如迷宫、平台关卡、RPG世界等。
碰撞检测:Tilemap可以定义碰撞区域,用于检测角色或物体与地图中的障碍物之间的碰撞。这样可以轻松实现游戏角色在地图上的移动和碰撞反应。
视觉效果:Tilemap可以灵活地设置不同的瓦片贴图,使地图具有多样的视觉效果。可以实现平铺、滚动、装饰物、动画效果等,提升游戏的视觉吸引力。
地图导航:Tilemap可以用于创建路径系统,用于角色移动和AI寻路。可以在地图上定义不同的路径区域和障碍物,并使用相应的算法计算最佳路径。
游戏关卡设计:Tilemap可以用于设计游戏的关卡布局。可以使用砖块、道具和障碍物等元素来创建有趣的游戏关卡,为游戏的可玩性和挑战性增加更多元素。
一、Tilemap:用于创建和管理2D网格地图的组件
Animation Frame Rate(动画帧率):如果瓦片地图拥有动画帧,则可以设置动画的播放速度(帧率)。
Color(颜色):可以为瓦片地图设置颜色,以调整其外观。这可以用于实现瓦片地图的着色效果,例如高亮或变暗。
Tile Anchor(瓷砖锚点):确定瓦片地图的位置参考点。可以通过调整锚点的位置来改变瓦片地图的对齐方式。
Orientation(方向):定义瓦片地图的朝向。可以选择水平、垂直或90度旋转来改变瓦片地图的朝向。
Offset(偏移量):设置瓦片地图的在网格中的位置偏移。可以通过调整偏移量来微调瓦片地图的位置。
Rotation(旋转):可以将瓦片地图以一定角度进行旋转。可以按照顺时针或逆时针旋转来改变瓦片地图的朝向。
Scale(缩放):可以将瓦片地图在x和y轴上进行缩放,从而改变瓦片地图的大小。
二、Tilemap Collider 2D:用于在Tilemap上添加碰撞体的组件
Max Tile Change Count(最大瓦片更改计数):这个属性用于定义Tilemap Collider 2D组件与Tilemap的碰撞体之间的关联。当Tilemap的瓦片被修改时,该计数器将被增加,当计数器达到Max Tile Change Count时,Tilemap Collider 2D组件将自动重新构建碰撞体以保持更新。
Extrusion Factor(扩展因子):这个属性定义了Tilemap Collider 2D组件中碰撞体的扩展程度。扩展因子为1表示碰撞体完全匹配瓦片的大小,小于1则会缩小碰撞体,大于1则会放大碰撞体的尺寸。
Material(材质):这个属性定义了Tilemap Collider 2D组件使用的碰撞体材质。碰撞体材质可以影响碰撞检测和相应的物理效果。
Is Trigger(是触发器):这个属性指示碰撞体是否作为触发器来使用。如果勾选了这个选项,碰撞体将不参与实际的物理碰撞反应,而是触发相关的事件。
Used By Effector(被效果器使用):这个属性指示碰撞体是否被2D效果器(2D Effectors)影响。如果勾选了这个选项,碰撞体将对2D效果器产生响应,如接收力、旋转等。
Used By Composite(被合成使用):这个属性指示碰撞体是否被Composite Collider 2D组件使用。如果勾选了这个选项,碰撞体将被合成碰撞器(Composite Collider)使用,以提高碰撞检测的效率。
Offset(偏移):这个属性定义了碰撞体相对于Tilemap的位置偏移。通过调整偏移值,你可以更精确地控制碰撞体的位置。
Info属性:此属性提供关于碰撞体的一些信息,如碰撞体的数量、顶点数等。它可以用于调试或显示相关信息。
三、Tilemap Renderer:用于渲染Tilemap的组件
Sort Order(排序顺序):这个属性定义了Tilemap在同一Sorting Layer(排序层)中的渲染顺序。较小的值会在前面渲染,较大的值会在后面渲染。
Mode(模式):这个属性定义了Tilemap的排序模式
(1)Chunk(块模式):
当选择Chunk模式时,Tilemap会被视为一个整体对象进行排序和渲染。
这意味着Tilemap中的每个Tile都会受到相同的排序规则和渲染方式的影响。
如果你的Tilemap中的Tile拥有相同的Sorting Layer和Order in Layer属性,选择Chunk模式可以提高渲染性能,因为Unity可以更好地优化对整个Tilemap的渲染。
(2)Individual(单独模式):
当选择Individual模式时,Tilemap中的每个Tile都会被视为一个单独的对象进行排序和渲染。
这意味着每个Tile可以具有不同的Sorting Layer和Order in Layer属性,并且可以以不同的顺序进行渲染。
选择Individual模式可以实现更加细粒度的控制,但也可能会导致一些额外的渲染开销,特别是在大规模Tilemap中。
Detect Chunk Culling Bounds(检测分块裁剪边界):用于指定Tilemap分块裁剪边界的检测方式
(1)Auto(自动):
当选择 Auto 模式时,Unity 会自动检测分块裁剪边界。
分块裁剪(Chunk Culling)是一种性能优化技术,可以在大型 Tilemap 中只渲染可见的区域,而不是渲染整个 Tilemap。这样可以减少不可见区域的渲染开销。
在 Auto 模式下,Unity 会根据你的摄像机视口与 Tilemap 的位置和大小自动计算分块裁剪边界。
(2)Manual(手动):
当选择 Manual 模式时,你可以手动设置分块裁剪边界。
在 Manual 模式下,你需要自己指定 Tilemap 的分块裁剪边界,以控制渲染可见区域的范围。
这对于需要更精确控制渲染区域的情况很有用,比如有些部分地图需要始终保持可见,而其他部分可以进行裁剪。
Chunk Culling Bounds(分块裁剪边界):这个属性在启用了分块裁剪时用于手动指定Tilemap的裁剪边界。
Mask Interaction(遮罩交互):这个属性定义了Tilemap与遮罩掩模的交互方式,用于确定Tilemap的可见性:
(1)VisibleInsideMask(遮罩内可见):Tilemap在遮罩内可见。
(2)VisibleOutsideMask(遮罩外可见):Tilemap在遮罩外可见。
(3)None(不可见):Tilemap始终不可见。
Material(材质):这个属性定义了Tilemap的渲染材质。
Additional Settings(附加设置):
(1)Sorting Layer(排序层):这个属性定义了Tilemap的渲染排序层。
(2)Order in Layer(层中顺序):这个属性定义了Tilemap在排序层中的渲染顺序,与其他在同一排序层中的对象进行排序比较。较小的值会在前面渲染,较大的值会在后面渲染。
相关文章:

了解Unity编辑器之组件篇Tilemap(五)
Tilemap:用于创建和编辑2D网格地图的工具。Tilemap的主要作用是简化2D游戏中地图的创建、编辑和渲染过程。以下是一些Tilemap的主要用途: 2D地图绘制:Tilemap提供了一个可视化的编辑器界面,可以快速绘制2D地图,例如迷…...
Linux字符设备操作函数
Linux字符设备操作函数是指对字符设备进行打开、关闭、读取、写入、控制等基本操作的函数,它们通过字符设备结构体中的 file_operations 结构体来定义。常用的字符设备操作函数包括: 1、open: 当一个进程试图打开设备文件时,调用这个函数。开…...

吉林大学计算机软件考研经验贴
文章目录 简介政治英语数学专业课 简介 本人23考研,一战上岸吉林大学软件工程专硕,政治72分,英一71分,数二144分,专业课967综合146分,总分433分,上图: 如果学弟学妹需要专业课资料…...
2023-07-26力扣每日一题-区间翻转线段树
链接: 2569. 更新数组后处理求和查询 题意: 给两个等长数组nums1和nums2,三个操作: 操作1:将nums1的[l,r]翻转(0变1,1变0) 操作2:将nums2[any]变成nums2[any]nums1[any]*p&…...
Java设计模式之 -- 桥接模式
什么是桥接模式 桥接模式是一种结构型设计模式,也被称为“Handle/Body”。这种设计模式主要用于将抽象部分与它的实现部分分离,使它们可以独立地变化。这种方式有助于减少系统中的耦合性,增加了扩展性。 主要解决什么问题 桥接模式主要解决…...
【node.js】02-path模块
目录 1. path.join() 2. path.basename() 3. path.extname() 1. path.join() 使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下: path.join([...paths]) 例子: const path require(path)co…...

攻防世界-Reverse-re1
题目描述:菜鸡开始学习逆向工程,首先是最简单的题目 下载附件,执行程序,如下界面 1. 思路分析 没啥说的,既然题目都说是一道简单的逆向题,那么直接使用ida逆向即可,看逆向出的结果是否能写入到…...
AES加密的基本常识和封装类
AES加密的基本常识和封装类 AES(Advanced Encryption Standard)是一种对称密钥加密算法,被广泛用于保护敏感数据的安全性。它是一种块加密算法,意味着它将明文数据分成固定大小的块,并使用相同的密钥对每个块进行独立…...

elasticsearch使用记录
参考文章:https://elasticsearch-py.readthedocs.io/en/v8.8.2/ 参考文章:https://cuiqingcai.com/6214.html 参考文章:https://www.cnblogs.com/cupleo/p/13953890.html elasticsearch版本:8.8.2(软件包发行版) python版本&#…...
UNI-APP_横屏切换竖屏出现样式混乱问题
app从竖屏页面1进入竖屏页面2,再进入横屏,再返回,再返回从新回到竖屏页面1,再次进入竖屏页面2,发现竖屏页面2的所有图片字体都被放大了。再返回竖屏1,再进入竖屏2,一切又恢复正常。 解决跳转横…...

数据可视化(3)
1.饼状图 #饼状图 #pie(x,labels,colors,labeldistance,autopct,startangle,radius,center,textprops) #x,每一块饼状图的比例 #labels:每一块饼形图外侧显示的文字说明 #labeldistance:标记的绘制位置,相对于半径的比例…...
AI面试官:MD5、DES、RSA、AES加密
AI面试官:MD5、DES、RSA、AES加密 文章目录 AI面试官:MD5、DES、RSA、AES加密1. 什么是MD5加密?它在实际应用中有哪些场景?2. DES加密是什么?它在现实中的应用场景有哪些?3. 问题:RSA加密是什么…...
Shell脚本学习-$$特殊变量
$$特殊变量: 获取脚本执行的进程号(PID)。 [rootvm1 scripts]# cat test_pid.sh echo $$ > /tmp/a.pid sleep 300代码说明: 1)获取$$值,也就是当前脚本进程的PID值,重定向到/tmp/a.pid文件…...
vscode中python插件过新导致无法正常debug问题解决安装vscode以前版本python插件教程
您需要从.vsix文件安装它。您可以在此处找到它们。 下载所需.vsix版本的文件。您可能需要单击assets才能看到它们。 然后打开 VSCode,转到extensions-> 单击三个点 ->install from vsix并选择您的文件。 重启以后,就可以正常debug了!...

chrome macos编译
下载工具包 git clone https://chromium.googlesource.com/chromium/tools/depot_tools/gitpwd export PATH"$PATH:/Users/lichengjun/Downloads/chrome_build/depot_tools" mkdir chromium cd chromium 如果想快的话直接: fetch --nohooks --no-history chromium (…...

Linux环境下Elasticsearch相关软件安装
Linux环境下Elasticsearch相关软件安装 本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。 1、安装Elasticsearch 1.1 Elasticsearch下载 首先去Elasticsearch官网下载相应版本的安装包,下载之后传输到linux服务器上。 官网地址:http…...

【趟坑记录】d3.zoom()的正确使用姿势 @d3.v7
【趟坑记录】d3.zoom()的正确使用姿势 d3.v7 文章目录 【趟坑记录】d3.zoom()的正确使用姿势 d3.v7问题重现原因分析解决方案放缩平移写法特殊修改transform函数的写法 总结 在开发一个D3应用的时候遇到了一个 zoom相关的问题,记录解决思路与方案 问题重现 最近在…...

基于 Docker + Nginx + Gitlab-runner 实现前端自动化部署流程
本篇会用到Docker,Gitlab-runner等相关工具,如果对其不是特别了解,可以参考下相关文档: GitLab RunnerDocker 快速入门CI/CD:持续集成/持续部署 在早期部署前端项目时,我们通常会通过ftp把前端代码直接传…...

make/makefile的使用
make/makefile 文章目录 make/makefile初步认识makefile的工作流程依赖关系和依赖方法make的使用 总结 make是一个命令,是一个解释makefile中指令的命令工具,makefile是一个文件,当前目录下的文件,两者搭配使用,完成项…...
Flutter中Navigator 跳转传参数和反向传参数
初始化路由 MaterialApp(routes: <String, WidgetBuilder>{"/Second": (BuildContext context){return Second("");}}, 跳转传参数 String va await Navigator.of(context).push(MaterialPageRoute(builder: (content) {return Second( demo); },…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...