Unity 2D游戏开发完整指南
Unity 2D游戏开发完整指南
在 Unity 中工作
Unity 中的 2D
2D 游戏开发
2D 游戏制作流程
为 2D 游戏设置项目
2D 游戏视角参考
2D 游戏制作流程
在创建 2D 游戏之前,你需要确定一个游戏视角和一个艺术风格。
要创建 2D 游戏,请设置 Unity 项目,然后按以下顺序熟悉相关概念
2.
基础知识
4.
脚本
6.
精灵2D 图形对象。如果您习惯于使用 3D,精灵本质上只是标准纹理,但有一些特殊的技术用于组合和管理精灵纹理,以提高开发过程中的效率和便利性。更多信息
参见词汇表
8.
构建游戏内环境
10.
角色动画
12.
图形
14.
物理 2D
16.
音频
18.
用户界面
20.
分析、优化和测试
22.
发布
基础知识
游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、路径点等。游戏对象的功用由附加到其上的组件定义。更多信息
参见词汇表是 Unity 中的基本对象,代表角色、道具、场景等。游戏中的每个对象都是一个游戏对象。
游戏对象代表游戏中的物品;放置它们以构建关卡的空间称为场景场景包含游戏的环境和菜单。将每个独特的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,本质上是设计和构建游戏的部分。更多信息
参见词汇表。Unity 中的场景始终为 3D;当您在 Unity 中制作 2D 游戏时,通常选择忽略第三维(z 轴),但您也可以在特殊情况下使用它,例如制作 2.5D 游戏时。
游戏对象的功用由称为组件的功能块定义。以下组件是 2D 游戏的基础
- 变换:变换组件变换组件确定场景中每个对象的 位置、旋转和缩放。每个游戏对象都具有变换。更多信息
参见词汇表确定场景中每个游戏对象的 位置、旋转和缩放。每个游戏对象都具有变换组件。 - 精灵渲染器一个组件,可以让您显示图像作为精灵,用于 2D 和 3D 场景。更多信息
参见词汇表:精灵渲染器组件渲染精灵并控制它在场景中的外观。 - 相机一个组件,它会创建场景中特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
参见词汇表:捕获和向玩家显示世界的设备。将相机标记为 正交 会从相机的视图中移除所有透视。这主要用于制作等距或 2D 游戏时。 - 碰撞器 2D:此组件定义 2D 游戏对象形状,用于物理碰撞当物理引擎检测到两个游戏对象的碰撞器发生接触或重叠时,就会发生碰撞,前提是至少一个游戏对象具有刚体组件并且处于运动状态。更多信息
参见词汇表。参见2D 物理。
组件是UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三个 UI 系统。更多信息
参见词汇表C# 类的表示形式;您可以使用脚本更改和与组件交互,或创建新的组件。有关更多详细信息,请参见脚本部分。
脚本
所有 2D 游戏都需要脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以您喜欢的任何方式响应用户输入。更多信息
参见词汇表。脚本响应玩家的输入并安排游戏玩法中的事件在应该发生时发生。
有关如何在 Unity 中使用脚本的详细信息,请参见脚本概述。另请参见 Unity Learn 的初学者脚本课程。
脚本附加到游戏对象,您创建的任何脚本都继承自MonoBehaviour类。
精灵
精灵是 2D 图形对象。您可以在所有类型的 2D 游戏中使用精灵。例如,您可以将您主角的图像导入为精灵。
角色精灵
您还可以使用一系列精灵来构建角色。这使您可以更好地控制角色的移动和动画。
构成角色各个部分的多个精灵,在精灵编辑器中显示
导入和设置精灵
使用 Unity 建议的设置导入精灵;请参见导入和设置精灵。
渲染精灵
使用精灵渲染器组件来渲染精灵。例如,您可以使用精灵渲染器来更改精灵的颜色和透明度。
使用精灵渲染器调整精灵的颜色
参见精灵渲染器简介 Learn 教程。排序精灵通过将精灵组织成图层,您可以创建深度错觉。您可以根据多种策略对精灵进行排序。有关详细信息,请参见排序精灵。例如,您可以沿着 y 轴对精灵进行排序,以便上面的精灵排序在下面的精灵后面,使上面的精灵看起来比下面的精灵更远。
沿 y 轴排序的精灵
要设置精灵的覆盖顺序,请使用排序层。
要对具有精灵渲染器的游戏对象进行分组,并控制它们渲染精灵的顺序,请使用排序组。
精灵图集
您可以使用精灵图集一个实用程序,将多个精灵纹理紧密地打包到一个称为图集的单个纹理中。更多信息
参见词汇表将多个纹理合并成一个组合纹理。这会优化您的游戏并节省内存。例如,您可以将与特定角色或目的相关的所有精灵添加到精灵图集。
精灵图集
参见精灵图集简介 Learn 教程。
构建游戏内环境
环境设计是指构建游戏关卡和环境的过程。您可以将本节中的环境设计工具以最适合您的游戏的方式组合使用;例如,您可以使用仅 9 切片制作俯视游戏,或者使用瓦片地图和精灵形状制作横版平台游戏。
9 切片
9 切片是一种 2D 技术,允许您在各种尺寸下重复使用图像,而无需准备多个资源。Unity 可以动态拉伸和平铺精灵的指定部分,使一个精灵能够作为各种尺寸的 UI 元素的边框或背景。参见9 切片精灵。
例如,您可以使用 9 切片来拉伸精灵以在构建 2D 关卡时进行塑形。
一个 9 切片精灵,分成九个部分
参见使用 9 切片制作可缩放精灵 Learn 教程。
瓦片地图
瓦片地图一个游戏对象,允许您使用瓦片和网格叠加快速创建 2D 关卡。更多信息
参见词汇表组件是一个系统,用于存储和处理用于创建 2D 关卡的瓦片资源。使用2D 瓦片地图编辑器包(默认安装)来使用瓦片地图。
例如,您可以使用瓦片地图来使用瓦片和画笔工具绘制关卡,并定义瓦片行为的规则。
瓦片调色板窗口,用于编辑瓦片地图
参见瓦片地图简介 Learn 教程。
2D 瓦片地图扩展
要将一些额外的瓦片地图资源添加到您的项目中,请安装2D 瓦片地图扩展包。此包包含可用于您自己的项目的可重用 2D 和瓦片地图编辑器脚本。您可以自定义脚本的行为以创建适合不同场景的新画笔。
等距瓦片地图
对于具有等距视角的游戏,您可以创建等距瓦片地图。
精灵形状
与矢量绘图工具类似,精灵形状提供了一种更灵活的方式来创建更大的精灵,例如自然景观和路径。参见精灵形状配置文件。
在精灵形状中创建的路径
参见使用精灵形状教程。
角色动画
您可以通过三种不同的方式来制作 2D 角色动画
2D 动画类型 用于
逐帧 艺术原因,如果您希望您的游戏具有经典的动画艺术风格。逐帧动画在制作和运行时都比较消耗资源。
剪纸 当角色不需要逼真的关节运动时,流畅的骨骼动画。
骨骼 平滑的骨骼动画,其中精灵根据骨骼结构弯曲。当角色需要更具机理感时使用此方法。
逐帧
逐帧动画基于传统的动画技术,将动画的每个时刻绘制成单独的图像,这些图像以快速顺序播放,就像翻阅翻页书一样。
要进行逐帧动画,请按照逐帧动画工作流程进行操作。
精灵编辑器中的逐帧动画
请参阅精灵动画入门学习教程。
剪纸
在剪纸动画中,多个精灵构成一个角色的身体,每个部分都会移动,从而产生整个角色移动的视觉效果。这种动画风格类似于骨骼动画(见下文),只是精灵不会弯曲。
精灵编辑器中的剪纸动画
骨骼
使用骨骼动画,您可以将精灵或一组精灵映射到动画骨骼上。您可以为角色和物体创建和定义动画骨骼,这些骨骼定义了它们应该如何弯曲和移动。这种方法允许骨骼弯曲并变形精灵,以实现更自然的运动风格。要使用骨骼动画,您需要使用2D 动画包(默认安装)。
有关 2D 动画工作流程,包括骨骼编辑器工作指南,请参阅2D 动画文档。
骨骼编辑器中带有骨骼的角色
图形
本节介绍使用通用渲染管线一系列操作,将场景的内容渲染到屏幕上。Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。更多信息
参见词汇表(URP)时可用的2D URP 图形功能。
光照
由于您使用的是带 2D 渲染器的 URP,因此可以使用 Light 2D 组件将优化的 2D 光照应用到精灵上。有关详细信息,请参阅2D 光照简介。
这两张图片显示的是同一个场景;在左边的图片中,2D 光照被禁用,在右边的图片中,2D 光照被启用。使用 2D 光照,您可以使用相同的精灵创建不同的天气条件或氛围。
请参阅URP 中的光照学习教程。
阴影
要定义光照用于确定其投射阴影的形状和属性,请使用Shadow Caster 2D 组件。
Shadow Caster 2D 组件中的阴影强度为 0.5
增强外观和感觉
粒子系统和后期处理通过在图像出现在屏幕上之前应用滤镜和效果来改善产品视觉效果的过程。您可以使用后期处理效果模拟物理相机和胶片属性,例如 Bloom 和景深。更多信息后期处理,后期处理,后期处理
参见词汇表是可选工具,您可以使用它们来为您的游戏添加润色。
粒子系统
您可以使用粒子系统创建动态物体,例如火焰、烟雾或液体,作为使用精灵的替代方法。精灵更适合于物理物体。请参阅粒子系统一个组件,通过在场景中生成和动画大量小型 2D 图像来模拟液体、云层和火焰等流体实体。更多信息
参见词汇表。
使用粒子系统和 2D 着色器图创建的火焰效果
后期处理
您可以使用后期处理效果和全屏效果来显着改善游戏的画面效果。例如,您可以使用这些效果来模拟物理相机或胶片属性,或创建风格化的视觉效果。
URP 有自己的后期处理实现。请参阅通用渲染管线中的后期处理。
Lost Crypt 演示使用 bloom 和晕影后期处理效果
物理 2D
物理 2D 设置定义了 2D 游戏中物理模拟精度的限制。请参阅2D 物理。
此视频概述了 Unity 2020.1 中的 2D 物理功能。
要了解如何使用 Unity 的 2D物理引擎一个模拟物理系统方面的系统,以便物体能够正确加速并受到碰撞、重力和其它力的影响。更多信息
参见词汇表,请参阅2D 物理学习教程。
以下 2D 物理工具对于 2D 游戏很有用。
刚体 2D
刚体一个组件,允许游戏对象受到模拟重力和其它力的影响。更多信息
参见词汇表2D 组件将游戏对象置于物理引擎的控制之下。请参阅刚体 2D。
刚体 2D 组件
碰撞器 2D
碰撞器 2D 组件定义了 2D 游戏对象在物理碰撞方面的形状。您还可以使用碰撞器用于处理物体物理碰撞的不可见形状。碰撞器不需要与物体的网格完全相同形状 - 粗略的近似通常更有效,并且在游戏玩法中无法区分。更多信息
参见词汇表2D 组件进行输入检测。例如,在移动游戏中,您可以使用它们使精灵可选择。
您可以与刚体 2D 一起使用的碰撞器 2D 类型为
圆形碰撞器 2D 组件
触发器
当您将碰撞器 2D 设置为触发器(通过启用其Is Trigger属性)时,它不再表现为物理对象,并且可以与其它碰撞器相交而不会引起碰撞。相反,当碰撞器进入其空间时,Unity 会在触发器游戏对象的脚本上调用
OnTriggerEnter
函数。
已选择Is Trigger的圆形碰撞器 2D 组件
2D 关节
关节将游戏对象连接在一起。您只能将 2D关节一个物理组件,允许刚体组件之间建立动态连接,通常允许一定程度的运动,例如铰链。更多信息
参见词汇表连接到已附加了刚体 2D 组件的游戏对象,或连接到世界空间中的固定位置。请参阅2D 关节。
2D 效应器
使用效应器 2D组件游戏对象的功能部分。游戏对象可以包含任意数量的组件。Unity 具有许多内置组件,并且您可以通过编写继承自 MonoBehaviour 的脚本创建自己的组件。更多信息
参见词汇表与碰撞器 2D组件一起,在游戏对象碰撞器相互接触时,引导场景中的物理力。请参阅2D 效应器。
音频
您可以在 Unity 中为您的游戏添加背景音乐和音效;请参阅音频概述。使用第三方软件创建您的音频并将其导入 Unity,并使用推荐的设置。
用户界面
如果您要为您的游戏添加菜单或帮助,则需要设置用户界面。要设置用户界面,请使用Unity UI。
分析、优化和测试构建
分析
分析使您能够查看游戏的不同部分的资源消耗情况。您应始终在目标发布平台上分析您的游戏;请参阅分析您的应用程序。
优化
在分析之后,您可以使用结果进行性能改进和优化。请参阅了解 Unity 中的优化。
测试
使用 Unity 测试框架测试您的游戏和代码;请参阅Unity 测试框架。
测试运行器窗口
发布
完成游戏后,您就可以发布它了。请参阅发布构建。
为 2D 游戏设置项目
2D 游戏视角参考
