Unity UGUI Canvas简谈
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity UGUI Canvas简谈相关的知识,希望对你有一定的参考价值。
参考技术A 自学备用,如有问题欢迎及时指正,我会尽快改正。(版本unity 2018.2.9f1)
本篇记录 Unity UGUI canvas 中的各项参数设置和效果,还是那句话自学备用,如有问题欢迎指正,我会尽快改正。
新建的Canvas拥有Rect Transform,Canvas,Canvas Scaler 以及 Graphic Raycaster 这几个组件。Rect Transform此时为灰色,在Scene视图中不能对Canvas进行操作。Rect Transform 下一行英文“Some values driven by Canvas” ——Canvas驱动一些值。
此设置时,Canvas会填满整个屏幕,并将Canvas下面所有的UI元素置于屏幕的最上层,Canvas将一直覆盖场景中普通的3D GameObject。
启用pixelPerfect可以使元素看起来更清晰并防止模糊。勾选不启用抗锯齿(还在实验中,暂无截图)。
Canvas深度,数值越大,显示的优先级就越高,也就是数值大的Canvas会遮挡住数值小的Canvas。
此设置使Canvas渲染到指定的显示中。支持的辅助显示器(例如监视器)的最大数量为8.。
最新几个版本中拥有的特性,提供给Shader使用的参数。此处不太了解。
启用pixelPerfect可以使元素看起来更清晰并防止模糊。勾选不启用抗锯齿(还在实验中,暂无截图)。
指定Canvas渲染在哪一个摄像机上
当Camera的Projection为Orthograhic时,此值得改变仅仅会改变Canvas的Pos Z;
当Camera的Projection为Perspective时,此值得不仅会改变Canvas的Pos Z,还会影响Scale。
当Plane Distance等于Camera的Clipping Planes的Near时 ,相当于Render Mode 是 Screen Space-Overlay 的效果,当Plane Distance等于Camera的Clipping Planes的Far时,Canvas在所有物体的后面。
Sorting Layer,可为UGUI设置画布深度,在下拉菜单中点击“Add Sorting Layer”按钮进入标签和层的设置界面,或者点击导航菜单->edit->Project Settings->Tags and Layers进入该页面。可以点击“+”添加Layer,或者点击“-”删除Layer。画布所使用的Sorting Layer越排在下面,显示的优先级也就越高。
在相同的Layer中区别显示层级关系的设定,相同的Layer中Order in Layer 越高,显示的优先级也就越高。
World Space即世界控件模式。在此模式下,Canvas被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。在此模式下我们可以手动设置RectTransform数值,来改变Canvas在世界中的位置选择大小等。当所用UI为场景中的一部分时,我们可以使用这种模式。
此处在我使用时World Space模式下,Event Camera为空也可以执行按钮点击事件,摸索中~~~~~
不断学习中。整理出来忘记时看看,有错误的地方感谢指出。
Unity笔记关于UGUI的根节点Canvas
创建UGUI物体时,会自动创建Canvas物体作为所有UGUI的根节点。该物体身上有个Canvas脚本,Render Mode渲染模式选项:
- Screen Space - Overlay:即使场景中没有任一可用Camera,所有UI依然能正常运行、显示。而且任何非UI元素的游戏物体都不能遮挡在UI元素之上(无论非UI物体怎么调位置)。
- Screen Space - Camera:可传入某个Camera,指定该Canvas物体下的所有UI元素由哪个Camera来渲染。可指定UI到Camera的距离,调整该距离,其他非UI元素可以在UI元素的前面或后面。
- World Space:该Canvas物体作为场景中的一个平面画布,可任意调整位置、旋转等。
Canvas物体身上的Canvas Scaler脚本:
- UI Scale Mode
- Constant Pixel Size:按像素固定。不论屏幕大小如何变化,UI元素大小不变。
- Scale With Screen Size:常用,按屏幕大小自动缩放,需要填写UI是在哪个分辨率下设计的。
- Scale Factor:该Canvas物体下所有UI元素的缩放倍数。显示尺寸 = 监视面板尺寸 * 倍数。
- Reference Pixels Per Unit:1米有多少个像素,默认100个。
以上是关于Unity UGUI Canvas简谈的主要内容,如果未能解决你的问题,请参考以下文章
Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件