![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity之UGUI
文章平均质量分 80
萌新求带
Gamer.
展开
-
【Unity3d】ScrollRect自动定位到某点
游戏开发过程中,经常遇到ScrollRect自动定位到某点的需求。比如,打开关卡列表时自动定位到最新关卡。下面就来介绍下怎么实现。转载 2022-11-28 14:55:35 · 1699 阅读 · 0 评论 -
浅谈Unity UI适配(二)
书接上回,继续讲CanvasScaler的第二种适配方式,ScaleWithScreenSize。原创 2022-08-29 22:39:31 · 1801 阅读 · 0 评论 -
浅谈Unity UI适配(一)
最近想换工作,在准备面试,突然想起了三年前一个没有答上来的问题,就是Unity的UI有几种适配模式,都是什么意思。当时支支吾吾半天没讲出来,今天必须搞懂它。原创 2022-08-22 20:44:57 · 4128 阅读 · 1 评论 -
Unity/Auto Layout -- 理解Layout Elements(布局元素)
详见https://blog.csdn.net/qq_28849871/article/details/79528697原创 2020-11-03 16:50:02 · 133 阅读 · 0 评论 -
[UnityUI]UGUI射线检测
1.Graphic Raycaster主要用于UI上的射线检测,挂有这个组件的物体,必须要挂上Canvas这个组件(当挂上Graphic Raycaster时Canvas也会自动挂上)。Ignore Reversed Graphics:是否忽略反方向的图形,如果为true,则表示图形正面展示时,会接收到射线检测;反面展示时,不会接收到射线检测;否则,正反面展示都会接收到射线检测转载 2018-03-02 11:11:39 · 3461 阅读 · 0 评论 -
Unity面板显示中文属性
虽然对于程序来说,一般习惯用英文命名,但有时身在公司,总是需要和策划协作的,他们可能看不懂一些英文变量,所以为了方便交流,我抽空研究了下Unity属性面板中文化的问题。有两种方法可以实现中文属性名:1.使用Unity内置的HeaderAttribute[Header("这是Header命名")]public bool testHeader;在字段上方这样书写代码,编译成功后我们可以在Unity属...原创 2018-04-12 10:43:08 · 6954 阅读 · 2 评论 -
关于学习CanvasGroup的总结及应用
1、关于CanvasGroup的的学习Canvas Group可以用来控制一组不需要个别控制的UI元素的某些方面,CanvasGroup的属性会影响他所有children的GameObjectCanvas Group下各功能详解:Alpha:这个选项很多组件都有,用处也是一样的,在美术中,这个叫做Alpha通道的东东是用来控制透明度的,他的值从0到1.0是完全透明,转载 2018-05-08 16:15:50 · 529 阅读 · 0 评论 -
UGUI优化最强总结(一)
自从Unity问世以来,UI一直都存在比较大的问题,自带的OnGUI不能所见即所得,制作过程比较麻烦。于是出现了很多第三方的优秀的UI插件,比如很多项目里面用到的NGUI,或者后来出的FairyGUI。Unity官方在4.x时代开始推出了自己的新UI系统,名为UGUI。由于是官方出品,所以选择使用的人也比较多。阿赵我也是基于信任官方出品的心理,在最近的两个项目里面都使用UGUI进行开发。UGU...转载 2019-09-19 19:41:31 · 608 阅读 · 0 评论 -
ugui在运行时改变RectTransform的大小
在代码中动态改变RectTransform大小的方法如下所示:1:直接对sizeDelta属性进行赋值,其中X和Y可以对应理解成width和height。sizeDelta的具体含义:若achors是一个点的话则代表宽高,否则为到锚点的距离var rt = gameObject.GetComponent<RectTransform>();rt.sizeDelta = new Ve...转载 2019-09-21 16:11:08 · 133 阅读 · 0 评论 -
取消勾选RaycastTarget,优化UGUI效率
无意间发现了一个小技巧。如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题。 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的。 但是问题就来了,Unity默认在hierarchy窗口Create->UI->Ima转载 2018-01-26 11:52:21 · 1744 阅读 · 0 评论 -
Unity GUILayout(界面布局)
学习资料:《Unity 3D游戏开发》 宣雨松 在跨平台游戏界面设定的时候,最麻烦的估计就是得匹配个个游戏平台的分辨率。甚至相同的平台也会有不同的分辨率。这无疑很浪费时间和精力。因此,在设计游戏界面的时候,千万不要使用绝对坐标。不然当分辨率发生变化后,就得重新计算坐标。为此GUI提出一个游戏布局的概念,并且在布局中的所有坐标都是相对坐标。这有利于跨平台实现。转载 2018-01-05 14:26:56 · 4537 阅读 · 0 评论 -
Unity层 详解
层层最常被相机 (Camera)用来仅渲染场景中的一部分,被灯 (Light) 用来仅照亮场景中的某些部分。但层还能由光线投射 (raycasting) 用来有选择地忽略碰撞体或用来创建碰撞。创建层第一步是创建我们可以分配给游戏对象 (GameObject)的新层。要创建一个新层,请打开“编辑”(Edit) 菜单并选择工程设置 (Project Settin翻译 2016-11-15 19:34:29 · 1211 阅读 · 0 评论 -
Unity3D的四种坐标系
1, World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。2, Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。注:鼠标位置坐转载 2016-12-07 22:48:39 · 289 阅读 · 0 评论 -
ugui学习——可动态改变Content大小的ScrollView
首先,scrollView根据需要的可以自己改。Horizontal代表水平方向滚动,vertical代表竖直方向。MovementType 移动模式Inertia 鼠标放下后还可以动一点点。scrollbar可以根据需要的自定义,也可以不要。然后,在content里面加入GridLayOutGroup,使底下的东西按照网格排放。Pa转载 2017-08-02 09:56:47 · 1350 阅读 · 0 评论 -
unity渲染层级关系小结
最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来。 Unity中的渲染顺序自上而下大致分为三层。 最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相转载 2017-08-03 15:49:49 · 299 阅读 · 0 评论 -
调整SortingOrder解决UGUI中粒子层级问题
为了做出更酷炫的的UI效果,通常要在UI中加入粒子效果。但与纯2D的UI动画或Spine不同,粒子在场景中制作,会存在与UI的穿插问题。本文探讨如何更改特效或UI的SortingOrder避免穿插。前提条件首先,Canvas的类型是一切的基础,我使用的Canvas是Screen-Space ,所有UI通过一个正交摄像机照出来。制作UI通常使用这种模式,本文不讨论其他情况。核转载 2017-08-31 15:45:22 · 1204 阅读 · 0 评论 -
Unity的按钮不响应点击
如果你的UI物体有button组件,但无论怎么点都没反应,那可能是出现了下面五种情况:一、你把Button从一个场景复制到另一个场景。而另一场景里没有EventSystem,所以无法处理点击事件。二、你做了一个像我这样的操作:为了把一个指向左边的箭头,改为指向右边,把button旋转了180度。这样是点击不到按钮的。那如果你想改变箭头方向,又想点击到按钮怎么...原创 2017-11-03 10:17:33 · 51618 阅读 · 23 评论 -
TransformPoint和TransformDirection函数
TransformPoint:将子物体的相对坐标转换为世界坐标Vector3 wantedPosition = target.TransformPoint(x_, height, -distance);得到的wantedPosition为 localPosition为(x_,height,-distance)的target的子物体的 世界坐标Tra转载 2017-11-13 17:02:32 · 374 阅读 · 0 评论 -
动态修改RectTransform的值
首先,可以阅读下这篇文章,里面将这个组件讲的很透彻。用uGUI的时候。经常需要动态改变RectTransform的值, 当选择不同的布局。你会发现这里的值是不同的offsetMin 是vector2(left,bottom);offsetMax 是vector2(right,top); //原创 2017-11-18 14:13:59 · 6618 阅读 · 0 评论 -
Unity 5.0 无法通过GUIText类型在脚本中调用画布中的text文字
修改后的方法:1:添加命名空间using UnityEngine.UI;2:修改参数类型//UI文字Text txt_ammo;Text txt_hiscore;Text txt_life;Text txt_score;3:修改调用方法//获取设置的UI文字txt_ammo=this.transform.FindChi转载 2016-09-14 13:18:43 · 2119 阅读 · 0 评论