![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity--UI
文章平均质量分 58
NGUI,UGUI,IMGUI....
Go_Accepted
这个作者很懒,什么都没留下…
展开
-
Unity UI合批的问题
今天看到一个问题,主要说的是Unity中的UI资源合批的问题之前一直以为主要和UI资源在Hierarchy中的排列顺序有关,但其实这并不是最主要的,因为Unity会对同一个Canvas下的UI进行排序(注:不同Canvas下的资源是不能够合批的)而合批的关键就是这个【排序】先简单来说,排序主要根据三个键值:Depth、Material Id、Texture Id。原创 2023-02-11 16:55:25 · 850 阅读 · 0 评论 -
UGUI-- Canvas Group
问题:如何整体控制一个面板的淡入淡出等解决方案:Canvas Group为Panel面板对象添加Canvas Group组件,即可整体控制参数相关:Alpha 整体透明度控制 Interactable 整体启用禁用设置(禁用后即按钮无法点击等) Blocks Raycasts 整体射线检测设置(禁用后按钮能点击但无法响应等) Ignore Parent Groups 是否忽略父级Canvas Group的作用 ...原创 2022-05-03 22:57:01 · 269 阅读 · 0 评论 -
UGUI-- 自动布局组件
1、自动布局是什么虽然UGUI中的RectTransform已经非常方便地可以帮助我们快速布局,但是UGUI中还提供了很多可以帮助我们对UI控件进行自动布局的组件,可以帮助我们自动的设置UI控件的位置和大小等自动布局的工作方式一般是:自动布局控制组件+布局元素=自动布局自动布局控制组件:Unity提供了很多用于自动布局的管理性质的组件用于布局布局元素:具备布局属性的对象们,这里主要是指具备RectTransform的UI组件2、布局元素的布局属性例如:图片最下方,选择Lay.原创 2022-05-03 22:50:14 · 590 阅读 · 0 评论 -
UGUI-- 异形按钮
1、什么是异形按钮图片的形状不是传统矩形的按钮2、如何让异形按钮能够精准点击比如一个按钮是这样的:那么我们实际的点击范围应该就只是箭头部分,矩形中的其他部分点击是无效的方法一:通过添加子对象的形式按钮之所以能够响应点击,主要是根据图片矩形范围进行判断的,其范围判断是自下而上的,意思是如果有子对象图片,子对象图片的范围也会算为可点击范围,那么就可以用多个透明图拼凑不规则图形作为按钮子对象用于进行射线检测。步骤是:(1)创建一个Image,赋予相应的图片(2)..原创 2022-05-03 18:55:18 · 902 阅读 · 0 评论 -
UGUI-- 模型和粒子显示在UI之前
1、模型显示在UI之前方法一:直接用摄像机渲染3D物体Canvas的渲染模式不是覆盖模式,而摄像机模式和世界(3D)模式都可以让模型显示在UI之前(Z轴在UI元素之前即可),可以用来显示多个模型。(1)Canvas的渲染模式改为摄像机模式(2)新建摄像机Camera(专门用来渲染UI的摄像机) 的Clear Flags改为Depth only,Culling Mask只勾选UI(3)主摄像机的Culling Mask不勾选UI层(4)将UI摄像机拖入Canvas的Render Ca.原创 2022-05-03 17:36:04 · 822 阅读 · 0 评论 -
UGUI-- Mask遮罩
1、遮罩是什么在不改变图片的情况下,让图片在游戏中只显示其中的一部分2、遮罩如何使用实现遮罩效果的关键组件是Mask组件,通过在父对象上添加Mask组件即可遮罩其子对象注意:(1)想要被遮罩的Image需要勾选Maskable(2)只要父对象添加里Mask组件,那么所有的UI子对象都会被遮罩(3)遮罩父对象图片的制作,不透明的地方显示,透明的地方被遮罩在Mask组件中,有一项Show Mask Graphic,当不想用来遮罩的图片被显示的时候,不勾选此项...原创 2022-05-03 15:55:57 · 1510 阅读 · 0 评论 -
UGUI-- 屏幕坐标转UI相对坐标
1、RectTransformUtility类RectTransformUtility公共类是一个RectTransform的辅助类,主要用于进行一些坐标的转换等等操作,其中对于我们目前来说,最重要的函数是:将屏幕空间上的点转换成UI本地坐标下的点2、将屏幕坐标转换为UI本地坐标系下的点方法:RectTransformUtility.ScreenPointToLocalPointInRectangle参数一:相对父对象参数二:屏幕点参数三:摄像机参数四:最终得到的点...原创 2022-05-03 15:37:16 · 1081 阅读 · 0 评论 -
EventTrigger 事件触发器
1、EventTrigger 事件触发器是什么一个EventTrigger组件,是一个集成了所有UI事件监听接口的脚本,可以让我们更方便地为控件添加事件监听2、如何使用事件触发器在对象的Inpector窗口中->Add Component->Event Trigger->Add New Event Type,选择响应类型在实际应用场景上,我们为了更好地管理UI的逻辑,通常会在一个Panel中添加UI组件,通过Panel关联的脚本对其中的UI对象进行逻辑处理,而事件.原创 2022-04-26 21:55:03 · 3920 阅读 · 0 评论 -
UGUI-- UI事件监听接口
1、事件接口是用来解决什么问题的目前所有的控件都只提供了常用的事件监听列表,如果想做一些类似长按、双击、拖拽等功能是无法制作的,或者想让Image或Text,RawImage三大基础控件能够相应玩家输入也是无法制作的而事件接口就是用来处理类似问题,让所有控件都能够添加更更多的事件监听来处理对应的逻辑2、有哪些事件接口(1)常用事件接口继承接口 函数 作用 IPointerEnterHandler OnPointerEnter 当指针进入对象时调用(鼠标..原创 2022-04-25 22:49:41 · 668 阅读 · 0 评论 -
UI-- DrawCall
1、DrawCall的概念字面理解:绘制呼叫,表示CPU通知GPU,其概念就是CPU准备号渲染数据(顶点、纹理、法线、Shader等等)后,告知GPU开始渲染(将命令放入命令缓冲区)的命令简单来说:一次DrawCall就是CPU准备好渲染数据通知GPU渲染的这个过程如果游戏中DrawCall数量较高会影响CPU的效率,最直接的感受就是游戏会卡顿举个例子,以拷贝文件那来类比,假设创建10000个小文件,每个文件大小为1kb,然后把这些文件拷贝到另一个文件夹中,你会发现,即使这些文件加起来不超.原创 2022-04-25 21:44:40 · 1441 阅读 · 0 评论 -
UGUI-- 图集制作
1、为什么要打图集UGUI与NGUI使用上最大的不同是,NGUI使用前就要打图集,UGUI可以在之后再打图集打图集的目的就是减少DrawCall,提高性能,具体Drawcall是什么取看NGUI。简单来说,DrawCall(DC)就是CPU通知GPU进行一次渲染的命令,如果DC次数较多会导致游戏卡顿,我们可以通过打图集,将小图合并成大图,将本应n次的DC变成1次DC来提高性能2、在Unity中打开自带的打图集功能在工程设置面板中打开功能Edit->Project Sett.原创 2022-04-25 21:17:40 · 3227 阅读 · 0 评论 -
UGUI-- DropDown下拉列表控件
1、DropDown是什么下拉列表(下拉选单)组件,默认创建的DropDown由4组对象组成:父对象——DropDown组件依附的对象,还有一个Image组件作为背景图子对象——Label:当前选项描述;Arrow:右侧小箭头(就是个样式);Template:下拉列表选单(是一个ScrollBar)2、DropDown参数Template:关联下拉列表对象 Caption Text:关联显示当前选择内容的文本组件 Caption Image:关联显示当前选择内容的图片组件注意.原创 2022-04-24 22:09:43 · 453 阅读 · 0 评论 -
UGUI-- Scrollview 滚动视图
1、ScrollvRect是什么滚动视图组件,是UGUI中用于处理滚动视图相关交互的关键组件默认创建的ScrllRect由4组对象组成:父对象 ScrollRect组件依附的对象,还有一个Image组件,设为背景图 子对象 Viewport 控制滚动视图可视范围和内容显示 Scrollbar Horizontal 水平滚动条 Scrollbar Vertical 垂直滚动条 2、ScrollRect参数Content:控制滚动视图显示内容.原创 2022-04-23 21:27:16 · 1075 阅读 · 1 评论 -
UGUI-- ScrollBar 滚动条
1、ScrollBar是什么?滚动条组件,是UGUI 中用于处理滚动条相关交互的关键组件默认创建的Scrollbar由2组对象组成:父对象——Scrollbar组件依附的对象子对象——滚动快对象一般情况下不会单独使用滚动条,都是配合ScrollView滚动视图来使用2、ScrollBar参数Handle Rect:关联滚动块图形对象 Direction:滑动条值增加的方向 Value:滚动条初始位置值(0~1) Size:滚动快在条中的比例大小(0~1) Numbe.原创 2022-04-23 20:26:23 · 491 阅读 · 0 评论 -
UGUI-- Slider 滑动条控制
1、Slider是什么滑动条组件,是UGUI中用于处理滑动条相关交互的关键组件默认创建的Slider由4组对象组成:父对象——Slider组件依附的对象子对象——背景图、进度图、滑动块三组对象2、Slider参数FillRect:用于填充的进度条图形 Handle Rect:用于滑动的滑动块图形 Direction:滑动条值增加的方向 Min Value 和 Max Value:最小值和最大值,滑动滚动条时从最小值到最大之间变化(左右、上下极值) Whole Numbe.原创 2022-04-23 18:24:32 · 866 阅读 · 0 评论 -
UGUI-- InputField 文本输入控件
1、InputField是什么输入字段组件,是UGUI中用于处理玩家文本输入相关交互的关键组件默认创建的InputField由3个对象组成:父对象——IntputField组件依附对象以及同时在其上挂载了一个Image作为背景图子对象——文本显示组件(必备)、默认显示文本组件(必备)2、InputField参数(1)Interactable:是否接受输入(2)Transition:响应用户输入的过渡效果(3)Navigation:导航模式,可以设置UI元素如何在播放模式.原创 2022-04-21 23:05:44 · 1182 阅读 · 0 评论 -
UGUI-- Button 按钮组件
1、Button是什么按钮组件,是UGUI中用于处理玩家按钮相关交互的关键组件默认创建的Button由2个对象组成,父对象是Button组件依附对象,同时挂载了一个Image组件,作为按钮背景图;子对象是按钮文本(可选)2、Button参数(1)Interactable:是否接受输入(按钮是否可以点击响应)(2)Transition:响应用户输入的过渡效果None:没有状态变化效果ColorTint:用颜色表示不同状态的变化——TargetGraphic:控制的目标图形原创 2022-04-20 22:43:52 · 772 阅读 · 0 评论 -
UGUI-- RawImage (原始图片)大图控件
1、RawImage是什么原始图像组件,是UGUI中用于显示任何纹理图片的关键组件它和Image的区别是,一般RawImage用于显示大图(背景图,不需要打入图集的图片,网络下载的图等等)2、RawImage参数(1)Texture:图像纹理可以是任何类型的图片(不像Image必须是Sprite类型)(2)UV Rect:图像在UI矩形内的偏移和大小—— 位置偏移X和Y(取值0~1)—— 大小偏移W和H(取值0~1)改变他们的图像边缘将进行拉伸来填充UV矩形周围的空.原创 2022-04-19 23:04:20 · 948 阅读 · 0 评论 -
UGUI-- Text文本控件
1、Text是什么文本组件,UGUI中用于显示文本的关键组件2、Text参数相关(1)Text:文本显示内容(2)Font:字体在C盘->windows->Fonts文 件夹中,有系统自带的字体可以使用(3)FontStyle:字体样式,包括:normal(普通),Bold(加粗),Italic(斜体),Bold And Italic(加粗+斜体)(4)Font Size:字体大小如果字体太大,而RectTransform矩形框范围太小,可能字体不会显..原创 2022-04-19 22:37:34 · 652 阅读 · 0 评论 -
UGUI-- Image图像控件
1、Image是什么Image是图像控件,是UGUI中用于显示精灵图片的关键组件,除了背景等大图,一般都是用Image来显示UI中的图片元素2、Image参数(1)Source Image:图片来源(图片类型必须是精灵Sprite类型)如果在Canvas中存在多个Image,越往后(位置在下面)的Image的渲染次序越靠后,即显示越靠前(2)Color:图像的颜色(3)Material:图像的材质(一般不修改,会使用UI的默认材质)(4)Raycast Target:是否作.原创 2022-04-19 21:22:56 · 1235 阅读 · 0 评论 -
UGUI-- RectTransform UI位置锚点组件
1、RectTransform组件干什么的?继承于Transform,专门用于处理UI元素位置大小相关的组件Transform组件只处理位置、角度、缩放RectTransform在此基础上加入了矩形相关,将UI元素当作一个矩形来处理,加入了中心点、锚点、长宽等属性,其目的时更加方便地控制其大小以及分辨率自适应中的位置适应2、RectTransform组件参数(1)Pivot:轴心(中心)点,取值范围0~1轴心即UI中的蓝色圆圈相对的位置,左下角为(0,0),右上角为(1,1),.原创 2022-04-18 22:29:57 · 511 阅读 · 0 评论 -
UGUI-- EventSystem以及Standalone Input Module 点击事件监听组件
1、EventSystem干什么的?事件系统,用于管理玩家的输入事件并分发给各UI控件它是事件逻辑处理模块,所有的UI事件都通过EventSystem组件中轮询检测并做相应的执行,它类似一个中转站,和许多模块一起共同协作,如果没有它,点击、拖曳等行为不会被响应2、EventSystem中的参数(1)First Selected:首先选择的游戏对象,可以设置游戏一开始的默认选择如果将Button拖入,那么Button默认是点击状态(2)Send Navigation Events:是.原创 2022-04-18 20:10:10 · 1874 阅读 · 0 评论 -
UGUI-- Graphic Raycaster 射线事件交互组件
1、Graphic Raycaster是干什么的图形射线投射器(在UGUI中进行射线检测不是基于碰撞器,而是基于图形),用于检测UI输入事件的射线发射器,主要负责通过射线检测玩家和UI元素的交互判断是否点击到了UI元素,用于触发交互2、Graphic Raycaster参数(1)Ignore Reversed Graphic:是否忽略反转图形。(X、Y轴反转)默认勾选,在勾选状态下,例如一个Button对象,当对其X轴或者Y轴设置Rotation=180后,将无法对该Button对象进.原创 2022-04-17 23:14:48 · 450 阅读 · 0 评论 -
UGUI-- 六大基础组件
UGUI:六大基础组件Canvas对象上依附的:Canvas:画布组件,用于渲染UI控件Canvas Scaler:画布分辨率自适应组件,主要用于分辨率自适应Graphic Raycaster:射线事件交互组件,主要用于控制射线响应开关RectTransform:UI对象位置锚点控制组件,主要用于控制位置和对齐方式EventSystem对象上依附的:EventSystemStandalone Input Module玩家输入事件响应系统和独立输入模块组件,主要用于监听玩家原创 2022-04-17 21:59:48 · 1027 阅读 · 0 评论 -
UGUI-- Canvas对象及Canvas组件
1、Canvas渲染模式控制组件:画布,是UGUI中所有UI元素能够被显示的根本,主要负责渲染自己的所有UI子对象注意:如果UI控件对象不是Canvas的子对象,那么控件将不能被渲染,可以通过修改Canvas组件上的参数修改渲染方式2、场景中可以有多个Canvas对象:可以分别管理不同画布的渲染方式,分辨率适应方式等参数(不常用)注意:如果没有特殊需求,一般场景上一个Canvas即可第二个Canvas对象需要通过UGUI单独创建,即右键新建Canvas对象3、Canva.原创 2022-04-17 22:07:18 · 1065 阅读 · 0 评论 -
UGUI-- Canvas Scaler 分辨率自适应组件
1、CanvasScaler是什么用于分辨率自适应的画布缩放控制器,主要负责在不同分辨率下UI控件大小自适应,并不负责位置,位置由之后的RectTransform组件负责,提供了3种分辨率自适应的模式2、基本概念:(1)屏幕分辨率:Game窗口种的Stats统计数据窗口看到的当前“屏幕”分辨率(Screen)会参与分辨率自适应的计算(2)画布大小和缩放系数:选中Canvas对象后在RectTransform组件种看到的宽高和缩放(Width,Height,Scale)宽高 * 缩..原创 2022-04-17 22:16:56 · 1480 阅读 · 0 评论