Unity3D-关于项⽬的屏幕适配(看我就够了)
1、游戏屏幕适配
屏幕适配是为了让我们的项⽬能够跑在各种电⼦设备上(⼿机,平板,电脑)
那么了解是适配之前⾸先要了解两个知识点:
1-1、什么是像素?
单位⾯积中构成图像的点的个数。
特点:单位⾯积内的像素越多,分辨率越⾼,图像的效果就越好。
1-2、什么是分辨率?
分辨率可以从显⽰分辨率与图像分辨率两个⽅向来分类。
⽰分辨率(屏幕分辨率)是屏幕图像的精密度,是指显⽰器所能显⽰的像素有多少.分辨率的单位有:(dpi点每英⼨)、lpi(线每英⼨)和ppi(像素每英⼨)。
特点:
图像的分辨率越⾼,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。
同时,它也会增加⽂件占⽤的存储空间。
1-3、移动设备分辨率 –以iphone 为例
Paste_Image.png
2、什么是适配?
什么是适配?
适应、兼容各种不同的情况
游戏开发中,适配的常见种类
¤系统适配
针对不同版本的操作系统进⾏适配,例如Unity3D 5.4系统
¤屏幕适配
针对不同⼤⼩的屏幕尺⼨进⾏适配,例如Iphone5s,iphone7
iPhone的尺⼨
3.5inch、
4.0inch、4.7inch、
5.5inch
iPad的尺⼨
7.9inch、9.7inch
屏幕⽅向
竖屏
横屏
3、Unity3D 中的屏幕分辨
3-1.
屏幕的宽⾼⽐(Aspect Ratio) = 屏幕宽度/屏幕⾼度
3-2.
一般使用的分辨率的显示密度是多少dpi
Unity2D中摄像机镜头的尺⼨决定了我们实际看到游戏内容的多少,在编辑器中我们可以通过调整摄像机Camera的orthographicSize属性值来调整摄像机的⼤⼩
Paste_Image.png
注:Unity3D中这个⽐例的默认值是100,即100像素等于1单位。
如果我们的游戏屏幕有640像素⾼,那么实际换算成单位⾼度则是6.4个单位,
当我们摄像机的orthographicSize值是3.2时,摄像机⼤⼩刚好与屏幕⼤⼩相等
4、Unity3D中的屏幕适配设置
4-1:像素适配设置(固定分辨率)
Paste_Image.png
2、屏幕宽⾼⽐
屏幕的宽⾼⽐Aspect Ratio = 屏幕宽度/屏幕⾼度
Paste_Image.png
5、Unity3D中的摄像机设置
Unity编辑器中只能直接调整摄像机的⾼度,那摄像机的宽度是如何确定的呢?
答案就是我们最前⾯提到的屏幕宽⾼⽐。Unity会根据当前屏幕实际的宽⾼⽐和摄像机的orthographicSize值来计算出摄像机的宽度值,即:摄像机实际宽度 = 摄像机orthographicSize * 2 * 屏幕宽⾼⽐
即是
摄像机实际宽度 = 摄像机⾼度 * 屏幕宽⾼⽐
我举个例⼦说明⼀下,iPhone4的屏幕像素为640*960,宽⾼⽐为2:3,假设Pixels To Units值为100,那么如果设摄像机⾼度size值为4.8,那么摄像机实际宽度按照公式算出6.4,刚好就是屏幕的单位宽度。
6、Unity3D中的图⽚像素⽐设置
Paste_Image.png
6、Unity3D:关于适配的⼀些UI问题解决
这⾥就是重中之重,也是坑点较多的地⽅
调整相机为设计尺⼨,添加Canvas到场景中进⾏UI设计,但是Canvas默认⼤⼩和相机并不重合。
怎么办?
6-1:办法1:
调整Canvas的Render Mode属性为Screen Space - Camera:
将映射游戏内容的Camera拖⼊Render Camera中,下⼀个属性Plane Distance表⽰UI
与Camera的在Z轴距离(其实就是变相反映了UI的Z轴位置)。
接着在Canvas Scaler属性⾥将Ui Scale Mode属性设置为Scale With Screen Size,
表⽰Canvas会根据屏幕⽐例缩放。
下⾯的Reference Resolution,表⽰UI宽和⾼⼀半的⼤⼩。例如设计尺⼨为640x960,
则x应为640 / 2 = 320,宽应为960 / 2 = 480。
下⾯的Screen Match Mode属性选中Match Width Or Height,表⽰采⽤宽度(上⽂有提到过)
或⾼度(Unity⾃带适配⽅式)适配。然后Match调整为0或1,0表⽰完全宽度适配,
1表⽰完全⾼度适配,其他值表⽰介于两者之间采⽤⽐例适配
Paste_Image.png
6-2:办法2:
调整Canvas的Render Mode属性为World Space
1、将Event Camera设置为映射游戏内容的Camera。
2、然后调整Rect Transform组件中的Width和Height为设计尺⼨的宽和⾼,同时将Scale属性的X和Y都调整为0.01(对应unity2d默认情况下像素Pixels与引擎单位Unit对应⽐例100)。这时,Canvas的宽⾼正好与摄像机相同。
这两种⽅法都可以将UI调整为与设计尺⼨⼀致,并且在编辑器中运⾏与真机中运⾏效果保持⼀致。