UGUI-组件
2015-06-22
UGUI 组件
Canvas 画布
The Canvas component represents the abstract space in which the UI is laid out and rendered. All UI elements must be children of a GameObject that has a Canvas component attached. When you create a UI element object from the menu (GameObject > Create UI), a Canvas object will be created automatically if there isn’t one in the scene already.
Canvas组件代表存放和渲染UI控件的空间,所有的UI元素必须是包含Canvas组件对象的子元素,如果单独从菜单中创建一个UI元素,如果Scene场景中没有Canvas,系统会自动为元素创建一个Canvas父对象。
Render Mode:渲染模式
1.ScreenSpace-OverLay:UI覆盖整个屏幕,所有的GameObject对象都在UI的后方(由于UI场景非常大,将GameObject放大才能明显观查到)
可以将OverLay渲染模式看做"Screen Space-Camera"渲梁方式集合中的一个对象(其中Render Camera=MainCamera,PlaneDistance=0)
Pixel Perfect:不使用抗锯齿功能,使每个像素清晰的显示,防止在某些情况下产生的模糊。如果场景中有大量的元素需要缩放,移动,或者包含较精细的动画,不使用Pixel Perfect功能(不禁用抗锯齿功能),可以使动画、移动等平滑。
Sort Order:排序次序,Sort Order越大,在平面上的显示越靠前;

2.ScreenSpace-Camera:用一个像机接收UI内容(把一个含有控件的平面放在距相机一定位置来显示UI,UI和其前后的GameObject对象会互相产生遮挡效果)
Render Camera:用来渲染UI的Camera(且this.Canvas所含的UI内容只能在Render Camera中才能渲染),即使UI在场景中其它相机的范围内,其它相机也不会渲染;
Plane Distance:Canvas到相机的垂直距离,Canvas在场景中的尺寸和位置决定于Render Camera 的Field of View 和 Plane Distance,
Plane Distance更重要的作用是决定了场景中的GameObject对象在UI(this.Canvas所渲染的UI)的前方还是后方;
Sorting Layer:Canvas所属的层(层的分类在:Menu->Edit->Project Setting->Tags and Layers->Sorting Layers 在SortingLayers中排序越靠下的层,在屏幕上显示越靠前)
Order in Layer:在所属层中的排序次序,值越大,在所属层中越靠前

3.WorldSpace:将UI做为3D场景的一部分,类似gameObject
Event Camera:事件相机,UI中的交互事件(如点击,输入等)能且只能被Event Camera执行(在WorldSpace模式下如果UI在Scene场景中的任何像相机范围内,则相机可以观查到UI)

Canvas Scaler:画布内容缩放
The Canvas Scaler component is used for controlling the overall scale and pixel density of UI elements in the Canvas. This scaling affects everything under the Canvas, including font sizes and image borders.
Canvas Scaler 组件用来控制画布中全部元素的缩放和像素密度。这个缩放影响画布中的所有元素包括字体大小和图片边框
/Unity4.6.3/Editor/Data/Documentation/html/en/uploads/Main/UI_CanvasInspector.png)
/Unity4.6.3/Editor/Data/Documentation/html/en/uploads/Main/UI_CanvasInspector.png)
/Unity4.6.3/Editor/Data/Documentation/html/en/uploads/Main/UI_CanvasInspector.png)
1.Constant Pixel Size: 确保画布中的元素保持不变的像素大小,不考虑屏幕的尺寸
Scale Factor(缩放系数):Canvas中的所有元素按Scale Factor进行缩放(Scale FactorScales all UI elements in the Canvas by this factor.)
Reference Pixels Per Unit(每个单元所引用(包含)的像素数):
(If a sprite has this ‘Pixels Per Unit’ setting, then one pixel in the sprite will cover one unit in the UI.如果一个精灵(Sprite子图片)有自已的Pixels Per Unit设置,将以精灵自身的设置优先)
2.Scale With Screen Size: 确保画布中的元素和屏幕适配,元素宽度随屏幕宽度缩放,元素高度按元素宽高比随宽度缩放
Math=0时按宽度缩放,Math=1时按高度缩放
3.Constant Physical Size: 不变的物理大小,不考虑屏幕的尺寸和缩放,使用Constant Physical Size进行布局,无论不同计算机的像素尺寸是多少,图像的物理宽度都是固定的
Graphic Raycaster
?
Image
Image Type:
Simple:常规缩放(Preserve Aspect:保持宽高比)
Slice:图片在ImageEditor中修改边框数据后,图片会产生边框
Tiled:平铺,如果有边框,内部平铺
UGUI-组件的更多相关文章
- UGUI 快捷键创建UGUI组件
使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能. 在家里闲无聊的时候写了一个脚本, ...
- UGUI组件之快速消息提示(飘字)
效果预览 使用情景 几乎每一个游戏都会有这种飘字提示,实现起来并不复杂, 我把它做了一个组件. 开箱即可使用,无需二次开发,如果效果不满意,开放源码,方便进行调优. 组件源码 核心代码 每次将飘字的请 ...
- Unity3D - UGUI组件的中英文对照
- 基于Shader实现的UGUI描边解决方案
基于Shader实现的UGUI描边解决方案 前言 大扎好,我系狗猥.当大家都以为我鸽了的时候,我又出现了,这也是一种鸽.创业两年失败后归来,今天想给大家分享一个我最近研究出来的好康的,比游戏还刺激,还 ...
- Unity3D学习笔记(十九):UGUI、Image、Text、Button
UGUI:Unity官方最新,与NGUI同源 UI:User Interface(用户的操作界面),图片+文字 UGUI的组件: 1.创建UGUI组件时,会默认创建Canvas(画布)和EventSy ...
- Unity3D - UGUI的手动搭建
了解UGUI组件的搭建方式,有助于搭建我们自己的UI界面. Text 文本 text 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Text组件即可实现与t ...
- Unity3d UGUI插件之TSTableView
TSTableView是Tacticsoft工作室开发的一款适用于UGUI的列表(Table)插件,设计灵感来源于iOS/Mac的UITableView,提供高复用.高性能的列表,其主要特点是: 采用 ...
- Unity实现滑页嵌套(解决ScrollRect嵌套冲突问题)
简介 由于项目需要+有网友咨询,所以做了个横向滑页+某一横向滑页中有竖向滑页的demo,实现有点绕弯子,但基本功能还是比较完善,发上来共享一下. 效果 思路 第一步的思路是自己判断触屏拖动位置,然后控 ...
- HoloLens开发手记 - Known issues 已知问题
本文主要提及一份问题清单,这些问题都可能对我们开发HoloLens应用造成困扰. Visual Studio 在使用VS 2015 Update 1连接HoloLens时,可能会有些小问题.但是这些小 ...
- C#中的yield return与Unity中的Coroutine(协程)(下)
Unity中的Coroutine(协程) 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件, Image: 将以下代码绑定到Image using ...
随机推荐
- Redis主备自动切换
Sentinel(哨兵)是用于监控redis集群中Master状态的工具. 一.Sentinel作用 1.Master状态检测 2.如果Master异常,则会进行Master-Slave切换,将 ...
- 灯笼Lantern下载及使用教程
http://www.iyaxi.com/2015-11-17/732.html 最新科学上网QQ群群号:465166189点击链接加入群[翻越长城三群]:http://jq.qq.com/?_wv= ...
- Android端手机测试体系
1.冒烟测试 跟web端的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做我们的测试工具.就跟我之前博客所 ...
- 聊一聊 AngularJS 服务
什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 为什么使用服务? 在很多服务中,比如 $loca ...
- 常用经典SQL语句大全(提升)
二.提升 1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) ...
- 12天学好C语言——记录我的C语言学习之路(Day 6)
12天学好C语言--记录我的C语言学习之路 Day 6: 今天,我们要开始学习数组了. //①数组部分,数组的大小不能够动态定义.如下: //int n; scanf("%d,& ...
- asp.net 邮件发送类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Linux之最最最最基础(包括在虚拟机中安装linux系统)
这里是以CentOS 6.5 64bit为例(学习用这个,Kali神马的有兴趣自己研究(这个系统是玩渗透用的)) 一 ---->配置Vmware Workstation 自定义--选择 ...
- 在Mac OS X中搭建STM32开发环境(3)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在上两篇文章中,我们先后编译和安装了ST-Link2和交叉编译工具,在大家确认安装成功以后 ...
- USB初始化
//USB初始化void CFileManagerDlg::usbinit(){ #define BUFFER_SIZE 64 struct usb_bus *bus; struct usb_devi ...