赞
踩
画布,是所有UI元素的载体,有三种渲染模式(Render Mode)。
- Overlay
这种渲染模式会将所有UI元素渲染在整个场景的上方,并且自动适应窗口变化。
- Pixel Perfect 抗锯齿效果,enmmm,使渲染效果更加顺滑 ↖(^ω^)↗
- Sort Order 如果有多个Overlay的canvas的话,数值越大,越后渲染(也就是覆盖掉前面渲染过的像素点)
- Target Display 这个的话,我想是为了方便调试UI界面
- Additional shader Channels (//▽//)这个没用过,不过有一篇大佬博客 请步行!===》
这种渲染模式会要求指定一个渲染摄像机,如果指定的话,在scene视图里,就会发现该canvas会移动到渲染摄像机的可视范围内,并且跟随摄像机t的变化而变化,比如旋转呀什么的,但是如果没有添加Camera,就会默认为Overlay渲染模式。
1. Plane Distance 距离所属渲染摄像机的远近,可以用来,enmmm,用来进行调整整个canvas上的元素的大小。。。
2. Sorting Layer 指这个画布所在的排序图层,先对图层进行排序,然后对每个图层的某个元素进行Order in Layer的排序。
- Camera
- world
这种渲染模式就是纯粹的将一个画布放置在3D世界里,可以做一些比如广告牌,额,对话,血量啥的,嗯,强行解释最为 致命,(*´Д`*),会要求一个事件摄像机,做一些交互,不指定也没关系,顶多交互不了呗。这个时候Canvas的RectTransform是可编辑的。
以上就是“笨”人对Canvas的(wu)记(nao)录(ji)。 完结撒花(Θ∀Θ#)
不对!我还要记录一些canvas组件,再去买些花,一会再撒一次。。
Canvas Scaler
Canvas Scaler组件,缩放组件,它是对整个画布进行影响的,比如受到影响的有字体和边框(假装我的水平可以翻译文档( ̄▽ ̄")),这个组件包括三种模式,下面针对不同模式进行测试,记录(测试,如果测试成功的话,就截图哈哈
- Constant Pixer Size
这个模式呀,比如打包android的时候,会发现咦我的UI元素变小了,额,其实不是变小了,而是你的手机屏幕分辨率太高了。
名词解析:
- Scale Factor
缩放因子,给出一个等式:Screen Size==Canvas Size*Scale Factor,所以说,假如,我将其从1变成了2,假如,此时Screen Size为1920*1080,那么此时的Canvas Size为960*540,不止这个产生变化,canvas下所有的元素的scale都会乘以这个Scale Factor,在上述情况下,会变成之前的两倍。
2. Reference Pixels Per Unit
每个sprite设置中,都有一个设置是单位转换的,sprite的像素表现到unity编辑器中,一般默认是100:1,也就是100像素等于1 unit,所以如果直接在sprite中调节100变到10,你会发现,呀,图片变大了十倍!(真是个小机灵鬼(*≧m≦*)),上面那个是sprite设置上的,那这里的又表示啥呢?咳咳,来来来,拿出珍藏的公式:UI大小(pixel)=原图大小/(Pixels Per Unit/Reference Pixels Per Unit),enmmm,是不是很晕,晕就对了,学习哪有不晕的,拿出珍藏的大佬博客链接,去吧===》
- Scale With Screen Size
此时UI元素的位置与大小按屏幕分辨率参照值来取相对值。若当前屏幕分辨率大于参照屏幕分辨率,则Canvas依然是按参照屏幕分辨率布局,然后放大来适应屏幕。同样的,若当前屏幕分辨率小于参照屏幕分辨率,Canvas会缩小来适应。若当前屏幕分辨率的宽高比跟参照分辨率不一样,垂直跟水平两个方向同时适应屏幕会发生不均匀拉伸,而这通常不是我们想要的。取而代之的是,Reference Resolution组件会使Canvas分辨率偏离参照分辨率,以此保持宽高比不变。通过设置Screen Match Mode可达到此目的。(这段话摘抄自 ===》)
Screen Match Mode:
1.Scale with screen size
当处于最左边时即比例为0时,屏幕高度对于UI大小完全没有任何影响,只有宽度会对UI大小产生影响。假设宽度为Reference Resolution宽度的x倍,则UI整体缩放为Reference Resolution状态下的x倍。也就是说只有宽度等于Reference Resolution宽度时,才能做到pixel perfect,否则像素就会有拉伸当处于最右边时,与上述情况正好相反,决定整体缩放值的是高度,而宽度则没有任何影响,所以,你只要记住横版游戏以高度缩放,竖版游戏按宽度缩放。(摘抄自===》)
2. Expand
当屏幕分辨率大于参考分辨率时,选择变化较小的一个方向(横向还是纵向),作为放大Canvas Scale的标准,另一方向上的变化则是在整体缩放以后再进行补偿性的变化。此举旨在减少扩大分辨率时由于非等比扩大而对UI整体布局造成影响。适合制作较小标准尺寸,扩充到较大屏幕。(摘抄自===》)
3.Shrink
和Expand类似,但是更适合于缩小的情形。它会在屏幕尺寸缩小时,通过缩小CanvasScale尽量减少由于非等比缩小对布局产生的影响。按照影响较小的一个方向缩小的比例去缩小CanvasScale,然后再通过变形调整另外一个方向。(摘抄自===》)
Graphic Raycaster
主要用于UI上的射线检测。
1.Ignore Reversed Graphics
是否忽略反方向的UI图形,比如当一张图片反转到180+度后,它还需不需要进行射线检测。
2.Blocking Objects 以及 Blocking Mask
这个射线呀,是可以被2D或者3D对象进行阻挡的(前提render mode 不是overlay哦),这个时候,可以自行选择。
好的,拿出刚才买的花,完结撒花!o(*▽///ω\*)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。