当前位置:   article > 正文

Unity Manual 【翻译】Unity Canvas详解_unity canvas pixel perfect

unity canvas pixel perfect

原文地址:Canvas | Unity UI | 1.0.0

本文翻译自Unity Manual 的 Canvas一节

概述:

画布,是所有UI的容器,即所有UI元素必须是是含有Canvas组件的GameObject的子节点。当你在菜单栏创建一个UI元素(GameObject>Create UI),会自动创建一个Canvas对象,如果场景之前没有的话。

 

属性:

Render Mode:UI 渲染在屏幕上的方式或者作为3D空间的一个对象

可选为:Screen Space-Overlay,ScreenSpace-Camera和World Space

Pixel Perfect(Screen Space模式下生效):

是否为了保证精度,关闭抗锯齿

Render Camera(只存在于Screen Space-Camera模式下):

设定UI渲染在那个摄像机上

Plane Distance(只存在于Screen Space-Camera 模式下):

UI 平面距离摄像机的距离

Event Camera(只存在于World Space模式下):

用来处理UI事件的摄像机

Receives Events:

是否处理UI事件

详解:

所有的UI元素放在一个Canvas上就足够了,不过场景中也可能存在多个Canvas.另外也可能使用嵌套Canvas(出于优化的目的,一个画布作为另一个画布的子节点)。一个嵌套的画布使用和父节点相同的渲染模式。

传统上来说,UI元素通常被作为简单的图像设计直接显示在屏幕上。也就是说,它们没有通过摄像机作为3维空间元素被渲染的概念。Unity支持这类屏幕空间的渲染,另外也支持UI元素作为场景中的物体被渲染,这取决于如何设置RenderMode的值。可选模式支持Screen Space-Overlay,Screen Space-Camera和World Space

Screen Space - Overlay

在这个模式下,画布会自动拉伸以填充屏幕,然后就可以直接渲染,无需依赖场景或者摄像机(即使场景中不存在摄像机也可以)。如果屏幕的尺寸或者风变绿发生改变,UI会自动重新缩放来适配屏幕。UI会被绘制在其他图像元素上层,例如摄像机画面

 注意:这个模式的画布需要摆在层级列表的最上层,否则UI可能会从视野消失。这是内置的限制。保持画布在最上层以获得期待的结果

Screen Space - Camera

在这个模式下,画布就像被渲染在距离指定摄像机一定距离的一个平面物体上,UI在屏幕上的大小不会随着距离发生改变,因为它总会重新缩放以填充到摄像机的视椎体内。如果屏幕大小或者分辨率或者摄像机的视椎体大小发生改变,UI会自动重新缩放来适应。任何3D物体,如果距离摄像机的距离比UI平面更近的话,都会渲染在UI前面,反之会被UI平面遮挡

 World Space

此模式下UI会被当做场景中的一个平面物体,不同于ScreenSpace-Camera模式,这个平面不需要朝向摄像机,并且可以朝向任意方向。画布的尺寸可以通过Rect Transform组件来调整,但是最后屏幕上的大小取决于观看角度和距离摄像机的距离。其他物体可以在它前面,或者后面

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/111125
推荐阅读
相关标签
  

闽ICP备14008679号