了解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在排序层中的渲染顺序,与其他在同一排序层中的对象进行排序比较。较小的值会在前面渲染,较大的值会在后面渲染。

相关推荐
锅巴编程7 小时前
VsCode 插件推荐(个人常用)
ide·vscode·编辑器
做个爱笑的大男孩7 小时前
VScode clangd插件安装
ide·vscode·编辑器
虾球xz7 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
red_redemption12 小时前
自由学习记录(23)
学习·unity·lua·ab包
/**书香门第*/15 小时前
Cocos creator 3.8 支持的动画 7
学习·游戏·游戏引擎·游戏程序·cocos2d
nbsaas-boot19 小时前
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
学习·chatgpt·编辑器
一棵开花的树,枝芽无限靠近你20 小时前
【PPTist】添加PPT模版
前端·学习·编辑器·html
热爱生活的五柒21 小时前
vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例
ide·vscode·编辑器
向宇it1 天前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
为什么每天的风都这么大1 天前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server