购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Unity 2D
手动创建循环背景

请扫描以上二维码-下载本节项目源文件

本节学习要点

01 设置技巧:游戏预览分辨率的设置

02 手动创建循环背景

一个无限循环的背景在2D游戏中的使用非常频繁,下面介绍游戏内部的重要元素—循环背景的制作技巧。

在开始创建背景之前,先来介绍一些关于手机屏幕分辨率的知识,了解这些知识对理解循环背景的原理,以及制作循环背景有非常重要的帮助。

设置技巧:游戏预览分辨率的设置

苹果手机的主流分辨率都是16:9,所有我们在 Game 窗口中的下拉列表中选择16:9的比例来直接预览效果。当然也可以单击 Game 窗口中的 Maximize on Play 按钮全屏显示游戏效果。

小知识:苹果手机屏幕分辨率尺寸介绍

现在市场上的移动设备品牌众多,屏幕分辨率也大多不一样,无论是安卓设备,还是苹果设备,它们的屏幕分辨率都有差别,我们就以苹果设备为例来简单介绍现在市场上主流的一些分辨率。苹果手机现售主流产品的屏幕比例主要以16:9为主,安卓的现售主流产品的屏幕比例以16:10为主。

手动创建循环背景

在了解了现在市场上主流手机设备的屏幕分辨率与我们在Unity中如何设置这些分辨率来预览游戏之后,可以知道制作一个能通用的循环背景需要考虑所有设备分辨率的适配,在编写脚本的时候,需要动态地计算设备的分辨率,以及计算如何使用背景图片填充不同的设备分辨率。

接下来创建一个循环背景来进一步了解它的原理。

步骤1: Project 面板中,打开 Assets→ textures 文件夹里的 floor texture 材质。选中此材质,然后在 Inspector 面板中进行如下修改:

• 将 Texture Type 设置为 Texture

• 将 Wrap Mode 设置为 Repeat

• 将 Filter Mode 设置为 Point

• 单击 Apply 按钮,提交修改后的参数设置。

步骤2: 在菜单栏中选择 Game Object→3D Object→Quad 命令,创建一个矩形3D对象。Quad对象可以很直观地被位移与形变,所有在项目中比较常用的Quad对象都可以作为游戏元素对象的载体。

步骤3: 双击 Hierarchy 面板上的 Quad 对象,Unity可以为用户自动缩放到最佳视角。

步骤4: Inspector 面板中修改 Quad 参数,使它可以在 X 轴上平铺到整个游戏界面。将 Position Y 设置为−3.5,将 Scale X 设置成15。

小知识:Quad对象与Plane对象的区别

Quad对象与Plane对象非常类似,但是Quad对象是由两个三角形组成的,而Plane则由一个面组成。我们在2D模式下看Quad对象像一个平面,但是在3D模式下它就是一个立方体。所以不需要关心Quad的 Z 轴,但需要关心Quad的Position Z 的位置,如果把这个参数设置得太大,就会被其他对象遮挡,毕竟Quad是用来创建一个背景地面的。我们可以把Quad的面无限缩放来适应2D游戏中的所有平面美术资源。

步骤5: Assets 文件夹中创建一个新的文件夹用来存放Quad需要的材质。单击鼠标右键,选择 Assets→Create→Folder 命令,将这个文件夹命名为 Materials

步骤6: Materials 文件夹中创建一个新材质 (选择 Assets Create Material 命令),将其命名为 floor_materails

步骤7: floor_materials 的着色器下拉列表中选择不透明度混合模式,即选择 Shader Mobile Particles Alpha Blended 选项。

小技巧: Particles的着色器介绍

下面针对 Mobile Particles 的着色器混合模式做一下简要介绍。

• Alpha Blended:主要用于实现半透明效果,类似于玻璃。

• Additive:相加混合模式。

• Multiply:相乘混合模式。

• Vertexlit blended:渲染路径模式。

步骤8: 在选择材质时,我们选择刚刚编辑好的 floor-texture。

步骤9: 把刚刚创建好的 floor-materials 材质拖到Quad对象上,会发现此时这个Quad地面背景是被拉伸变形的,下面就来马上修复这个问题。

小技巧: 贴图、纹理、材质的区别

纹理 是最基本的数据输入单位,游戏领域基本上使用的都是位图。

贴图(Map) 包含另一层含义,就是“映射”。其功能就是把纹理通过 UV 坐标映射到3D物体表面。贴图包含除纹理以外的其他很多信息。

材质 是一个数据集,主要功能就是给渲染器提供数据和光照算法。贴图就是其中数据的一部分,根据用途不同,贴图也会被分成不同的类型。

步骤10: 选中 floor_materials 材质后,在 Inspector 面板中设置 Tiling X 属性为15(即需要15块材质来填充)。这样就可以解决图像拉伸变形的问题了。当然也可以通过修改 Y 值实现一些大型背景(比如,砖墙、铁块墙等),我们可以修改 Offset 值来修改 X Y 坐标的间隙值。这里创建的是地面背景,所有只需要设置 Tiling X 坐标就可以了。

小结: 我们可以通过手动修改材质的 Tiling 属性来解决材质拉伸变形的问题,但是我们不可能在每种不同的屏幕分辨率下都手动设置这个值,所以可以通过创建脚本来自动计算出当前设备的分辨率,并且自动放缩Quad对象材质的尺寸。我们将在下一节介绍如何使用脚本代码来实现自动适应的循环背景。 oHWL61DOBSVSky0tiXcI7acas5rqkbuRmNLWAlLRgDWiRy7x5IRmXjOBKx1srUIo

点击中间区域
呼出菜单
上一章
目录
下一章
×