本章包括Unity 2D的文档
你可以从以下 文档 得到如何切换2D/3D模式的更多细节。
参看 2D和3D项目 了解使用2D或3D。
尽管3D的能力很出名,但是Unity也可以用来创建2D游戏。编辑器里面类似的功能仍然有用,但有更有益的额外特性来简化2D游戏开发。
2D游戏场景面板
立刻能注意到的特征是在Scene视图工具栏上的2D视图模式按钮。当2D模式启用的时候,正交(自由透视图)视图将会被设置;摄像机朝向向Z轴,并且增加Y轴坐标。这让你可以看见场景,然后容易的放置2D物体。
2D组件的完整列表,如何在2D和3D模型间切换,2D和3D模型设置的差别,参看 2D或3D项目
在2D里图形对象叫做Sprites。Sprites本质上仅仅是标准的纹理(textures),但是有一些特殊的技术,来合并和管理Sprite的纹理,以便开发期有更好的性能和便利性。Unity提供了一个内置的 Prite Editor 来让你从一个大图片里提取sprite图形。这个工具支持你在图形编辑器里,编辑包含在一个单独纹理里的一批组件图像。你可以使用这个,例如,把角色的手臂、腿、身体分别作为不同的元素保存在一个图像里。
Sprites由一个 Sprite Renderer 渲染,而不是3D对象使用的 Mesh Renderer 。你可以通过Components菜单把它添加到一个GameObject上(Component > Rendering > Sprite Renderer )或者你可以只是直接创建一个带Sprite Renderer的GameObject(菜单:GameObject > 2D Object > Sprite )。
另外,你可以使用Sprite Creator 工具去穿件一个2D图形的占位器。
Unity有一个不同的物理引擎来处理2D物理运算,这样可以利用仅仅在2D情况下的优化措施。这个组件符合标准的3D物理组件如Rigidbody , Box Collider ,和 Hinge Joint ,但会附件个“2D”的名字。所以,Sprites可以被装备上 Rigidbody 2D , BoxCollider 2D和 Hinge Joint 2D 。除少量例外,大多数2D物理组件是简单的3D等价物的“平面化”版本。(例如,Box Collider 2D 是一个正方形而 Box Collider 是一个正方体)
完整的2D图例组件列表,参看 2D或3D项目 。参看手册的 物理 章节获得更多2D物理概念和组件的信息。
Sprites 是2D图形对象。如果你以前用过3D,Sprites 本质上仅仅是标准的纹理(textures),但是有一些特殊的技术,来合并和管理Sprite的纹理,以便开发期有更好的性能和便利性。
Unity 提供了一个占位器 Sprite Creator ,一个内置 Sprite Editor ,一个 Sprite Renderer 和一个 Sprite Packer 。
参看下面的 导入和设置 Sprites 获得在你的Unity项目中设置Sprites资源的更多信息。
Sprite Creator
在你的项目里使用Sprite Creator建立占位器sprite,这样你可以继续你的开发工作,而无需等待图形资源。
Sprite Editor
Sprite Editor 让你可以从一个大图片里提取多个sprite图形,并且可以在你的图形编辑器里编辑包含在单一纹理里的多个图像组件。
Sprite Renderer
Sprites 是被一个Sprite Renderer组件渲染的,正如3D对象使用Mesh Renderer一样。使用它可以在2D和3D场景里把图片作为Sprites 显示。
Sprite Packer
使用Sprite Packer优化你的项目的功能以及显示内存的性能。
Sprites 在Unity项目里是一种 Asset 。你可以通过 Project 面板 看到、准备它们。
有两种方法把 Sprites 带进你的项目:
参看导入Assets获得以上内容的更多细节,以及组织你的 Assets 文件夹的重要信息。
把你的图片设置为一个Sprite
如果你的项目模式被设置为2D,你导入的图片会自动被设置成一个 Sprite 。
然而, 如果你的项目模式被设置为3D,你的图片会被设置为一个 Texture(纹理),因此你需要修改这个资源的 Texture Type :
参看 [2D或3D项目] (https://docs.unity3d.com/Manual/2Dor3D.html)获得把你的项目设置为2D的细节。
图例1:设置Texture Type为Sprite(2D and UI),在资源的inspector里