您的位置:首页 > 移动开发 > Unity3D

Unity 2D 终结手册 (1) (2) - 2D 项目+精灵_Unity3d开发

2016-08-22 10:13 691 查看
Unity 2D 终结手册 (1) - 2D 项目+精灵_Unity3d开发_蓝鸥这篇系列文章主要介绍 Unity 2D 开发技术。包括 2D/3D 项目的区别、如何设置 2D/3D 模式、2D 开发中使用到的组件等。
Unity 不止能够制作酷炫的 3D 游戏,同样也能够制作完美的 2D 游戏。使用 Unity 开发 2D 内容时,编辑器的大部分功能都是通用的,只不过有些功能为了简化 2D 开发,做了一些调整。



(图 1)Unity 2D 游戏
在 Scene 视图上方的工具条中,有一个明显的 2D 模式按钮,点击按钮就能够在 2D/3D 模式间进行切换。当开启 2D 模式时,场景会以正交视图进行显示(3D 模式下是以透视视图进行显示的),此时 Scene 视图的视角看起来是朝着 Z 轴正方向的,并且向上是 Y 轴正方向。在此模式下我们可以轻松地设置 2D 场景、操作 2D 对象。



(图 2)2D 模式下的 Scene 视图
当我们创建一个新的项目时,我们可以选择是以 2D 模式还是 3D 模式启动。2D/3D 模式决定了 Unity 编辑器的一些设置,比如当导入一张图片时,会把它默认作为 Texture(纹理)还是 Sprite(精灵)。如果我们不小心选错了模式也不要紧,在项目创建成功之后,我们依然可以在 2D/3D 模式之间切换。如果我们不太清楚我们的项目应该以 2D 模式还是以 3D 模式开始,我们就应该先了解一下 2D/3D 项目的区别。

一、完全 3D 的项目

3D 游戏通常使用三维立体几何模型,使用材质(Material)并将纹理(Texture)渲染(Render)在这些模型表面,使它们看起来像个房子、角色或其它物体,然后构成整个游戏世界。摄像机可以在场景周围自由地移动,逼真的光影投射在整个游戏世界中。3D 游戏的渲染需要通过视角计算,这样一来,越靠近摄像机的物体,在屏幕上就会显示的越大。对于满足这些描述的游戏,都应该在 3D 模式下进行开发。



(图 3)一些完全 3D 的场景

二、正交 3D 项目

有时,游戏中会使用三维立体几何模型,但是摄像机却是正交摄像机,而不是透视摄像机。这是游戏开发中一种常用的技术,一般会以“鸟瞰图”的形式呈现整个场景,我们也叫它“2.5D”。如果我们需要开发这样的游戏,也应该选择 3D 模式,因为即使整个画面看起来没有透视效果,但我们仍然需要使用 3D 模型和资源。不过需要把摄像机和场景视图调整为正交。



(图 4)一些采用正交视图的 3D 游戏

三、完全 2D 项目

许多 2D 游戏使用的是平面图形,也叫作 Sprite(精灵)。它们没有立体感,是直接绘制在屏幕上的图像,并且游戏中的摄像机没有透视的感觉。对于这种类型的项目,我们应该选择在 2D 模式下开始。



(图5)一些完全 2D 的游戏

四、使用 2D 的玩法但是采用 3D 图形的项目

在一些游戏中使用了三维立体模型,但限制游戏在两个维度上进行,只有 2D 的玩法。例如,游戏中使用的是 3D 模型的障碍物、人物、场景,摄像机也是透视摄像机,但是摄像机永远只能提供一个横向滚动的视图,玩家也只能操作人物在两个维度上运动。对于这些游戏,3D 只能算是一种风格,并不是游戏的功能。这种游戏也可以叫做“2.5D”。由于在开发过程中我们需要使用到 3D 模型,所以这类游戏同样需要选择 3D 模式。



(图 6)一个 2D 横板游戏,但是采用了 3D 图形效果

五、使用 2D 图形和玩法,但包含透视相机的项目

这也是 2D 游戏常用的一种风格,采用 2D 图像但使用的是透视摄像机。这种项目中,所有的图像都是平面的,但是距离摄像机的远近不同,当摄像机移动时会产生一种视差滚动的效果,比较有层次感。我们在 2D 模式下就能够进行开发,只是需要把 Scene 视图设置为 3D,并且将摄像机调整为透视摄像机。



(图 7)一个完全 2D 的游戏,但是使用了透视摄像机

六、其他类型的项目

你的项目可能属于上述类型中的一种,也可能你想制作一款完全不同风格的项目,可以参考上面提到过的常见的类型,并且记住 2D/3D 模式是可以在项目开发过程中随时修改的。

Unity 2D 终结手册 (2) - 精灵

2D 中的所有图像我们都称之为精灵(Sprite)。精灵和标准的纹理几乎一样,但是采用了特殊的技术用来组合并管理精灵纹理,进而提高开发效率,使操作更便捷。Unity 提供了一个内置的精灵编辑器,能够从一张大的图片中提取精灵图像。这样我们就可以使用外部的图形编辑器(比如 Photoshop),在一个单独的纹理中编辑多个图像组件。例如,我们可以把角色的手臂、腿、身子等都作为一个个单独的图像元素,保存在一张大图中。
2D 的精灵对象需要使用精灵渲染器(Sprite Renderer)进行渲染,而不是使用 3D 对象的网格渲染器(Mesh Renderer)。我们可以通过组件菜单(Component -> Rendering -> Sprite Renderer)给游戏对象添加精灵渲染器;或者直接创建一个带有精灵渲染器的游戏对象(GameObject -> 2D Object -> Sprite),我们叫它精灵对象。此外,我们也可以通过精灵创建工具,制作出占位精灵(Placeholder Sprite)。

相关工具

在 Unity 中提供了一系列针对精灵操作的工具,它们能够简化我们的工作流。包括精灵创建器(Sprite Creator)、精灵编辑器(Sprite Editor)、精灵打包器(Sprite Packer)和精灵渲染器(Sprite Renderer)。
精灵创建器(Sprite Creator)能够让我们在 Unity 中创建占位精灵(Placeholder Sprite),这样即使美术还没有提供给我们图像素材,我们也可以先进行开发。我们可以使用精灵编辑器(Sprite Editor)从一张大图中提取精灵图像,也可以在一个纹理中编辑图像组件,比如胳膊、腿等。精灵对象必须通过精灵渲染器(Sprite Renderer)渲染才能够显示在场景中。在项目中使用精灵打包器(Sprite Packer)能够优化显存的使用和性能。

导入并设置精灵

在 Unity 中,精灵也是一种资源,我们能够在项目视图(Project View)中看到它们。有两种引入精灵的方式:
1、在Finder(Mac OS)或者文件资源管理器(Windows)中直接将图片资源拖拽到 Unity 的项目视图(Project View)里面;2、从Asset -> Import New Asset来选择要导入的图像资源。接着我们需要将导入的图像资源设置为精灵。如果我们的项目模式是 2D,那么导入图像资源之后会自动识别为精灵。如果我们的项目模式是 3D,导入之后默认为纹理(Texture),我们需要改变它的纹理类型(Texture Type):
1、选中导入的图像资源,在检视视图(Inspector View)中会显示它的导入设置(Import Setting);2、将纹理类型(Texture Type)属性改为Sprite(2D and UI)。


(图 1)在导入设置中将纹理类型改为精灵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  3D Unity 蓝鸥