Unity3D_uGUI学习笔记(1)_Canvas简述

本文是Unity3D新UI系统uGUI的学习笔记,主要介绍Canvas组件,包括Canvas的功能、绘制顺序、渲染模式等。Canvas是所有UI元素的容器,其渲染模式包括Screen Space - Overlay、Screen Space - Camera和World Space,不同模式会影响UI元素的显示和适应性。
 

一、概述

         1488250598-4211-image001.1487678764

         UI系统可快速直观的创建用户界面。本文主要阐述Unity3DUI系统(uGUI)的主要功能。【参照NGUI

 

1Canvas

         Canvas(画布)容纳所有UI元素。Canvas是一个挂载了Canvas Component组件的Game Object,所有UI元素都必须是它的子节点。【类似NGUIUIRoot

         若想创建一个UI元素(比如Image),点击菜单Game Object > UI >Image即可。若当前场景中无Canvas,则自动创建一个Canvas,且刚建的UI元素会自动设为此Canvas的子节点。

         Scene视图中Canvas区域以一个矩形显示,帮助查看全部UI元素的位置,而不必切换到Game视图。

         Canvas使用EventSystem作为消息系统。

1.1 Draw order of elements

         UI元素的绘制顺序就是它们在Hierarchy视图的排列顺序,也即由上至下依次绘制。假如两个UI元素出现重叠,则后来着绘制于先来着之上。【区别于NGUIUIWidget.depth

         若想更改UI元素绘制顺序,只需在Hierarchy视图中拖拽它们,变更它们在Hierarchy视图的顺序。当然,也可通过Transform的脚本方法SetAsFirstSibling()SetAsLastSibling()SetSiblingIndex()来动态修改节点顺序。

1.2 Render Modes

         Canvas的渲染模式(Render Mode)可选Screen SpaceWorld Space

1.2.1 Screen Space - Overlay

         此模式下,UI元素在屏幕顶层。若屏幕分辨率变更,则Canvas自动调整自身尺寸作自适应。(满屏显示,不受Camera属性值影响)

         1488250598-5567-image002.1487678765

1.2.2 Screen Space - Camera

         此模式类似Screen Space - Overlay,但区别是此模式将Canvas放置于某个Camera前固定距离。此Camera负责渲染所有UI元素,则摄像机参数(Camera Settings)直接影响UI表现。比如Camera是透视模式(Perspective),则UI元素会基于Field of View的值而扭曲变形。同样的,若屏幕分辨率变更,或者视觉平截体(CameraFrustrum)改变,则Canvas自动调整自身尺寸作自适应。

         1488250598-9894-image003.1487678765

1.2.3 World Space

         此模式下,Canvas及其子节点与场景中其他Game Object并无区别。此时Canvas尺寸可通过RectTransform来手工设置,并且UI元素的绘制位置、顺序通过自身在3D世界的实际坐标来决定。当UI元素应用为3D世界成员时,此模式十分奏效。

         1488250598-3808-image004.1487678765

 点击访问官方英文文档



查看原文:http://www.51xyyx.com/2892.html
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值