码迷,mamicode.com
首页 > 编程语言 > 详细

UGUI技术之Canvas-画布使用_Unity3D开发_蓝鸥

时间:2016-08-19 13:21:25      阅读:437      评论:0      收藏:0      [点我收藏+]

标签:unity3d 蓝鸥

UGUI技术之Canvas-画布使用_Unity3D开发_蓝鸥

文/宋小波啊(作者)

Unity 中有一个能够直观并且快速构建用户界面的 UI 系统,我们叫它 uGUI

技术分享

uGUI

在 uGUI 中,Canvas 是一个挂载了 Canvas 组件的游戏对象,它划定了一个区域,用来容纳所有的 UI 元素,并且这些 UI 元素必须是 Canvas 的子对象。

当我们创建一个新的 UI 元素时,如果场景中还没有 Canvas,就会自动创建出一个 Canvas

Canvas 会在 Scene 视图中显示出一个矩形区域,这就可以使我们在不运行项目的情况下,直接在 Scene 视图中可视化地定位 UI 元素。

 

元素的绘制顺序

Canvas 中 UI 元素的绘制顺序,和它们在层级视图中出现的顺序相同。Canvas 下第一个子对象会最先被绘制,接着是第二个子对象,以此类推。如果两个 UI 元素重叠了,那么后绘制的元素会覆盖掉先绘制的元素。

要想改变某个 UI 元素的绘制顺序,只需要通过拖动重新在层级视图中排列元素就可以了。绘制顺序也能够通过脚本来控制,需要用到 Transform 组件的三个方法:SetAsFirstSiblingSetAsLastSibling 和 SetSiblingIndex

 

Render Mode - 渲染模式

Canvas 中的 Render Mode 设置,用来决定它以屏幕空间进行渲染还是以世界空间进行渲染,有三种设置方式。

1、Screen Space - Overlay

这种渲染模式将屏幕上的 UI 元素渲染在场景的最顶层。如果屏幕的大小或者分辨率发生了变化,Canvas 也会自动改变大小,和屏幕的保持一致。

技术分享

Screen Space - Overlay

2、Screen Space - Camera

这个渲染模式和 Screen Space - Overlay 相似,在这种模式下,Canvas 会处于指定摄像机的前方,距离可以调整。UI 元素通过这个摄像机来渲染,摄像机的设置会影响 UI 的外观。如果摄像机设置为了透视,UI 元素也会以透视呈现,并且透视的形变量可以通过摄像机的 Field of View 来控制。如果屏幕的大小或者分辨率发生了变化,或者摄像机的视锥发生了变化,Canvas 同时也会改变大小,和屏幕保持一致。

技术分享

Screen Space - Camera

3、World Space

在这种渲染模式下,Canvas 就和场景中的其他游戏对象一样。Canvas 的大小能够手动地通过 RectTransform 来设置,并且 UI 元素会根据在 3D 场景中的放置位置,来决定渲染在场景中其他对象的前面还是后面。当我们想让 UI 成为世界场景的一部分时非常有用。这也被称作叙事化界面(Diegetic Interface

技术分享

UGUI技术之Canvas-画布使用_Unity3D开发_蓝鸥

标签:unity3d 蓝鸥

原文地址:http://11165165.blog.51cto.com/11155165/1840240

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!