UGUI
文章平均质量分 65
UGUI是Unity官方推出的新一代交互系统,与传统的GUI相比,它具有使用灵活、界面美观、支持个性化定制的特点
四夕立羽
这个作者很懒,什么都没留下…
展开
-
unity3d:TabView,UGUI多标签页组件,TreeView树状展开菜单
1.最外层DataForm为空壳编辑数据用。可以有多个DataForm,例如福利DataForm,抽奖DataForm2.Menu层为左边栏层,每个DataForm可以使用不同样式的MenuForm预制体3.DataForm中使用ReorderList,可排列配置4.有定位功能,跳转到对应页签5.DataForm具有树状图管理,1级,2级菜单6.PageForm为每个页签的具体生命周期脚本,由DataForm控制。需要显示时如果没加载过,从资源加载。原创 2024-07-28 00:41:46 · 1973 阅读 · 0 评论 -
Unity3d:UGUI,UI与特效粒子层级,2018.2以上版本BakeMesh,粒子在两个Image之间且在ScrollView
ui上面展示粒子一般来说有两种方案1.通过rendertexture渲染,可以完美处理层级问题,不过性能不好,多个摄像机2.直接放到ui界面调整特效sort in layer,不过如果ui特效穿插多,层级不好管理,且多canvas造成合批问题现在来第三种方法粒子BakeMesh(要2018.2以上版本)来自Github:https://github.com/mob-sakai/ParticleEffectForUGUI优点:可像UGUI一样通过上下调整层级排序,接受Mask处理各方案比较粒子原创 2022-03-27 11:18:51 · 5669 阅读 · 1 评论 -
Unity3d:UGUI源码,Rebuild优化
Image怎么绘制的Unity中渲染的物体都是由网格(Mesh)构成的,而网格的绘制单元是图元(点、线、三角面)绘制信息都存储在Vertexhelper类中,除了顶点外,还包括法线、UV、颜色、切线。Rebuild概念Canvas负责将子节点的UI元素的网格合并,并生成相应的渲染指令再发送到Unity的图形管道的过程。所以Canvas就是渲染UI的组件,当UI发生变化就要执行一次Batch,它是影响性能更大的元凶。注意Canvas的Batch只会影响其子节点,但不会影响其子Canvas。Rebui原创 2022-03-23 23:09:00 · 4404 阅读 · 0 评论 -
unity3d:UGUI源码EventSystem输入系统常见问题
1. button从按下到响应的过程1.先是EventSystem在Update中调用当前输入模块InputModules的Process方法处理所有的鼠标事件,2.并且输入模块会调用RaycastAll来得到目标信息,3.通过子物体未挂载IEventSystemHandler,再找父物体方式找到事件实际接收者并执行点击事件2. button子物体text也勾选了RaycastTarget,为什么是响应button,而不是text创建一个Button,那这个Button还包含了Text组件,如果t原创 2022-03-23 21:40:00 · 2502 阅读 · 0 评论 -
unity3d:UGUI优化条例
压缩格式:Android :推荐使用ETC,如果是带透明通道的,可选择ETC2;Ios:推荐使用PVRTC 4Bit格式同一个界面出现的 UI 资源尽量放到一个图集,重复利用的公用资源放common。图集的整体大小不要超过2048*2048立绘不要打图集,用rawimage禁止mipmap禁止ReadWrite九宫格或者平铺:fillCenter选项(是否渲染平铺或切片图像的中心),默认情况下该选项是勾选的,但如果九宫格的中间区域为透明图像,其实不需要勾选fillCenter。轴对称反转:如果.原创 2022-02-17 17:37:00 · 3687 阅读 · 0 评论 -
unity3d:UGUI层级设置有几种方式,最终是设置了什么
RenderQueue、SortingLayer、SortingOrder等的设置,让物体B挡在物体A前面SortingOrderSortingLayerRenderQueue最终设置了什么渲染流水线相关附Canvas组件反编译源码using System;using System.Runtime.CompilerServices;using System.Threading;using UnityEngine.Bindings;using UnityEngine.Scri原创 2021-12-07 21:25:32 · 4615 阅读 · 0 评论 -
unity3d:text描边
using UnityEngine;using System.Collections.Generic;using UnityEngine.UI;namespace Effects{ [RequireComponent(typeof(Text))] [AddComponentMenu("UI/Effects/BoldOutline")] public class BoldOutline : Shadow { public bool IsEcoMode原创 2020-10-23 11:46:45 · 1249 阅读 · 0 评论 -
unity3d:文字渐变色
using UnityEngine;using System.Collections.Generic;using UnityEngine.UI;namespace Effects{ [AddComponentMenu("UI/Effects/Gradient")] public class Gradient : BaseMeshEffect { public enum Type { Vertical,原创 2020-10-23 11:35:21 · 393 阅读 · 0 评论 -
unity3d:UGUI卷轴展开动画效果
卷轴式UI面板打开特效思路:content用mask控制x方向大小,用dotween两边的圆柱体同时dotween控制位置面板的结构为content 增加mask组件public class UGUIPanel : BasePanel { public UnityAction m_actOpenFinish; private CanvasGr...原创 2019-03-19 17:34:15 · 8391 阅读 · 7 评论 -
unity3d:悬停显示
using Framework.UI;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public enum EnHoverDir{ Up, Down}/...原创 2018-09-29 17:03:05 · 995 阅读 · 0 评论 -
unity3d:camera拖动与ui拖动互不影响
if (Input.GetMouseButtonDown(0)) { if (Application.isMobilePlatform && Input.touchCount > 0) { for (int i = 0; i < Input....原创 2018-09-28 19:14:19 · 822 阅读 · 0 评论 -
unity3d:ugui双击按钮
public class ClickEventListener : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler { public static ClickEventListener Get(GameObject obj) { ...原创 2018-09-27 11:04:45 · 1868 阅读 · 0 评论 -
unity3d:ui跟着gameobject移动
using System.Collections;using System.Collections.Generic;using UnityEngine;public class UiFollowObj : MonoBehaviour { Transform m_trans; public Transform m_followTrans; public GameOb...原创 2018-09-22 14:50:05 · 1019 阅读 · 0 评论 -
unity3d:背景根据字缩放,往一个方向
unity3d:背景根据字缩放,往一个方向原创 2018-09-14 14:51:20 · 788 阅读 · 2 评论 -
unity3d:ugui 每个字间隔间距
using UnityEngine;using System.Collections;using UnityEngine.UI;using System;using System.Collections.Generic;public class Line{ private int _startVertexIndex = 0; /// <summary>...原创 2018-09-07 10:10:48 · 1042 阅读 · 0 评论 -
UGUI判断鼠标或者手指是否点击在UI上
#if UNITY_ANDROID && !UNITY_EDITOR#define ANDROID#endif#if UNITY_IPHONE && !UNITY_EDITOR#define IPHONE#endifusing UnityEngine;using UnityEngine.UI;using System.Collections...转载 2018-08-21 20:23:14 · 439 阅读 · 0 评论 -
unity3d:使用一张静态图作为背景图
问题 Unity中常见的背景设置为固定颜色或者天空盒, 天空盒可以设置背景材质,但是背景跟跟随摄像机镜头的变化而运动,不能做到固定下来思路 使用两个摄像机,一个固定观察指定的图片,另一个观察三维场景,通过分图层来把两个摄像机的内容叠加显示在Game视图中解决方案 新建摄像机 新建一个摄像机,命名为BgCamera新建Ui图片 新建一个Canvas,其下再新建一个UI Ima...转载 2018-07-19 14:06:31 · 22920 阅读 · 5 评论 -
unity3d:ugui滚动层滑动与item点击事件的冲突处理
using UnityEngine;using System.Collections;using UnityEngine.Events;using UnityEngine.EventSystems;public class ClickListener : MonoBehaviour, IPointerClickHandler{ public delegate void Void...原创 2018-06-12 10:31:59 · 5018 阅读 · 0 评论 -
unity3d:ugui 长按按钮
using UnityEngine;using System.Collections;using UnityEngine.EventSystems;using UnityEngine.Events;public class RepeatButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitH...原创 2018-05-30 14:58:59 · 561 阅读 · 0 评论 -
unity3d:模型跟随鼠标运动,旋转
Vector3 screenPos = Camera.main.WorldToScreenPoint(transform.position); // 目的获取z,在Start方法 Vector3 mousePos = Input.mousePosition; mousePos.z = screenPos.z; // 这个很关键 Vector3 worldPos = Camera.mai...原创 2018-05-07 14:10:04 · 1943 阅读 · 0 评论 -
unity3d:ugui世界坐标朝向摄像机
using UnityEngine;using System.Collections;public class LookAtCam : MonoBehaviour { public Transform m_camTrans; // Use this for initialization void Start () { } void Update()...原创 2018-04-26 09:49:32 · 1731 阅读 · 1 评论 -
unity3d Shader:Ugui Text 穿透模型与背景显示
Shader代码Shader &quot;CustomUI/FirstText&quot;{ Properties { _MainTex (&quot;Font Texture&quot;, 2D) = &quot;white&quot; {} } SubShader { Tags { &quot;Queue&a原创 2018-04-13 10:59:52 · 1342 阅读 · 1 评论 -
unity+InputField事件,按enter确定,监听变化
m_inputSearch.onEndEdit.AddListener(delegate { InputEnd(m_inputSearch); });原创 2018-01-16 15:13:59 · 16438 阅读 · 5 评论 -
unity3d scrollview 滚动层dotween移动到指定位置:例如有10项,滚动到第9项
using UnityEngine;using System.Collections;using UnityEngine.UI;using DG.Tweening;public enum ScrollLayoutType{ Grid, Vertical}//只能竖直方向的滚动public class ScrollToItem : MonoBehaviour {原创 2017-12-02 01:01:00 · 4867 阅读 · 1 评论 -
Unity3d+moba+UGUI摇杆
1 功能描述使用UGUI制作摇杆,摇杆的初始位置是可变的,当按下同时改变Bg位置和thumb位置,当松手时Bg,thumb返回初始原位。主要函数:ScreenPointToLocalPointInRectangle,Vector3.Distance。2 详细设计Bg为摇杆的大圆背景,thumb为中心小圆,JoyCollider为可触发碰撞区(可设置大小,只有按在此区域才能触发摇杆的操作)2.1 主...原创 2016-05-03 03:47:34 · 2148 阅读 · 2 评论