Unity引擎GUI之Canvas和EventSystem

最近想写一套关于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界面的开发了。

时间: 2024-11-09 00:04:47

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

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

几年前写<嵌入式GUI FTK设计与实现>,没写几篇就停止更新了.当时自己研究过MicroWindows, X Window, DirectFB, GTK+和Android的GUI,又写过嵌入式GUI FTK,以为自己对GUI还算熟悉,但是真正写起来还是有些力不从心.另外硬件的飞速发展,我感觉FTK的实用价值不大了,自己的精力转向了CANTK的开发,所以没有再写下去. 这几年我又实现了两个GUI,一个是CANTK,它是基于HTML5的CANVAS元素实现的,针对移动设备的GUI,它已经开源了.

【Unity3D API的学习与使用】Unity实现GUI组件的位移、缩放和旋转

在使用Unity中GUI组件时,我们可以像处理一个实体一样,对其进行位移.缩放和旋转的操作. 其中,位移和缩放都只需要改变其Rect的内容即可,前者改变x.y参数,后者改变width和height参数,而旋转则有所不同,它需要使用GUI.matrix的一个函数: GUIUtility.RotateAroundPivot (rotAngle, pivotPoint) 参数说明: rotAngle:旋转的角度: pivotPoint:旋转时围绕的中心点. JavaScript示例: #pragma

UGUI之Canvas和EventSystem

先介绍一下UGUI必不可缺的两个组件:Canvas和EventSystem 事实上在场景中第一次创建UGUI控件的时候,这两个物体都会自动添加到场景中,当然,必不可缺的不是这两个物体,而是他们身上挂载的组件. 一.Canvas作为所有UGUI控件的父级,他管理着下属所有控件的布局. Canvas组件: Render Mode(渲染模式):这里一般选择Screen Space - Camera,类似于NGUI的方式用特定的UI摄像机渲染UI,这种渲染模式个人觉得是最佳的,他完全将场景物体和UI进行

重新定制 Unity引擎的Debug 输出

孙广东  2015.8.31 之前 写过定制 Unity引擎的Debug 输出 的文章如下: http://blog.csdn.net/u010019717/article/details/43582737 但是存在 先天的点,  当我们 双击 Debug 输出的时候, Visual Studio 并不能 自动 跳转到  指定的 错误行,  而是跳转到 Log 的输出行(就是之前的 MyDebug 脚本的函数内). 这就带来了很大的不方便. 所以为了解决这个问题, 今天发表 文章: 项目的输入如

查看Unity的GUI样式

Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试. 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 插件链接:Editor Style Viewer https://www.assetstore.unity3d.com/en/#!/content/3282   预览 代码 原理:遍历所有的GUI.skin,并显示其样式 using UnityEngine; using UnityEditor; /

Unity基础 GUI编程

脚本语言:C# 附上一张图说明Unity GUI编程中可用的控件:(可能有遗漏) 下面列出一些例子来说明: 1.Groups : 在固定Layout模式中起到组织可用项的功能,它让你在屏幕的一个区域中包含多个控件.把定义的控件放在GUI.BeginGroup()和 GUI.EndGroup()这对函数中间,所有控件的位置坐标都以Groups的0坐标为起点,假如更改了group坐标,那么内部的控件也会跟随改变. 示例代码: using UnityEngine; using System.Colle

(转)使用.NET Reflector 查看Unity引擎里面的DLL文件

当你查看unity里面API的时候,是不是有时候追踪了一两步就碰到DLL文件走不下去了呢?很是不爽吧. 这种问题我也是经常碰到.这是人家商业引擎不想让你看到底层代码啦,所以着急不得. 不过,今天我终于有了办法解决这个问题.那就是使用反编译DLL文件!简单,粗暴.不过为了了解底层的结构,这也不失为一种办法哦. OK!啰嗦了半天,让我带你进入今天的主题吧. 1.首先下载.NET Reflector 8.3.3.115.(如果链接失效,请告诉我哦.里面还有一个插件可以导出cs文件) 2.双击安装Ref

游戏引擎/GUI的设计与实现-常见GUI架构

以X Window为代表的客户/服务器架构. X Window通常是指X服务器及封装了通信协议的客户端库.服务器端主要负责输入事件的分发,窗口层次的管理,以及显示输出的处理,其它功能基本上都是在客户端实现了.我们看到的各种界面元素都是在客户端绘制的,这一部分通常称为ToolKit,应用程序开发者只需要关注ToolKit就行了.以前的ToolKit非常多,经过多年的进化和淘汰,常用的ToolKit主要是GTK+和QT两个了.X Window是非常复杂和晦涩的,以前我花了不少时间去研究用于嵌入式系统

【翻译】Unity引擎路线图 - 5.2

2D: Android ETC1 Compression for Sprite Atlases ETC1 cannot be applied on textures with transparency (alpha channel). One way to still use this techniques for textures with alpha is to split the source into two textures without alpha (one with origin