Unity2D.3系列教程:探索Unity2D原生2D工具的使用

Unity2D.3系列教程:探索Unity2D原生2D工具的使用

这将是一个系列教程,将探索Unity2D原生2D工具的使用。

相关链接:

Unity4.3 2D教程:入门实战(一)

Unity4.3 2D教程:入门实战(二)

Unity4.3 2D教程:入门实战(三)

Zombie Conga这个游戏是为iPhone创建的,所以我们要将游戏视图尺寸设定为1136 x 640大小.

用Game视图左上角的下拉菜单来改变纵横比或固定分辨率,如下图:

游戏场景现在看起来是这样的:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

注:你的视图可能和截图不太一样,因为Unity会根据屏幕空间来依照所选纵横比来调整游戏视图的大小.不管它多大的窗口,你都应该在视图里看到和截图一样的场景图像.

显然,现在这个样子是错误的,现在这里有三个不同的问题,我们需要依次纠正它们:

场景视图的Camera设置不正确,背景不能完全填充到视图中.

场景中游戏对象的渲染顺序不正确,所以cat和enemy都埋在了沙土里.

图像效果不太好,这个基于现在的相机设置你有可能还看不出来,但是相信我说的,质量不好就是不好,对不对? :)

首先我们来修正Camera.

修正相机Projection

在2D游戏中,通常希望相机使用正交视图而不是透视图.本教程的前面我们已经提到Unity默认是使用透视视图的相机.我们在Hierarchy视图中选择”Main Camera”,在相机组件中,将投影设置为正交投影.并调整调整它Transform组件里的Position为(0,0,-10).如下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

你的Game视图现在像下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

现在效果看上去与透视投影没什么区别,精灵不受距离相机的远近影响,那怎么放大背景使其充满屏幕呢?我们推荐改变Camera的Size属性.

Camera的Size定义了视图的尺寸.它的值是从视图中心到视图顶部的距离.换句话说这个值等于视图一半高度.视图的宽度基于视图的长宽比计算,如下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

在本例中,我们需要将背景图片从上到下完全占满整个屏幕,并允许其水平滚动.背景图像的高度是640px,我们取一半,即320px.不过这并不是完全正确的.

在Project视图里选择background的父级查看Import Settings.

在精灵渲染器(Sprite Renderer)的”像素到单位(Pixels to Units)”默认值是100,如下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

在Unity中,”单位(Units)”并不一定对应到屏幕上的像素.通常物体的大小都是相对于彼此的,可以假设单位为任何计量单位,如1 unit=1米.对于精灵,Unity以像素为单位来确定大小.

例如,准备将一个500px宽度的图像导成精灵.下表显示了将它用不同的”Pixels to Units”时所呈现出的精灵在X轴向上的差别.

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

不同”像素到单位(Pixels to Units)”的对比图.

background.png为640高,background精灵的”像素到单位(Pixels to Units)”比例为100,所以在Hierarchy视图中它将呈现为6.4个units高.正交相机的Size属性值是屏幕高度的一半,所以我们要设置相机尺寸(Size)为3.2个单位,如下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

现在背景已经正确的充满了Game视图中,如下图:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

正确的相机设置下的Game视图

现在背景图像显示正常了,你就可以看到图像质量的问题了.下面两张图片是图片对比:

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

当前设置的海滩

透视相机下载衣服相机_2d游戏背景透视关系_透视相机制作2d游戏

改变纹理设置后的海滩

上面这个问题是由于背景纹理在导入时压缩导致.我们可以通过改变导入设置修正它.

原文链接:

文章来源:http://www.360doc.cn/article/12282510_369251794.html