最近想写一套关于UGUI所有控件的基础使用教程系列,主要是根据本人的使用心得以及部分测试附带字面翻译来写的,所以其中可能难以避免会有不正确的地方。

好了进入主题,既然是第一篇,我觉得我有必要先介绍一下UGUI必不可缺的两个组件:Canvas和EventSystem

事实上在场景中第一次创建UGUI控件的时候,这两个物体都会自动添加到场景中,当然,必不可缺的不是这两个物体,而是他们身上挂载的组件。

一、Canvas作为所有UGUI控件的父级,他管理着下属所有控件的布局。

Canvas组件:

Render Mode(渲染模式):这里一般选择Screen Space - Camera,类似于NGUI的方式用特定的UI摄像机渲染UI,这种渲染模式个人觉得是最佳的,他完全将场景物体和UI进行了分类管理,使得后期开发更加的醒目和易于管理。

Render Camera(渲染相机):设置好独立相机渲染模式,这里为其指定一个渲染UI的相机,该相机的属性要做一些必要的调动。

Clear Flags设置为Depth only(只渲染深度),Culling Mask只保留UI层,Projection设置为Orthographic(正交模式),Depth深度的值必须大于场景主摄像机的值,这样UI才会一直保持在场景物体之上。

Canvas Scaler组件:

Ui Scale Mode(UI缩放模式):也就是UI在自适应时的缩放方式,这里选择第二种方式跟随屏幕缩放。

Reference Resolution(参照分辨率):一般设置为1920*1080,当下主流的最佳分辨率,UI整体将根据16:9的方式适应缩放。

Graphic Raycaster组件:

该组件作为UGUI开启射线投射必不可缺的组件,其属性我们就不用去动了,保持初始值即可。

二、EventSystem作为的是整个UGUI的事件系统(当然他也可以分配非UI物体的事件)。

Event System组件:事件获取与分发必不可缺的组件

Standalone Input Module组件:标准输入模块

Touch Input Module组件:触摸输入模块

这三个组件都是必不可缺的,没有必要的话,我们不必去改动其属性,保持初始值即可。

完成了这两步,接下来就可以进行UGUI界面的开发了。

Unity引擎GUI之Canvas和EventSystem的更多相关文章

  1. Unity引擎GUI之Slider和Scrollbar

    Slider(滑动条):是一个主要用于形象的拖动以改变目标值的控件,他的最恰当应用是用来改变一个数值,最大值和最小值自定义,拖动滑块可在此之间改变,例如改变声音大小. Scrollbar(滚动条):是 ...

  2. Unity引擎GUI之Button

    UGUI Button,可以说是真正的使用最广泛.功能最全面.几乎涵盖任何模块无所不用无所不能的组件,掌握了它的灵巧使用,你就几乎掌握了大半个UGUI! 一.Button组件: Interactabl ...

  3. Unity引擎GUI之Image

    UGUI的Image等价于NGUI的Sprite组件,用于显示图片. 一.Image组件: Source Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择T ...

  4. Unity引擎GUI之Input Field

    InputField 文本输入组件,本文练习InputField的属性及事件 一.属性 1 Interactable: 是否禁用 Transition:过渡方式 Normal Color 正常的未有任 ...

  5. Unity引擎GUI之Text

    Text 文本 要显示的字符串. Font 字体 Font Style 加粗与倾斜 Font Size 字体大小 Line Spacing 行距,文本行之间的间距 Rich Text 勾选后,想要单独 ...

  6. 游戏引擎/GUI的设计与实现-序

    几年前写<嵌入式GUI FTK设计与实现>,没写几篇就停止更新了.当时自己研究过MicroWindows, X Window, DirectFB, GTK+和Android的GUI,又写过 ...

  7. UGUI之Canvas和EventSystem

    先介绍一下UGUI必不可缺的两个组件:Canvas和EventSystem 事实上在场景中第一次创建UGUI控件的时候,这两个物体都会自动添加到场景中,当然,必不可缺的不是这两个物体,而是他们身上挂载 ...

  8. 盛大游戏技术总监徐峥:Unity引擎使用的三种方式

    在5月13日Unite 2017 案例分享专场上,盛大游戏技术总监徐峥分享了使用Unity引擎的三种方式,以下为详细内容: 大家好,我先简单介绍一下我自己,我是盛大游戏的技术总监徐峥.我今天想分享的主 ...

  9. Unite 2017 | Unity引擎发展四大方向

    Unite 2017 Shanghai已落幕,今天为大家分享本次大会备受关注的Keynote主题演讲.本次大会Keynote主题演讲聚焦了Unity全球领导团队,包括Unity创始人David Hel ...

随机推荐

  1. 编写who命令

    第一个版本: /* who1.c - a first version of the who program * open, read UTMP file, and show results. */ # ...

  2. 8.2.3 操作MySQL数据库

    Python访问MySQL数据库可以使用MySQLDb模块,该模块主要方法如下: (1)commit():提交事务. (2)rollback():回滚事务. (3)callproc(self,proc ...

  3. BUAA_OO_博客作业三

    1 JML语言总结 1.1 JML语言的理论基础 ​ JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言(Behavi ...

  4. 【hiho一下 第145周】智力竞赛

    [题目链接]:http://hihocoder.com/contest/hiho145/problem/1 [题意] [题解] 设f[i][j]表示做对i道题,做错j道题能够到达的最好状态是什么; 这 ...

  5. hdu_1039_Easier Done Than Said_201311051511

    Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  6. svn重新定位或checkout,提示输入用户名密码,输入后报错

    在MyEclipse中,source——>clean up.然后重新定位或checkout

  7. hibernate分表保存日志

    @Service("accessLogService")@Transactionalpublic class LogMessageServiceImpl extends BaseD ...

  8. 阿伦 凯 Alan Kay 面向对象编程思想创始人

    The best way to predict the future is to invent it. 预测未来最好的办法就是创造它.

  9. springmvc 时间返回格式化

    如果是@ResponseBody,可以通过@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")设置返回的样式: 如果是不是@ResponseBody ...

  10. android 5.0新特性学习总结之下拉刷新(一)

    android 5.0 后google最终在 support v4 包下 添加了下拉刷新的控件 项目地址: https://github.com/stormzhang/SwipeRefreshLayo ...