ugui
林新发
Keep Reading , Keep Writing , Keep Coding.
展开
-
新发的日常小实验——Unity UGUI Image图片镜像对称效果(轴对称)
一、前言Unity中,为了节省美术资源大小,有些图片会采用镜像对称(轴对称)的方式显示,甚至图片只画1/4,然后通过程序镜像对称补全,那么,在UGUI中如何实现这个效果呢。二、效果展示支持左右对称、上下对称、上下左右对称,并且同时支持九宫格。三、GitHub工程地址Demo工程已上传到GitHub,感兴趣的同学可以下载下来学习。https://github.com/linxinfa/Unity-UGUI-MirrorImage四、代码工程中只有两个脚本:MirrorImage.cs [点击原创 2020-11-17 19:17:05 · 3414 阅读 · 1 评论 -
UGUI的Text描边Outline拓展
UGUI自带的Text,用outline做描边效果很不好Github上有人做了拓展,通过复制顶点的方式,不过这种方式很容易爆顶点数。Github地址:https://github.com/n-yoda/unity-vertex-effects原创 2020-07-30 15:41:46 · 3786 阅读 · 0 评论 -
Unity使用ScrollRect制作摇杆(UGUI)
文章目录一. 前言二. 实现1. 制作UI2. 运行Unity进行测试3. Rocker脚本代码一. 前言游戏开发中,摇杆功能是很常见的,Unity的UGUI提供了ScrollRect组件,非常适合用来制作摇杆,效果如下:二. 实现1. 制作UI如下,创建Rocker节点和center节点,分别为摇杆的背景图和摇杆的手柄图。Rocker节点挂上Rocker脚本(代码见文章最后),并赋...原创 2020-04-06 19:48:24 · 2114 阅读 · 2 评论 -
Unity横竖滑动列表嵌套(UGUI / ScrollRect)
文章目录一. 前言二. 实现1. 实现原理2. 制作横竖嵌套滑动列表界面3. 运行Unity进行测试4. CustomScrollRect脚本代码一. 前言游戏开发过程中,很可能需要制作横竖嵌套的滑动列表。如下效果:Unity的滑动列表会根据用户的操作行为捕获到对应的事件,但是Unity的事件一旦被上层UI捕获,下层UI就不会响应,如果是嵌套列表,那么二级列表就会劫持掉事件,导致一级列表无...原创 2020-04-06 19:23:20 · 4877 阅读 · 5 评论 -
Unity不规则按钮点击区域(UGUI)
文章目录一. 前言二. 最终效果三. 实现1. UIPolygon节点2. 编辑碰撞区域3. 运行测试4. UIPolygon代码一. 前言游戏开发中,可能有一些不规则按钮,而且必须严格检测不规则区域是否被点击到。一个常见的例子就是地图板块按钮。二. 最终效果三. 实现1. UIPolygon节点在Button的子节点创建一个空节点(这里重命名为UIPolygon),挂上UIPol...原创 2020-04-06 17:02:40 · 7092 阅读 · 2 评论 -
Unity循环滚动背景效果制作(uGUI)
运行效果制作过程1 导入一张图片,设置格式如下2 创建一个shader文件,对应的shader代码如下Shader "Unlit/ScrollX"{ Properties { _MainTex("Base Layer(RGB)", 2D) = "white" {} // 纹理 _ScrollX("Base layer Scroll...原创 2019-10-14 09:58:47 · 3413 阅读 · 3 评论 -
Unity UGUI性能优化: 找到引起网格重建的具体UI元素
通常UGUI界面操作卡大概率都是Canvas.SendWillRenderCanvases()方法耗时,需要检查界面是否存在多余或者无用的重建情况。由于界面很多我们无法定位到到底是哪个界面下的哪个元素引起了网格重建。通过观察CanvasUpdateRegistry.cs源代码,我们发现需要网格重建的元素都被缓存在这两个对象中。// CanvasUpdateRegistry.cs(部分代码)p...转载 2019-08-27 19:50:54 · 2094 阅读 · 1 评论 -
uGUI学习篇: 新手引导镂空遮罩与事件透传
前言新手引导我们经常需要制作这样的效果:全屏有个中间镂空的遮罩,引导玩家点击遮罩镂空的部位的按钮。在Unity中如何实现这个效果呢,以uGUI的方式为例,跟着下面的步骤开始吧第一步:shader脚本创建一个GuideMask.shader,实现镂空遮罩效果,代码如下:Shader "UI/GuideMask"{ Properties { [PerRendererData] _M...原创 2019-04-15 13:50:47 · 5727 阅读 · 4 评论 -
uGUI学习篇: Image镜像
UIImageMirror.cs脚本新建议一个UIImageMirror脚本代码如下:using UnityEngine;using UnityEngine.UI;/// <summary>/// 对UI图形进行镜像处理/// Image - Sample顶点顺序/// ------/// |1 /2|/// |0/ 3|/// ------/// <...原创 2019-04-14 12:22:27 · 874 阅读 · 0 评论 -
uGUI学习篇: Unity复用cell显示列表ui
Table ViewTable View是列表化显示多个项目的UI,当项目数量众多时,还可以滚动显示。cellTable View的各个项被称为cell。为什么要复用cell列表显示的项目数量很多时,如果对所有列表项目都创建cell的话,会消耗大量内存,性能会很低,为了控制内存的使用量,只创建画面内可显示的最小限度的cell,滚动时再次利用cell显示内容。怎么做1 创建滚动视图创...原创 2019-04-13 14:02:05 · 1596 阅读 · 1 评论 -
uGUI学习篇: Unity用脚本制作自定义字体
前言自定义字体(位图字体)就如同精灵的图集一样,是一种从排列有字符的纹理中裁剪任意字符进行显示的结构。由于是直接显示字符图形,比普通的字体具有更丰富的表现力。创建位图字体的软件我们需要先制作位图字体Bitmap Font Generator: http://www.angelcode.com/products/bmfont/位图字体创建后,将输出排列有字符的纹理以及记录有字符位置和大小等...原创 2019-04-13 12:43:59 · 1458 阅读 · 0 评论