【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

这篇具有很好参考价值的文章主要介绍了【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1 TileMap概念

主要思想

优点

创建的层级

2 Unity中的TileMap

2.1 自动父级Grid 网格

2.2 Sprite精灵

2.3 Tile 瓦片

2.4 Tile Palette 调色板

2.5 Brush 笔刷

3 Tilemap Renderer 瓦片地图渲染器

3.1 Sort Order 瓦片排列顺序

3.2 Mode 渲染模式

 Chunk 分块渲染

 Individual 单独渲染 

3.3 Detect Chunk Culling Bounds 如何检测边界

3.4 Mask Interaction 遮罩

3.5 Material 材质

4 瓦片地图的创建流程

4.1 创建Sprite&Tile

4.2 创建Tilemap&Tile Palette

4.3 可以开始绘制瓦片地图

4.4 问题处理:Grid有缝隙


1 TileMap概念

Tilemap就是被用来创造2D游戏世界地图的,常见的侧视、俯视、斜45度视角的2D游戏地图绘制都可以用它来实现。

主要思想

将游戏世界的每一种地形绘制成单独的整块,例如RubyAdventure项目资源中就提供了不同地形可以用来生成Tile的精灵:

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

正方形菱形或者六边形三者之一作为每一块的形状把整块分隔开,再像瓦片/瓷砖一样拼接起来。关于具体是如何分割的,后续会进行介绍。

优点

提高了美术资源的重用性,而且用这样一个工具可以大大简化地图绘制的工作量。

创建的层级

一般在一个2D游戏项目中,Tilemap创建会分成三个层次

  • background——地图背景
  • bound——边界
  • foreground——前景,主要是地形

2 Unity中的TileMap

Unity中TileMap是作为一个游戏对象被使用的,用以储存和处理Tile Assets,它更像是一个系统,将Tiles传输到其他相关的组件中。

Unity中的TileMap由五个部分组成:

2.1 自动父级Grid 网格

创建一个Tilemap:

GameObject -> 2D Object ->Tilemap选择类型

当我们按照这个路径创建一个瓦片地图时,Unity会自动创建一个当前瓦片地图对象的父级对象(默认名称叫Grid),这个Grid就相当于一个个相连网格的合集,每个网格会存放一个Tile,Grid的Cell Size等属性可以改变网格的尺寸。

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

2.2 Sprite精灵

在【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer介绍了什么是精灵,它其实就是一个2D的Texture容器。

2.3 Tile 瓦片

瓦片包含一个精灵以及两个组件。创建方法:

Project窗口 -> Create -> 2D -> Tiles选择类型

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

新建的Tile需要给它一个精灵,也就是给它一个纹理。Select中选择精灵即可。还可以改变它的碰撞体类型,默认是Sprite精灵。

2.4 Tile Palette 调色板

可以快速地进行瓦片地图的绘制,创建方式有两个:

第一,从Project面板创建

Project窗口 -> Create -> 2D -> Tile Palette选择类型

第二,创建了Tilemap后,从Scene打开Palette窗口面板创建

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

二者都需要选择存储的文件路径。

2.5 Brush 笔刷

调色板中用以绘制瓦片地图的工具。

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

3 Tilemap Renderer 瓦片地图渲染器

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

它是Tile Map游戏对象中的一个部分,跟精灵渲染器之于精灵一样,它也用来控制当前Tile在Tilemap上的渲染,有以下属性.

3.1 Sort Order 瓦片排列顺序

这个很简单,就是规定每个Tile在整个Tilemap上的排列顺序。通过图层顺序体现前后关系。

3.2 Mode 渲染模式

渲染模式有两种

 Chunk 分块渲染

使用分块模式进行批量渲染,这也是默认的渲染方式,选择Chunk后渲染器会按位置将瓦片进行分组,将瓦片上的精灵一起批处理渲染,可以在瓦片地图中获得最佳渲染性能。

 Individual 单独渲染 

单独渲染每个瓦片并考虑位置和排序顺序。

3.3 Detect Chunk Culling Bounds 如何检测边界

有两个值,Auto和Manual,自动和手动。默认是自动监测。此时渲染器会自动检查使用的精灵。当选择Manual时需要输入提出边界拓展的值。

3.4 Mask Interaction 遮罩

这里跟精灵渲染器的类似,就不赘述,用到了就知道是什么作用了。

3.5 Material 材质

定义用于渲染精灵纹理的材质。

剩下的就是图层关系了,不赘述。

4 瓦片地图的创建流程

4.1 创建Sprite&Tile

首先需要有个想要成为瓦片地图元素的瓦片Tile,还需要精灵作为纹理,因此通常会传入一个2D图片作为精灵。

例如RubyAdventure官方教程中就给出了一个PNG纹理素材,导入并将Type改为Sprite 

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

下面是创建Tile,按照2.3中的创建思路创建一个Rule Tile基础瓦片,命名为BrickTile,并把刚才创建的精灵赋给他。

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

4.2 创建Tilemap&Tile Palette

GameObject -> 2D Object ->Tilemap创建Rectangular类型的瓦片地图,同时自动创建了父级Grid。

点开Palette Window,新建一个Palette命名为GamePalette,并将之前创建的Tile拖进去。

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

4.3 可以开始绘制瓦片地图

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

4.4 问题处理:Grid有缝隙

如下,瓦片没有填充满整个Grid

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

更改Tilemap精灵的像素大小,更改成64即可。

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

修改后的结果:

【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

这是初始创建瓦片地图的方法,但对于一般项目而言,提供的会是多个瓦片的集合,02部分会介绍关于Tile的其他方面的内容。文章来源地址https://www.toymoban.com/news/detail-402577.html

到了这里,关于【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity学习:瓦片地图

    目录 一、tilemap  二、rule tiles  三、rule override tile  四、advanced override tile 五、伪透视图 这里首先给出unity的官方文档: https://docs.unity3d.com/Manual/class-Tilemap.html https://docs.unity3d.com/Manual/class-Tilemap.html 创建    创建完之后是这个 拖入图片,将贴图类型设置为精灵   关于瓦片像

    2024年02月05日
    浏览(40)
  • 基于高德地图 瓦片 实现 unity lbs

    参考文章:           1.国内主要地图瓦片坐标系定义及计算原理 | CntChen Blog         2.Unity LBS地图(瓦片地图,不接入任何SDK)_099_F11的博客-CSDN博客_unity离线地图 瓦片:高德等地图厂商把 世界地图分成了 好多张图片,每张图片就是一个瓦片 实现思路,根据 https 连接 请求

    2024年02月14日
    浏览(49)
  • Unity记录3.1-地图-TileMap简单使用、鼠标拖动放置Tile

    文章首发及后续更新:https://mwhls.top/4456.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 上章的课程接下来是巡逻的敌人,不过我地图还没创建好,教程的 AI 估计不适合,所以先

    2024年02月09日
    浏览(37)
  • 【unity实战】Unity2D TileMap+柏林噪声生成随机地图(附源码)

    我的上一篇文章介绍了TileMap的使用,主要是为我这篇做一个铺垫,看过上一篇文章的人,应该已经很好的理解TileMap的使用了,这里我就不需要过多的解释一些繁琐而基础的知识了,省去很多时间。所有没看过上一篇文章的小伙伴我强烈建议先去看看:

    2024年02月03日
    浏览(40)
  • 【unity小技巧】Unity2D TileMap+柏林噪声生成随机地图(附源码)

    我的上一篇文章介绍了TileMap的使用,主要是为我这篇做一个铺垫,看过上一篇文章的人,应该已经很好的理解TileMap的使用了,这里我就不需要过多的解释一些繁琐而基础的知识了,省去很多时间。所有没看过上一篇文章的小伙伴我强烈建议先去看看:

    2024年02月07日
    浏览(26)
  • 【unity实战】随机地下城生成2——绘制地图Tilemap的使用及一些技巧的使用(含源码)

    参考原视频链接: 【视频】:https://space.bilibili.com/370283072 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入 修改素材配置 切割图片 绘制瓦片地图 先新建我们的调色盘,保存好位置 拖入我们刚才切片好的素材 在房间预设体创建我们的瓦

    2024年02月13日
    浏览(30)
  • 【实现100个unity游戏之20】制作一个2d开放世界游戏,TileMap+柏林噪声生成随机地图(附源码)

    我的上一篇文章介绍了TileMap的使用,主要是为我这篇做一个铺垫,看过上一篇文章的人,应该已经很好的理解TileMap的使用了,这里我就不需要过多的解释一些繁琐而基础的知识了,省去很多时间。所有没看过上一篇文章的小伙伴我强烈建议先去看看:

    2024年01月20日
    浏览(36)
  • 19. Unity - 2D游戏开发小记02 --- 伪透视图、2D物体碰撞、瓦片地图碰撞、素材缩放平铺

    1. 伪视图 在2D游戏开发当中,当角色移动时,会发生物体与物体之间的前后遮挡。2D视图中的前后关系是由 Y 轴决定,y 值越小物体越靠前。unity的渲染应开启根据 y 值的大小进行渲染才能保证正确的遮挡效果,在菜单栏 Editor–project setting -- Graphic 中按照下图方式进行设置:

    2024年02月02日
    浏览(73)
  • 【Unity Shader】从入门到着魔(1)基本概念:什么是网格?材质?Shader?

    如上图,模型的三角形面就叫做网格(Mesh),网格的本质是一堆顶点数据的规则排序,在Unity和UE中由三角形表示,Maya等DCC软件(Digital Content Creation)中则通常由四边形表示(俩个三角形刚好组成一个四边形)。 在Unity中我们新建一个Cube,

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包