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 组件用来控制画布中全部元素的缩放和像素密度。这个缩放影响画布中的所有元素包括字体大小和图片边框

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-组件的更多相关文章

  1. UGUI 快捷键创建UGUI组件

      使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能.  在家里闲无聊的时候写了一个脚本, ...

  2. UGUI组件之快速消息提示(飘字)

    效果预览 使用情景 几乎每一个游戏都会有这种飘字提示,实现起来并不复杂, 我把它做了一个组件. 开箱即可使用,无需二次开发,如果效果不满意,开放源码,方便进行调优. 组件源码 核心代码 每次将飘字的请 ...

  3. Unity3D - UGUI组件的中英文对照

  4. 基于Shader实现的UGUI描边解决方案

    基于Shader实现的UGUI描边解决方案 前言 大扎好,我系狗猥.当大家都以为我鸽了的时候,我又出现了,这也是一种鸽.创业两年失败后归来,今天想给大家分享一个我最近研究出来的好康的,比游戏还刺激,还 ...

  5. Unity3D学习笔记(十九):UGUI、Image、Text、Button

    UGUI:Unity官方最新,与NGUI同源 UI:User Interface(用户的操作界面),图片+文字 UGUI的组件: 1.创建UGUI组件时,会默认创建Canvas(画布)和EventSy ...

  6. Unity3D - UGUI的手动搭建

    了解UGUI组件的搭建方式,有助于搭建我们自己的UI界面. Text 文本 text 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Text组件即可实现与t ...

  7. Unity3d UGUI插件之TSTableView

    TSTableView是Tacticsoft工作室开发的一款适用于UGUI的列表(Table)插件,设计灵感来源于iOS/Mac的UITableView,提供高复用.高性能的列表,其主要特点是: 采用 ...

  8. Unity实现滑页嵌套(解决ScrollRect嵌套冲突问题)

    简介 由于项目需要+有网友咨询,所以做了个横向滑页+某一横向滑页中有竖向滑页的demo,实现有点绕弯子,但基本功能还是比较完善,发上来共享一下. 效果 思路 第一步的思路是自己判断触屏拖动位置,然后控 ...

  9. HoloLens开发手记 - Known issues 已知问题

    本文主要提及一份问题清单,这些问题都可能对我们开发HoloLens应用造成困扰. Visual Studio 在使用VS 2015 Update 1连接HoloLens时,可能会有些小问题.但是这些小 ...

  10. C#中的yield return与Unity中的Coroutine(协程)(下)

    Unity中的Coroutine(协程) 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件, Image: 将以下代码绑定到Image using ...

随机推荐

  1. 设计模式------PROTOTYPE(原型),TEMPLATE(模板)

    看链接:http://blog.csdn.net/wuzhekai1985/article/details/6667020.纯属为自己学习所使用. 对于原型模式的理解:就如连接中所说,制作简历时先手写 ...

  2. mysql安全

    安装MySql时,尽量选择别的端口(默认是3306),密码设复杂一点!在next的步骤中,注意不要选中"允许远程登录". Web漏洞检测及修复 http://wiki.open.q ...

  3. C# 多任务之 Task

    Task 是什么 ? Task 是一个类, 它表示一个操作不返回一个值,通常以异步方式执行. Task 对象是一个的中心思想 基于任务的异步模式 首次引入.NET Framework 4 中. 继承层 ...

  4. WPF 程序中启动和关闭外部.exe程序

    当需要在WPF程序启动时,启动另一外部程序(.exe程序)时,可以按照下面的例子来: C#后台代码如下: using System; using System.Collections.Generic; ...

  5. [RMQ] [线段树] POJ 3368 Frequent Values

    一句话,多次查询区间的众数的次数 注意多组数据!!!! RMQ方法: 预处理 i 及其之前相同的数的个数 再倒着预处理出 i 到不是与 a[i] 相等的位置之前的一个位置, 查询时分成相同的一段和不同 ...

  6. CAF(C++ actor framework)使用随笔(projection 用法)(一)

    最近干活在写毕设,用到了CAF,看了文档,发现了一些小坑,自己摸索写点随笔.(CAF的github网站 https://github.com/actor-framework/actor-framewo ...

  7. 客户调用COM流程

    参考:COM技术内幕 DllGetClassObjecthttps://msdn.microsoft.com/en-us/library/windows/desktop/ms680760.aspx   ...

  8. OpenJudge/Poj 1163 The Triangle

    1.链接地址: http://bailian.openjudge.cn/practice/1163 http://poj.org/problem?id=1163 2.题目: 总时间限制: 1000ms ...

  9. Kali-Linux之开启ssh服务

    需求:通过putty软件ssh到Kali-Linux系统 问题:默认情况下,Kali系统的ssh服务并没有开启 操作方法: 1.编辑sshd_config文件 root@kali:~# vi /etc ...

  10. C语言中的程序终止函数

    在C语言的标准库<stdlib.h>中提供了一些与正常或者不正常的程序终止有关的函数,下面分别对其进行简单介绍. 参考文献: [1] C和指针,P298,342 [2] C程序设计语言现代 ...