Unity3D 游戏画面像素与单位关系,简介。

1.游戏画面像素-》Unity3D单位(Unit)



可以看到屏幕中,正交相机的视口高度,刚好可以填满一个单位的cube,注意2点
1.图中cube 的缩放xyz设置的都是1,这样cube 就是默认的一个Unity3D单位的长宽高
2.正交相机的视口大小Size 设置的是0.5而不是 1
也就是说正交相机的视口大小Size 的意义是: 本正交相机输出的游戏画面的高度的一半对应到是多少个Unity3D 单位

再看看Game View的效果




可见,我们不论怎么修改 Game View 分辨率,场景中,那个一个Unity3D单位长宽高的cube 始终是填满画面的高度,但是我们看看cube 两边的天空盒占用的范围发生了改变,可见对于一个正交相机输出的游戏画面来说,视口高度可见的Unity3D单位数量是不变的,也就是我们设置的Size*2,视口宽度可见的Unity3D单位数量,是根据输出画面的高度分辨率和宽度分辨率的比例,乘上当前设置的Size 得到的。所以我们一定要分清这几组设置之间的映射关系
Unity3d 单位=====》Size 视口大小(决定相机视口高度可以看见多少个Unity3D单位(需乘2))===》Game View 画面高度分辨率(决定相机视口高度可以看见的Unity3D单位数量, 总共对应到多少个屏幕像素)

明白上面的对应关系,在画面的排版上就游刃有余了



有小白可能会问 Game View 中的 Scale 的设置为什么不是1,这个设置会否影响设置之间的映射关系 ,其实这个是因为我的屏幕太小,GameView 无法显示全我设置的分辨率画面,所以对相机的输出画面做了等比例缩放而已,并不影响上面设置之间的映射关系。

还有的人可能会问,如果是移动开发,不同的手机屏幕分辨率不同,会有影响到设置之间的映射关系吗?其实不同的手机屏幕,只是分辨率不同而已,就相当于我们的 GameView 设置不同的分辨率,所以也不会影响到我们上面列出的映射关系

2.游戏画面像素-》Unity3D单位--》精灵

有人会问不同的手机分辨率下,使用的精灵是如何显示的呢?屏幕分辨率与精灵图片像素之间的映射关系如何?

其实他们之间的映射,只不过是我们上面已经讲解的,游戏画面像素-》Unity3D单位 映射关系的继续推导,我们上面已知道了根据游戏画面像素如何推导出Unity3d单位所对应的像素,但与精灵图片的像素大小的映射之间, 他们并不是一一对应的!!



影响这个对应关系的地方,就是图片设置面板中的 Pixels Per Unit 项,其意义是: 本图片的像素与Unity3D 单位之间的映射比例, 一个Unity3D单位对应多少个图片像素,(注意:之前我们第一节讲的是多少个屏幕像素对应到一个Unity3D单位,千万别搞混了)



大家可以看到,图中精灵的高度刚好填满,正交相机输出的画面高度,这是应为, 精灵图片的Pixels Per Unit 设置的是320,也就是图片的320个像素对应到一个Unity3D单位,而我的图片正好就是320像素的高度,而我之前设置的正交相机的Size 是0.5 ,也就是相机视口高度对应到一个Unity3D单位,所以就正好可以显示整张图片的高度了。

但是大家看,图中我的GameView 视图中的分辨率是1920*1080,我的精灵在相机输出画面显示的高度实际为1080,这又是为什么呢?

我想,如果你是认真的看完了上面的内容,这里自己已经知道为什么了,因为我们的正交摄像机的视口高度是1个Unity3D单位,所以输出的画面高度就对应到1个Unity3D单位,而我们的精灵高度也正好是1个Unity3d单位,高度正好站满整个输出画面的高度,所以才会显示为输出画面高度的像素大小1080,可能很绕,我们还是捋一下映射关系吧。

(精灵图片像素) ==》( Pixels Per Unit 决定精灵图片像素和Unity3D单位的对应关系) ==》Unity3d单位 ==》Size 视口大小(决定相机视口高度可以看见多少个Unity3d单位(需乘2)) ==》摄像机输出画面高度分辨率(决定相机视口高度可以看见的Unity3d单位数量, 总共对应到多少个屏幕像素)

有了上面的映射关系流程,你应该明白为什么我320个像素高度的精灵图片,显示在屏幕上市1080个像素的高度了吧。其实透视相机和正交相机的像素映射关系是一样的,只不过正交相机容易看清楚,所以这里就用的正交相机,其实你明白了正交相机的映射原理,透视相机也应该明白差不多了。自己平时多使用几次也就明白了。

在下年龄有些大了,可能讲的不够清晰,这篇文章能让一些小白少走点弯路,也算是功德无量了,讲的不好还请海涵。

--小钱 20170801


猜你喜欢

转载自blog.csdn.net/u012149999/article/details/76513014