网易首页 > 网易号 > 正文 申请入驻

教程 |Unity中使用Tilemap快速创建2D游戏世界

0
分享至

Unity 2017.2为2D创作者提供了一整套全新的2D工具,包括用于快速创建和迭代的Tilemap功能,以及用于智能自动化构图和追踪的Cinemachine 2D。

去年12月13日,Unity的技术团队给大家做了2017年最后一次在线技术直播 《Unity中使用Tilemap快速创建2D游戏世界》,本文将帮助大家温习此次直播的内容。

直播视频

资源下载

项目《超级马里奥》下载地址:

https://github.com/MarekMarchlewicz/2D-Tilemap-Features

2d-extras代码库:

https://github.com/Unity-Technologies/2d-extras

Tilemap

首先,介绍一下Tilemap的基本概念,Tilemap用起来其实就和现实中画画一样,它由以下五个基本部分组成:

(图 01)

  • Sprite(精灵):纹理的容器。大型纹理图集可以转换为精灵图集(Sprite Sheet)。

  • Tile(瓦片):包含一个精灵,以及二个属性,颜色和碰撞体类型。使用瓦片就像在画布上画画一样,画画时可以设置一些颜色和属性。

  • Palette(调色板):当你在画布(Canvas)上画画时,会需要一个位置来保存绘画的结果。类似地,调色板(Palette)的功能就是保存瓦片,将它们绘制到网格上。

  • Brush(笔刷):用于将画好的东西绘制到画布上。使用Tilemap时,可以在多个笔刷中任意选择,绘制出线条、方块等各种形状。

  • Tilemap(瓦片地图):类似Photoshop中的图层,我们可以在Tilemap上画上Tile。

Tilemap部分其它工具:

  • Grid(网格):用于控制网格属性的组件。Tilemap是Grid的子对象。Grid类似于UI Canvas(UI画布)。

  • Tilemap渲染器(Tilemap Renderer):用于控制Tile在Tilemap上的渲染,控制诸如排序、材质和遮罩等。

如何使用Tilemap

在层级窗口中,依次点击Create->2D Object->Tilemap 新建Tilemap,这将自动创建两个GameObject对象,一个是名为Grid的父对象,上面带有Grid组件。另一个是名为Tilemap的子对象,它在Grid对象下,带有Tilemap和Tilemap Renderer组件。

然后依次点击Window->Tile Palette打开调色板窗口。在调色板窗口中,选择Create New Palette,如图02所示。设置名字和属性,然后指定保存位置。

(图 02)

现在要向调色板加入新瓦片,拖动精灵到调色板中,会打开一个新窗口,询问瓦片的保存位置。你也可以通过精灵图集拖动多个瓦片。在调色板中有了瓦片后,要想把瓦片添加到Tilemap上,你必须选择一个瓦片再拖动它。瓦片加入调色板后,就可以用笔刷绘制场景了。

使用Tilemap中的碰撞体

当绘制好场景后,角色还不能在场景的地面上移动,因为还没添加碰撞体。在Tilemap中添加碰撞体十分简单,只要给Tilemap对象加入一个Tilemap Collider 2D组件即可。可以看到,这个组件自动为该Tilemap上的所有瓦片都加入了碰撞体。

(图 03)

但这样会有个问题。从图03中可以看出,有很多碰撞体(绿色边框表示),但是大部分碰撞体其实是没用的,因为角色不会接触到那些瓦片。

我们可以通过再添加Composite Collider来优化这里的碰撞体,Rigidbody 2D组件会随着Composite Collider自动添加。因为平台不会移动,所以要记得将Rigidbody 2D上的Body Type属性设置为Static。最后在Tilemap Collider 2D上勾选Used By Composite,在整个平台周围生成一个复合碰撞体。设置好后的检视窗口如图04所示。

(图 04)

这样我们的Tilemap部分就完成了。

Cinemachine 2D

Cinemachine可在 Asset Store资源商店免费下载,最新版已经支持在2D游戏中使用。

首先依次点击Cinemachine -> Create 2D Camera,创建新的虚拟摄像机。

(图 05)

如果这是你首次添加该组件到场景中,它还会自动添加一个Cinemachine Brain到你的摄像机上,并创建一个带有Cinemachine Virtual Camera组件的GameObject对象。我们可以将我们的角色设为跟随对象,即下图中的Follow属性。在2D下设置虚拟摄像机的过程和3D中的一样。

(图 06)

在2D游戏开发中,一个很常用的组件是Cinemachine Confiner 2D。用它可以设置Bounding Shape 2D来将摄像机限制在某个区域中,让我们的摄像机不会移出关卡,例如在角色掉出地图时。

(图 07 完成后的效果,摄像机不再会移出关卡界面外 )

2d-extras

为了提高开发速度,Unity创建了名为2d-extras的GitHub代码库,这里面的工具都是基于Tilemap制作,有很多实用的瓦片和笔刷,下面介绍几个2d-extras中的实用工具。

规则瓦片(Rule Tile)

2d-extras中最重要的工具之一就是规则瓦片(Rule Tile)。不用这个工具的话,我们每次在Tilemap上绘制时,都要从调色板选取特定瓦片再进行绘制。如果你想要绘制相邻瓦片,例如一个拐角,你需要从调色板上一次次选取不同瓦片进行绘制。这种方法效率不高。但有了规则瓦片,你可以为相邻瓦片设置一组规则,它将自动选择最合适的瓦片进行绘制。

(图 08演示规则瓦片的使用效果 )

(图 09规则瓦片的详细设置 )

随机瓦片和动画瓦片

2d-extras中还有随机瓦片和动画瓦片。在使用不同的变体绘制相同的对象时,这两个工具十分有用。你可以在项目中找到包含规则瓦片、随机瓦片和动画瓦片的Custom Tile Palette。创建新的Tilemap,然后设置它的排序图层为Foreground。在Custom Tile Palette中,选择任一草地瓦片,将该瓦片画在地面图层上。必须确保Active Tilemap设为你想要绘制的Tilemap。

(图 10 随机瓦片的使用效果 )

Custom Tiles Palette包含瀑布瓦片。如果选中瀑布规则瓦片,也就是Waterfall-RuleTile,可以看到它的导出类型为动画(Animate)。这样就可以为每个瓦片指定动画帧。

(图 11)

使用自定义笔刷绘制3D对象

在2d-extras中,还加入了预制件笔刷(Prefab Brush)。它能用预制件而不是瓦片来绘制画面。预制件可以是3D对象、粒子效果或是动画对象。要想创建自己的预制件笔刷,只要在项目窗口点击Create -> Prefab Brush即可。然后选取刚创建的预制件笔刷,指定想要画出的预制件。如果你添加了不止一个预制件,它会在这些预制件中随机选取进行绘制。

(图 12 预制件笔刷绘制效果)

制作出《超级马里奥》的2D和3D混合效果?

现在来做点别的东西。Nintendo Switch上刚推出的《超级马里奥》中,有一些关卡混合了2D和3D的画面,这种效果十分让人印象深刻。如何在Unity中实现这个效果呢?

(图 13 超级马里奥游戏画面 )

正常情况下,摄像机会直接渲染到你的屏幕。我们如何能让摄像机看到内容并显示在另一个对象上呢?你可能注意到摄像机有一个属性,叫目标纹理(Target Texture)。

(图 14)

我们要在Asset文件夹里新建一个渲染纹理(Render Texture),添加到摄像机上。你可以在项目窗口依次点击Create -> Render Texture来新建渲染纹理。创建好后,你可以将它拖到摄像机上的Target Texture属性中。摄像机这时会将所有对象都渲染到这个纹理上。如果现在进入运行模式,游戏画面将呈现为一片漆黑,因为目前没有激活的摄像机渲染到屏幕上。

现在,我们要加入一个新摄像机到场景中,摄像机的Projection属性为Perspective。在摄像机前添加一个新的3D对象,本例中,我们添加的是圆柱体。然后创建新材质,其Shader属性设为Unlit/Texture,再将刚刚创建的渲染纹理拖到这个材质上的Main Texture部分。

得到的效果如下图。

(图 15)

这样一来,我们就实现了类似《超级马里奥》中的2D和3D混合效果,是不是很简单!

小结

Unity 2017 中创建精彩的2D世界就为大家介绍到这里,希望大家使用Unity创作出精彩的2D游戏。更多精彩文章尽在Unity官方论坛(Unitychina.cn)! 2017年直播汇总尽在Unity Connect !

更多精品文章

  • 在Unity中如何让3D模型呈现2D效果

  • Asset Store资源商店精美2D资源

  • Unity高手在民间:Timeline与Cinemachine社区作品赏析

  • 《Neon》项目的创作过程

  • Unity 2017.3正式版发布

官方活动

  • 你好 2018 | Unity来送礼物了 !

    时间:截至到2018年1月8日

  • Asset Store资源商店问卷调查

    时间:截至到2018年1月5日

    地址:https://zh.surveymonkey.com/r/XM786XG

  • 2018首场Unity大师课程-上海站 即将开场

    时间:2018年1月14日

    地址:https://www.bagevent.com/event/1031633

点击“阅读原文”访问Unity官方社区!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“千万不要秒回对象的信息!!”哈哈哈哈哈还能后悔吗!!

“千万不要秒回对象的信息!!”哈哈哈哈哈还能后悔吗!!

不二表姐
2026-07-03 00:35:56
找对象别光看长相!这姑娘再好,不是过日子的人也不行

找对象别光看长相!这姑娘再好,不是过日子的人也不行

曹莽看世界
2026-06-22 15:21:34
比利时队内讧是假,塞内加尔队内讧是真:赛后有球员公开表达不满,称教练组不辞职就离队

比利时队内讧是假,塞内加尔队内讧是真:赛后有球员公开表达不满,称教练组不辞职就离队

红星新闻
2026-07-02 14:03:14
长鑫存储气体供应商,净利最高预增超130%,年内股价涨近240%

长鑫存储气体供应商,净利最高预增超130%,年内股价涨近240%

21世纪经济报道
2026-07-02 20:49:07
搭伙两年才懂:男人过了71岁,再帅再有钱,也就剩下这三个用处

搭伙两年才懂:男人过了71岁,再帅再有钱,也就剩下这三个用处

新时代的两性情感
2026-07-02 19:08:14
多地党委主要领导调整,王健任台州市委书记

多地党委主要领导调整,王健任台州市委书记

上观新闻
2026-07-02 15:41:25
随着美国2-0,世界杯16强诞生10席,非洲1队晋级,亚洲或全军覆没

随着美国2-0,世界杯16强诞生10席,非洲1队晋级,亚洲或全军覆没

绿茵舞着
2026-07-02 10:54:54
焦点大战!林诗栋vs大勒布伦谁能晋级八强?小石头正手火力关键

焦点大战!林诗栋vs大勒布伦谁能晋级八强?小石头正手火力关键

骑马寺的少年
2026-07-03 07:35:11
“奶茶袋子装大疆!”初三女孩收礼变脸被骂,面相学果然权威!

“奶茶袋子装大疆!”初三女孩收礼变脸被骂,面相学果然权威!

林林先生
2026-06-30 09:20:03
彻底沦陷?这个小国快被中国“买”下了,10个移民里,9个是华人

彻底沦陷?这个小国快被中国“买”下了,10个移民里,9个是华人

混沌录
2026-06-27 21:27:20
女演员千万别整容,看45岁马苏和40岁江疏影同框,就懂两人的区别

女演员千万别整容,看45岁马苏和40岁江疏影同框,就懂两人的区别

白面书誏
2026-06-29 14:44:15
穿越者再现?1977年猫王最后一场演出,观众手里竟有“手机”

穿越者再现?1977年猫王最后一场演出,观众手里竟有“手机”

Science科学说
2026-06-25 08:05:03
亿万富翁希望SpaceX失败:如果SpaceX成功,这个世界将非常危险!网友:时代不属于你了

亿万富翁希望SpaceX失败:如果SpaceX成功,这个世界将非常危险!网友:时代不属于你了

大白聊IT
2026-07-02 17:33:58
世界杯两场逆转绝杀,美国3-2胜波黑晋级并锁定16强

世界杯两场逆转绝杀,美国3-2胜波黑晋级并锁定16强

泪满过眼
2026-07-03 02:51:57
“真希望他不是我亲生的!”父亲直言讨厌儿子,引来千万家长共鸣

“真希望他不是我亲生的!”父亲直言讨厌儿子,引来千万家长共鸣

妍妍教育日记
2026-07-01 20:48:04
李迅雷:2万亿存款流出,但大部分是“养命钱”,大概率不会流向股市

李迅雷:2万亿存款流出,但大部分是“养命钱”,大概率不会流向股市

和讯网
2026-07-02 17:59:24
熬过2次世界大战和20任总统后,141岁的巨龟被美国动物园安乐死

熬过2次世界大战和20任总统后,141岁的巨龟被美国动物园安乐死

狸猫之一的动物圈
2026-06-28 10:52:53
西安赛格商场被曝曾连续6天对商户打砸抢,派出所回应

西安赛格商场被曝曾连续6天对商户打砸抢,派出所回应

可达鸭面面观
2026-07-02 14:56:55
世行决定5年停贷中国,美高调庆祝45年合作终结

世行决定5年停贷中国,美高调庆祝45年合作终结

让生活充满温暖
2026-07-02 15:21:18
“等你娶了老婆就晓得了!”上海男子当街央求交警:快教育教育她……

“等你娶了老婆就晓得了!”上海男子当街央求交警:快教育教育她……

扬子晚报
2026-07-02 17:30:57
2026-07-03 08:15:00
Unity incentive-icons
Unity
Unity中国官方帐户
2483文章数 6733关注度
往期回顾 全部

头条要闻

德英相继放弃造大型战舰 被指是为了"省钱"的无奈之举

头条要闻

德英相继放弃造大型战舰 被指是为了"省钱"的无奈之举

体育要闻

韩国人,为什么恨透了洪明甫?

娱乐要闻

众星祝福祖国,曾沛慈原形毕露?

财经要闻

千亿茶市场无赢家:澜沧巨亏 八马停"蹄"

科技要闻

马斯克不承认,但SpaceX就该造AI手机

汽车要闻

有纯电有增程 还有二代VLA支持 小鹏MONA L03预售价14.38万起

态度原创

家居
时尚
本地
游戏
军事航空

家居要闻

传奇筑 日常诗

这个夏天,你一定吃过她们的瓜

本地新闻

这场穿越酉阳的光影之旅,张张都是壁纸!

索尼砍掉光驱和光盘原因曝光!是为了补贴PS6硬件亏空

军事要闻

美军“航母杀手”首次公开 此前从未展示

无障碍浏览 进入关怀版