当前位置: 首页 > news >正文

了解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:标记的绘制位置,相对于半径的比例&#xf…...

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链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...