Unity 是一款十分盛行且用处广泛的游戏引擎,拥有一长串受支撑的渠道和设备。3D 游戏或许是您谈到 Unity 时的第一个主意。该引擎乃至曾经被称为Unity 3D!可是,大部分移动、主机和桌面游戏都是以 2D 方式呈现的,因而了解 Unity 为构建 2D 游戏供给的功能十分重要。

在本教程中,您将构建一个 2D 太空着陆器游戏,并在此进程中学习以下技能:

  • 怎么运用精灵和相机。
  • 所有关于_物理2D_组件以及怎么处理磕碰和游戏玩法。
  • 怎么设置 2D 动画和状况。
  • 图层和精灵排序怎么影响 2D 游戏。

本教程的资料是在 Unity 版本 2020.3 中构建的。

开端

翻开场景文件夹中的Lander场景。您应该在_“游戏_”视图中看到类似于以下的内容:

【Unity】2D太空登录小游戏开发入门教程(上)

由于精灵排序,您或许不会看到完全相同的图片,本教程稍后将对此进行说明。入门项目是一款功能性的 2D 太空着陆器游戏,但它有一些问题你需求处理才干真实完成。

准备好升空并前往最近的着陆台进行风险的旅程了吗?是时分开端了!

留意:Unity 中的 2D 游戏 — 十分合乎逻辑 — 运用 Unity 编辑器的 2D 形式。从头开端创立项目时,能够挑选 2D 或 3D 形式。此选项已在初学者项目中为您设置。

【Unity】2D太空登录小游戏开发入门教程(上)

Unity中的精灵

在高层次上,_精灵_只是 2D 图形目标。它们本质上是您通常用于 3D 目标的标准纹路。可是,Unity 具有用于组合和办理这些精灵纹路的特别技能,以便在您的游戏中取得超高效的性能,以及便利的开发体会。

简而言之,精灵在 Unity 中易于运用,这要归功于超卓的 2D 作业流程和内置编辑器。

要将精灵添加到游戏中,请将其从_Project _文件夹拖放到 Scene 视图中。若要亲自了解该进程的简单程度,请先挑选“Scene _”视图。然后,将_玩家_精灵从“精灵”文件夹拖到_Scene _视图中:

【Unity】2D太空登录小游戏开发入门教程(上)

在层次结构中,单击 Unity 为您创立的_Player_,然后在查看器中查看其具体信息。请留意,Unity 主动将包括玩家精灵的精_灵渲染器_组件附加到游戏目标:

【Unity】2D太空登录小游戏开发入门教程(上)

这便是它所需求的!_精灵渲染器_答应您在 2D 和 3D 场景中将图画显现为精灵。

现在,从层次结构中删除_Player_。

精灵形式

单击_“Assets / Sprites”文件夹中的精灵。在查看器中,有三种不同的形式能够运用精灵:

【Unity】2D太空登录小游戏开发入门教程(上)

  • Single:单_图画精灵。
  • Multiple:具有多个元素(如动画)的精灵,或具有人物不同部分的精灵表。
  • Polygon:一种自定义多边形形状的精灵,您能够运用它创立许多不同类型的基元形状。示例:三角形、正方形、五边形、六边形。

精灵表(图集)是包括许多较小的单个图画的单个图画,如下所示:

【Unity】2D太空登录小游戏开发入门教程(上)

运用精灵表的原因是,您在游戏中运用的每个图画都将占用一次制作调用。关于几十个精灵来说,这没什么大不了的,但随着游戏复杂性和范围的添加,这或许是一个潜在的问题。

经过运用精灵表,您能够对大量精灵进行一次制作调用,然后为您的游戏供给性能进步。当然,精灵表的组织与运用它们一样重要,但这是另一个教程!

精灵编辑

将多个图形元素打包到单个图画中关于具有许多移动部件的动画或目标十分便利;Unity 运用内置的 2D 精灵表编辑器(2D sprite editor)能够轻松办理这些精灵表。

您将在此游戏中运用两个精灵表:一个用于着陆器的推进器动画,另一个用于爆破动画。这两个动画都由多个帧组成,您能够运用 _精灵编辑器_对其进行编辑和切片。

Assets/Sprites/Explosion/explosion-spritesheet.png已经为您切片并准备成动画,但Assets/Sprites/thruster-spritesheet.png依然需求留意。

【Unity】2D太空登录小游戏开发入门教程(上)

切片精灵表

点击项目窗口中的_Assets/Sprites/thruster-spritesheet.png_。在查看器中,Sprite mode已经设置为_Multiple(假如没有,更改它,然后单击_Apply_)。

接下来,点击_Sprite editor:

【Unity】2D太空登录小游戏开发入门教程(上)

在较新版本的 Unity 中,默许状况下不装置_精灵编辑器_;它已移动到包体系中,需求添加。

【Unity】2D太空登录小游戏开发入门教程(上)

此警告在您初次测验翻开精灵编辑器时呈现。

转到_Window ▸ Package Manager_。从_“Packages ”下拉列表中挑选“Unity Registry”,然后找到“2D Sprite”。单击“装置_”将工具添加到项目中。

【Unity】2D太空登录小游戏开发入门教程(上)

回来 thruster-spritesheet.png再次单击_精灵编辑器_。弹出一个新窗口,显现主动切成单个帧的精灵表(添加数字是为了说明目的,不是屏幕截图的一部分):

【Unity】2D太空登录小游戏开发入门教程(上)

单击窗口左上角的_切片_,_留意主动是_默许切片操作:

【Unity】2D太空登录小游戏开发入门教程(上)

这意味着 Unity 将测验尽其所能自行定位和切片您的精灵表。在这种状况下,它能够正常作业,但您也能够按单元格_巨细_或_单元格计数_对精灵表进行切片。

自定义切片

经过挑选单元格巨细选项,您能够运用像素尺度指定精灵表中每个帧的巨细。

点击精_灵编辑器_中切片菜单下的_按__单元格巨细网格_:

【Unity】2D太空登录小游戏开发入门教程(上)

在_像素巨细下_,为 X 输入 9,为 Y 输入 32。将其他值保存为 0,并将“透视”设置为“居中”。然后,单击_切片_:

【Unity】2D太空登录小游戏开发入门教程(上)

点击精_灵编辑器_窗口中_的运用_,运用更改:

【Unity】2D太空登录小游戏开发入门教程(上)

大功告成!您的推进器精灵表现在能够运用了,您能够封闭封闭精灵编辑器。

将精灵分配给着陆器

现在,你实际上无法_在游戏中看到_着陆器。那是由于它没有附加任何精灵渲染器组件。不会有任何壮丽的着陆 – 或坠毁!– 假如着陆器在屏幕上不可见。

要处理此问题,请单击层次结构中的_着陆器_游戏目标。在查看器中,单击“添加组件”,然后在查找文本栏中键入_Sprite Renderer_”。终究,挑选精灵渲染器_组件。

现在,点击组件特点中精灵字段周围的小圆圈图标,挑选_playership 精灵_:

将_图层中的次序_设置为 1。稍后会具体介绍!

你的下一个作业是分配起落架精灵。

单击坐落_着陆器_游戏目标下的 LanderFeet 游戏目标。然后,单击“精灵渲染器”组件特点中“精灵”字段周围的小圆圈图标。终究,在“挑选精灵”窗口中挑选_着陆脚_精_灵_,如下所示:

【Unity】2D太空登录小游戏开发入门教程(上)

单击_播映_;您将能够在游戏视图中看到您的着陆器。运用 WASD 或_箭头键_在屏幕上飞来飞去:

【Unity】2D太空登录小游戏开发入门教程(上)

咱们升空了!

假如你的着陆器被一种看不见的力量阻挠,你或许企图飞过一颗你看不见的小行星,由于前面提到的精灵分类问题。现在,持续探索你能够到达(和看到)的世界部分。:]

每单位的 2D 摄像头和像素数

默许状况下,Unity 2D 项目具有_正交_摄像机视图。通常,您需求在 2D 游戏中坚持这一点,而不是运用_透视_摄像机视图。您能够在 [Unity 教程简介]的第二部分中具体了解它们之间的差异。

下图显现了场景主摄像机的默许_摄像机_配置:

【Unity】2D太空登录小游戏开发入门教程(上)

如上所述,“投影”特点设置为_“正交”。_

在“项目”窗口中挑选_玩家_人物,然后在查看器中查看其_导入设置_。_“每单位像素数”_特点当时设置为默许值 100

【Unity】2D太空登录小游戏开发入门教程(上)

所以。。。在这种状况下,100 是什么意思?

关于每单位像素数的字词

Unity 中的单位不一定对应于屏幕上的实际像素。相反,您通常会以某种恣意份额(例如 1 单位 = 1 米)相对调整目标的巨细。关于精灵,Unity 运用_每单位像素数_来确认其未缩放巨细(以单位为单位)。

考虑从 500 像素宽的图画导入的精灵。下表显现了当您运用不同份额的每单位像素值渲染精灵时,x 轴上游戏目标的宽度将怎么改变:

【Unity】2D太空登录小游戏开发入门教程(上)

还是不太清楚?以下计划将帮助您了解单位转化的状况。

考虑一个运用静态相机并全屏显现布景精灵的游戏,类似于计算机桌面上的壁纸。

Assets/Sprites/backdrop.png 高度为 2048 像素,默许每单位像素比率为 100。假如您进行数学计算,您会发现层次结构中的_布景游戏_目标将到达 20.48 个单位高。

可是,正交摄像机的巨细特点仅丈量屏幕高度的_一半_,因而,要在全视图中将_布景游戏_目标的确切高度与屏幕配合,应运用 10.24 的正交巨细:

【Unity】2D太空登录小游戏开发入门教程(上)

可是,您不需求更改项目中的摄像机,由于当时巨细 5 适用于游戏中的移动摄像机。

令人自豪的银河

精灵的_“导入设置_”的“最大巨细”特点答应您定义精灵的最大_巨细_(以像素为单位)。您能够为计划定位的每个渠道掩盖此设置。

放大浅蓝色星系上的场景视图布景。请留意,它略微模糊;导入精灵时,“最大巨细”特点默许为 2048。Unity 有必要缩小图画以适应默许纹路巨细,然后导致图画质量下降。

要铲除图画问题,请在“项目”窗口中挑选_布景子_画面。然后,在“查看器”窗口中,挑选_“掩盖 PC、Mac 和 Linux 独立设置_”(看起来像电脑显现器的选项卡)。

接下来,选中 PC、Mac 和 Linux 独立掩盖,并将_最大巨细_更改为 4096。单击_运用_,然后等候顷刻,Unity 再次导入场景视图的布景。你会看到布景突然变得清晰起来:

【Unity】2D太空登录小游戏开发入门教程(上)

将“最大巨细”设置为 4096 可让 Unity 运用完好的 4096 x 4096 纹路,以便您能够看到原始图画中的细节。

尺度添加

可是,这种保真度是有代价的。查看查看器的预览区域如下所示;布景纹路的巨细现在为 4.0 MB,高于之前的 1.0 MB:

【Unity】2D太空登录小游戏开发入门教程(上)

添加纹路的巨细会将其内存占用量添加 4 倍。

还值得一提的是,Unity 支撑针对其他渠道进行构建,有一些掩盖设置。假如您计划为其他渠道构建游戏并期望为它们设置不同的巨细和格局设置,则能够运用这些掩盖设置。

留意:4096 x 4096是一个相当大的图画文件;尽量避免运用此尺度,_尤其是_关于手机游戏。本项目仅运用大图画作为示例。

纹路

您还能够更改纹路的_格局_,如下所示:

【Unity】2D太空登录小游戏开发入门教程(上)

您或许期望调整某些纹路的格局以进步其质量或减小其巨细,但这会添加图画的内存占用量,或者下降纹路保真度。调整这些设置的最佳方法是研讨每个设置的作业原理,测验它们并比较结果纹路的质量和巨细。

运用“紧缩”格局能够设置_紧缩_质量滑块值。50% 的紧缩值需求很长时间才干紧缩,但它为您供给了尽或许小的文件巨细,您能够进一步调整。

将布景导入设置回运用“格局”和“紧缩器质量”设置之前的状况。然后,单击_运用_。

【Unity】2D太空登录小游戏开发入门教程(上)

在开发自己的游戏时,您需求运用紧缩设置来找到组合,然后产生最小的纹路巨细,一起仍能为您供给所需的质量。

Unity2D太空登录小游戏开发入门教程(下) – 掘金 ())

查找关注公众号“unity小游戏工坊”回复“002”获取本教程的资料

未完待续…