声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。
Canvas作用及常见设置
文章目录
一.开发环境
unity无限制
VS无限制
二.问题描述
Canvas的作用及常见设置.
三.详情
1. canvas下的三种渲染模式
1.1 Screen Space-Overlay 覆盖模式
画布会填满整个屏幕空间,并将画布下面的所有的UI元素置于屏幕的最上层,或者说画布的画面永远“覆盖”其他普通的3D画面,如果屏幕尺寸被改变,画布将自动改变尺寸来匹配屏幕
1.2 Screen Space-Camera 摄影机模式
布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来 绘制在一个与摄影机固定距离的平面上。
1.3 World Space 世界控件模式
在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。画布的尺寸可以通过RectTransform设置,所有的UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时, 可以使用这个模式。
2. 常见问题
2.1 什么是屏幕自适应
- 随着分辨率的调节,画布的宽度和高度也被自动地调节了
- 保持相对位置不变。
- 保持宽高比例不变。
- 通过设置UI的描点来设置UI的相对位置
2. 2 Canvas Scaler组件:
- 以通过设置Canvas下的Canvas Scaler来设置UI的缩放比例(Canvas下的Canvas是用来处理UI遮挡关系的)
- 当UIScaleMode为Constant Pixel Size时,UI在任何分辨率下都不会进行缩放拉伸,只有通过改变Scale Factor才会进行缩拉,因此不推荐使用该模式(而这种模式的优点就是你可以通过写自适应算法来改变Scale Factor的值,代替unity的自适应算法)
- 当UIScaleMode为Scale With Screen Size时,相当于使用unity的自适应算法,此时unity会根据屏幕分辨率自动调节Scale Factor的值。在做自适应时,一般要先选择一种比较主流的分辨率(即比较多的机型都采用这种分辨率)进行UI的设计,例如采用1920*1080,在这里就是设置Reference Resolution的值了。
2.3 一般来说,比较不错的设置就是:
- Canvas Scaler 选择 Scale With Screen Size
- Screen Match Mode 选择 Match Width Or Height,比例设为1,即只和高度进行适配
四.总结
保持饥饿,保持愚蠢.
这世界唯一能够相信的就是你付出的努力和你走过的路.
版权归原作者 ۓ明哲ڪ 所有, 如有侵权,请联系我们删除。