[Unity] Canvas

每个UI元素都必须处于一个Canvas的子级中;

一个场景中可以存在多个Canvas;

render mode 渲染模式

Render Mode-Screen Overlay

画布总会铺满整个屏幕,总是渲染在所有元素的最上层


,画布的RectTransform的大小有屏幕决定;

Pixel Perfect选项会让UI边缘锐利;

Render Mode-Camera

在没有指定摄像机的时候,和Sreen Overlay效果完全一样。指定了摄像机以后,画布会自动调整到相机可视范围内,比Canvas更靠近相机的3Dobject会被渲染在前面,比Canvas远离相机的3dObject会被遮挡





画布全权交由这个摄像机来渲染,多个相机的渲染次序,相机类型等都会对该画布的元素有影响。此模式下画布的RectTransform完全受到相机的ViewPort Rect影响;

Pixel Perfect和Screen Overlay模式下的作用一样;

Plane Distance 决定Canvas与渲染相机的距离;

该模式可能有如下场景应用:

1.如果渲染Canvas的相机是透视的,可以调整Canvas内某些元素的旋转角度,产生透视和深度效果;


2.可以通过不同相机的sorting layer和渲染的图层来实线UI上方的粒子特效等。

Render Mode-World Space

画布的Rect Transform完全自由,不受任何约束,可以自行设置大小、位置;

可以放置于物体的子级,常用作气泡、对话框等;

EventCamera 该选项决定该UI接受哪个相机的事件,如果该项为None,则默认接受主相机的事件。如果指定某个相机,则只接受该相机的事件。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 话说坑在何方?想当年年少轻狂时,层做了个类似下图的玩意: 勃主大笑三声,把screen的大小拖动了一下,然后它...
    hcq666阅读 7,079评论 0 51
  • canvas 自适应 需要设置配置 上图中需要将canvas的渲染模式为screen space 必须指定came...
    Zszen阅读 13,569评论 0 51
  • 已经很久没有上简书写过东西啦。说的学习之后一定要有产出,这大概就是我们写实验报告的意义吧~但是一旦投入进去就很难再...
    TW_徐娆阅读 8,183评论 0 0
  • 本文转自Unity Connect博主尹煜 画布 (Canvas) 是应该容纳所有 UI 元素的区域。画布是一种带...
    Uonfan阅读 3,411评论 0 0
  • 当新建了多个Canvas层之后,会发现叠加后的层会出现穿透点击问题 这里需要改两个地方1.每个canvas属性中的...
    Zszen阅读 9,606评论 0 49