AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Unity3D

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

51自学网 2014-05-24 http://www.51zixue.net

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

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

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

game view with bad camera

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

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

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

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

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

首先我们来修正Camera.

修正相机Projection

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

camera settings in Inspector

你的Game视图现在像下图:

game view with incomplete orthographic settings

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

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

view size explained

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

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

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

http://cms.9tech.cn/uploads/allimg/140224/142J94056-4.png

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

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

size comparisons with varying scales and pixels to units

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

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

camera with correct size in Inspector

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

game view with correct camera settings

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

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

Overly compressed beach because of current settings.

当前设置的海滩

Beach with improved texture settings.

改变纹理设置后的海滩

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

原文链接:http://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started

本部分文字翻译来源:http://blog.1vr.cn/?p=1422


建议使用电驴(eMule)下载分享的资源。

说明
:本教程来源互联网或网友分享或出版商宣传分享,仅为学习研究或媒体推广,51zixue.net不保证资料的完整性。
 
上一篇:Unity4.3 2D教程:入门实战(五)  下一篇:unity4.3 2D教程:入门实战(三)