至前我参与的小游戏开发的过程中,在适配不同分辨率比例的手机上UI遇到了一些问题.下面对解决这些问题的方法进行记录(适配不同分辨率的方法主要在第""和""中).

一.Sprite(2D and UI)类型Texture图片设置

该设置只限于Texture Type 类型为"Sprite (2D and UI)"的图片.(在Project栏里选中Texture图片,然后在Inspector窗口会显示它的设置)点击Sprite Editor,可以设置锚点和裁切图片等等.(锚点对于图片的显示还是挺重要的)

附加:这里的"Pixels Per Unit"大小.与下面Canvas-Canvas Scale组件中"Reference Pixels Per Unit"大小相对应.

二.Canvas设置(UI的画布)

(选中场景中的Canvas,然后在Inspector窗口中设置)

1.Canvas组件:

Render Mode:设置UI与3D场景中的物体的渲染关系.

1)ScreenSpace-Camera模式,可以在下面RenderCamera赋值的摄像机中的3D物体 粒子特效等渲染到UI中,并且能设置层级.

2)ScreenSpace-OverLay模式,比较适合纯UI,UI显示在所有3D物体前面.

3)WorldSpace模式,则是把UI放到3D场景中渲染.

2.Canvas Scale组件:

设置UI的适应缩放.

   1) UI Scale Mode:

模式1.Scale With Screen Size:根据原屏幕大小进行变化比较小的缩放.(该模式下,能够较好地适应不同分辨率和大小的屏幕)

衍生选项-  Renference Resolution:设置开发时屏幕分辨率,做为参考分辨率.

Screen Match Mode:不同像素比的场景显示UI的模式

1 Expand:扩展拉伸.(拉伸后分辨率>=Renference Resolution的参考分辨率)

2 Match Width or Height:按原始比例匹配宽度或者高度.(屏幕比例不同会有黑边)

3 Shrink:收缩.(收缩后分辨率<=Renference Resolution的参考分辨率)

 模式2.Constant Pixel Size:根据原像素大小进行显示.(该模式下,屏幕的分辨率会影响UI的大小)

衍生选项-   Scale Factor:像素倍数,即放大的倍数.(听说用该方法放大后不会失真)

模式3.Constant Physical Size:根据固定的物理大小显示.(该模式下,屏幕的大小和分辨率不会影响到UI显示的大小)

  2)Reference Pixels Per Unit:每单位参考像素数.(与上面图片设置中的"Pixels Per Unit"大小相对应)

假如想让UI可以自适应各种分辨率比例的手机屏幕的话,可以参考上图的设置,Reference Resolution根据你的开发的分辨率比例设置.

三.UI元素组件:

(上面二讲的是整体UI画布的设置,这里讲每个UI元素配合缩放的设置,UI元素的像素和画布像素是不一样的,都需要进行设置.)

Canvas内的UI元素,都有Rect Transform-Anchor组件,若想要适配不同分辨率比例的屏幕,需要对UI元素进行锚点设置.

1.不需要拉伸的UI就在下面这9个锚点预设中选择.(比如中间/边上/角上的按钮等)

Anchor Presets Left Center Right Stretch横向拉伸
top  
middle  
buttom  
stretch竖向拉伸        

例如,分辨率比例改变后,要保持该按钮在左上角,就选择topLeft锚点位置.

2.需要拉伸的UI就在下面这7个锚点预设中选择.(比如背景/横幅/竖幅等等)

Anchor Presets Left Center Right Stretch横向拉伸
top      
middle      
buttom      
stretch竖向拉伸

例如,中间横幅需要横向扩展到屏幕两边,就选择middleStretch横向拉伸.

四.其他

1.UI性能优化

1) UI类的物体基本上都会有Raycast Target这个选项.

我目前了解到的是,如果某些UI只是装饰,没有交互行为的话,就不要勾选Raycast Target 选项,因为Raycast Target是射线检测UI的交互的,只要勾选了就会进行检测,所以会浪费性能.

2.按钮

现在UGUI在按钮功能上方便用许多,可以直接设置原图片 和 按下后需要替换的图片,之前我们同伴还自己写了个按下然后替换图片的脚本,现在UGUI都包含了这些功能而且功能很强大.

Target Graphic:原始按钮图片.

Pressed Sprite:按下后的按钮图片.

3.Sprite层级

我个人对Sprite的理解是3D场景中的片.但是它显示得层级跟 其锚点与摄像机的远近 有关,所以会导致它显示的前后不正确的问题,所以可以调整它得渲染层级:

Sprite Renderer - Order in Layer: 显示层级,即渲染层级.层数越高离摄像机越近,近的层级会挡住远的层级,就不会出现摄像机移动导致Sprite渲染层级发生变化的问题.

Unity UI适配不同比例分辨率的设置相关推荐

  1. Unity UI和场景适配

    1.ui适配 初始情况: 1.为什么要适配? 因为通常我们做ui的时候,会使用一个标准分辨率作为参考,然后所有ui在这个分辨率下都能正确显示,我们游戏使用的是1136x640这个分辨率.但是当我们在面 ...

  2. iPhone 6屏幕:4.7英寸1334*750分辨率,5.5英寸1920*1080,UI适配不困难

    苹果iPhone 6应该会配置4.7英寸屏幕,显示分辨率为1334*750.换句话说,尽管iPhone 6的屏幕像素密度与iPhone 5S相同为326ppi,不过因为分辨率的高宽都发生了变化,手机应 ...

  3. Unity之手机键盘自定义输入栏位置适配不同手机分辨率适配

    Unity之手机键盘自定义输入栏位置适配&不同手机分辨率适配 效果图 PC端展示 手机端展示(手机是顶部带摄像头的IQOO Neo 5 ) 设计思路 也没啥思路不思路的,就是获取键盘高度,在安 ...

  4. Unity UI 父对象根据子对象进行适配

    Unity UI 父对象根据子对象进行适配 引入 大家都知道我们用到Unity制作项目的时候会经常让UI子对象根据父对象适配,那么如果我们需要让父对象根据子对象适配该怎么做呢 Content Size ...

  5. Unity基础笔记(3)—— Unity UI系统

    Unity UI系统 一.UI系统介绍 1. Unity2D 和 UI的区别 Unity2D:主要基于 SpriteRenderer 和 2D物理系统等组成. UI:由 Canvas 以及 各种 UI ...

  6. Unity多分辨率适配

    UGUI: 原文链接:http://blog.csdn.net/dingkun520wy/article/details/49471789 1.Canvas的属性配置 2.Canvas Scaler的 ...

  7. Unity iPhoneX适配方案

    baidu      UNITY_IPHONE Unity iPhoneX适配方案[NGUI&UGUI] https://blog.csdn.net/qq_35936174/article/d ...

  8. Unity屏幕适配解决方案

    文章目录 UI尺寸选择 市面设备比例 内存占用 分辨率适配 高分辨率 分屏模式 宽高比适配 常规尺寸适配 刘海屏适配 全面屏适配 UI尺寸选择 市面设备比例 截至2017年9月,iOS与Android ...

  9. android 布局可大可小,UI设计教程之:ios与android ui适配(将IOS UI转换成Android经验畅谈)...

    内容提要:这是UI设计系列教程之ios与android ui适配经验畅谈.文章作者介绍了自己将IOS UI转换成Android经验,包括:不要直接转换.了解单位和组件缩放格式.屏幕尺寸DP和像素的换算 ...

最新文章

  1. 2009-徘徊-开场白
  2. 关于ajax跨域请求(cross Domain)
  3. 139.00.005 Git学习-分支管理
  4. C#编程语言之MD5加密的两种方式
  5. 洛谷2766:[网络流24题]最长不下降子序列问题——题解
  6. 连接fiddler后手机无法显示无网络
  7. JAVA实现在线聊天室(层层递进)
  8. 计算机f8键的功能,详解:XP系统修改启动时F8键有哪些功能?
  9. python语言三大基本控制结构_Python基础知识之4——三大控制结构
  10. FILEUTILS 介绍
  11. Struts 2.2.3 DOS漏洞
  12. 世界500强面试题 - 头脑
  13. XP下grub4dos硬盘安装和启动FreeBSD-8.0-i386+GNOME桌面
  14. 巴别鸟10个使用小技巧,提高你的工作效率
  15. 路由器上DNS的设置
  16. 小猿圈Java学习分享2019Java面试题
  17. jks与pkcs12格式的keystore互转
  18. spoolsv解决方法
  19. 3.模板模式_1:什么是模板模式???什么情况适合用模板模式???模板模式如何实现???
  20. 嘉立创电路板制作过程全流程详解(五):测试、锣边、V-CUT、QC、发货

热门文章

  1. 【阅读笔记】自卑与超越
  2. 《自卑与超越》阅读总结
  3. 录屏剪辑软件哪个好 录屏后怎么剪辑视频
  4. bootstrap中文字居左和居右
  5. 用python爬取图片的一点小结
  6. solidworks2018已停止工作_昨天开始使用lr controller 已停止工作问题
  7. 波动方程有限差分法c语言,二维波动方程的有限差分法.pdf
  8. php不做手术会怎么样,PHPV_如果不能手术会怎么样_怎么样才能挂上你的号 手术后可以视力恢复吗 - 好大夫在线图文问诊...
  9. 从前慢-BIO、NIO、AIO
  10. java从map取值_java的map取值