Unity3d ugui1——canvas
Canvas画布是承载所有UI元素的区域。所有的UI元素都必须是Canvas的子对象。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。
Rander Mode:
Screen Space-Overlay(屏幕控件-覆盖模式):使画布拉伸以适应全屏大小,并且使GUI控件在场景中渲染于其他物体的前方。如果调整屏幕大小或调整分辨率,画布将会自动改变大小以适应屏幕显示。
Screen Space-Camera(屏幕空间-摄影机模式):和Screen Space-Overlay模式类似,画布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来 绘制在一个与摄影机固定距离的平面上。所有的UI元素都由该摄影机渲染,因此摄影机的设置会影响到UI画面。在此模式下,UI元素是由perspective也就是视角设定的,视角广度由Filed of View设置。
(1)Render Camera:渲染摄像机
(2)Plane Distance:画布距离摄像机的距离
(3)Sorting Layer: Sorting Layer是UGUI专用的设置,用来指示画布的深度。
(4)Order in Layer:在相同的Sort Layer下的画布显示先后顺序。数字越高,显示的优先级也就越高。
World Space(世界控件模式):在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。画布的尺寸可以通过RectTransform设置,所有的UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时, 可以使用这个模式。它有一个单独的参数Event Camera,用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。这种模式可以用来实现跟随人物移动的血条或者名称。
| 渲染模式 | 画布对应屏幕 | 摄像机 | 像素对应 | 适合类型 |
| Screen Space-Overlay | 是 | 不需要 | 可选 | 2D UI |
| Screen Space-Camera | 是 | 需要 | 可选 | 2D UI |
| World Space | 否 | 需要 | 不可选 | 3D UI |
Canvas Group
使用Canvas Group组件可以对UI元素进行管理。
- Alpha:可调节元素的透明度。
- Interactable:是否接受输入控制。
- Block Raycasts:是否作为碰撞器的RayCasts。注意这里不适用于Physics.Raycast,当要处理Canvas上UI元素的RayCast时应调用绑定在Canvas上的Graphic Raycaster组件的RayCast方法。
- Ignore Parent Groups:是否忽略父对象上的Canvas Group设置。
Canvas Scaler
用于处理屏幕分辨率适配问题,UI Scale Mode有三种模式:
一、Constant Pixel Size:
像素大小始终不变,即一个100*100的图片在任何的分辨率下都占用100*100的像素。Scale Factor表示缩放倍数。二、Scale With Screen Size
1)、Reference Resolution是设计界面时的分辨率。以后缩放就参考它。2)、Screen Match Mode 又包含三种模式Match Width Or Height:下面包含一个Macht属性,当处于最左边时,屏幕高度对于UI大小完全没有任何影响,只有宽度会对UI大小产生影响。假设宽度为Reference Resolution宽度的x倍,则UI整体缩放为Reference Resolution状态下的x倍。也就是说只有宽度等于Reference Resolution宽度时,才能做到pixel perfect,否则像素就会有拉伸当处于最右边时,与上述情况正好相反,决定整体缩放值的是高度,而宽度则没有任何影响处于中间某处时,对上述两者的影响进行权重加成。Expand:缩放不剪切:当屏幕分辨率与设定不同时,选择变化较小的一个方向(横向还是纵向),进行缩放显示,它会保证设计时分辨率能显示出来的缩放后依然能显示出来。Shrink:缩放剪切:当屏幕分辨率与设定不同时,选择变化较大的一个方向(横向还是纵向)进行缩放显示,对于超出的部分剪切不显示。三、Constant Physical Size
保持物理上不变的方式,这个应用场景较少,具体是这样的,比如你电脑分辨率是 1000*2000而你的手机分辨率也是1000*2000。虽然电脑屏幕比手机屏幕大的多,但是他们最后显示出来图片的物理大小是一样的。

浙公网安备 33010602011771号