- 博客(92)
- 资源 (9)
- 收藏
- 关注
原创 UnityUGUI流动效果轻松实现:告别复杂Shader,一招搞定动态背景
在Unity开发过程中,我们常常会遇到这样一个需求:将一张简单的图片通过平铺效果进行展示,以此来减少图片的大小。这个操作非常简单,只需将Image的Type设置为Tiled,然后调整RectTransform的尺寸即可。但有时候,产品经理会提出更高的要求:让这个图片动起来。这听起来有点麻烦,对吧?当然,我们可以通过写shader来实现这个功能,但现在,我要给大家介绍一个更简单的办法,只需用代码控制即可实现。
2024-07-04 10:56:33
1352
原创 Unity之自动生成预制体脚本
在Unity开发中有许许多多的UI界面,包含着不同的组件,比如Button、Image等,我们需要按正确的路径找到它们并持有它们,这个步骤在界面十分庞大的时候,会十分繁琐易错。本文介绍的自动生成代码工具就是为了解决这一困境,可以自动获取那些我们想要的组件,一键生成,希望对你有所帮助。
2023-01-31 19:20:08
4208
原创 Unity之UGUI-特效遮挡问题2.0
Unity之UGUI-特效遮挡问题2.0之前有发过一版特效遮罩问题,部分的解决了【图-特效-图 】结构式的展示问题链接。这次在git上找到一个非常好用的特效解决方案,可以支持Mask遮罩。效果图如图 使用了遮罩方案的特效可以按需求展示,未使用的在mask中是遮不住的。上面的item是使用了遮罩方案的,下面的item是未使用的。设计思路这里也就谈不上什么设计思路了,在git上找到一个特效处理方案。只需要挂载一个脚本,然后材质使用指定的shader,就可以在UGUI中按正常层级显示内容。场
2022-02-23 11:24:16
4481
2
原创 Unity之手机键盘自定义输入栏位置适配&不同手机分辨率适配
Unity之手机键盘自定义输入栏位置适配&不同手机分辨率适配效果图PC端展示手机端展示(手机是顶部带摄像头的IQOO Neo 5 )设计思路也没啥思路不思路的,就是获取键盘高度,在安卓获取安卓键盘高度,在IOS获取IOS的键盘高度,去找到对应的API即可。由于我做了屏幕适配,在有刘海的屏幕时,内容区域的大小会发生偏移,比如手机顶部有摄像头的手机肯定在顶部有一部分是非工作区域,我们在做应用的时候,通常会把底图铺满包含非工作区域,但是在实际交互界面会把这块非工作区域留出来,不是铺
2022-02-21 17:36:26
8043
10
原创 Unity之滑页效果&基于ScrollRect实现
Unity之滑页效果&基于ScrollRect实现效果图设计思路基于ScrollRect的基础功能,本身在ScrollRect下的Content内容就是可以滑动的,但是它的滑动不符合预期我们把滑动的效果设置为预期效果,那就需要获得开始滑动,滑动中,滑动结束的函数进行改造我们在开始滑动记录位置,滑动中的幅度值,滑动结束记录位置,然后滑动结束时控制滑动效果打过达到下一页的阈值,那就在让页面Lerp场景搭建代码工程项目...
2022-02-10 20:01:47
3170
1
原创 Unity之引导功能遮罩事件穿透
Unity之新手引导shader遮罩事件穿透效果图设计思路1.新手引导我们期待开发内容不影响正常的功能模块,意思就是分层,新手引导在正常功能之上2.新手引导层级用一层深色bg显示遮住正常功能层级,在需要引导的位置留出高亮区域3.在这个新手引导层做事件渗透,给指定的对象或UI做事件渗透,如果点击交互位置处于指定UI或对象范围内,让事件渗透新手引导层,到正常功能层。场景搭建搭建两个层级一个正常功能层级为Canvas下,一个新手引导层级在GuideHolder下。制作新手引导的预制体材
2022-02-10 19:53:06
6091
6
原创 Unity之红点树系统多层级高效能
Unity之红点树系统多层级高效能效果图设计思路可多层级嵌套树可显示数量可动态变更节点状态可动态注册节点或者撤销节点事件场景搭建代码参考工程项目
2022-02-10 19:45:41
3307
3
原创 Unity插件-OSA(Optimized ScrollView Adapter)
SimpleDataHelper 数据类mianexample的场景MainExampleMainSceneEntryObjectsVirtualParentOSABaseParamsBaseItemViewsHolderModelViewHolderAbstractViewsHolder
2021-07-31 12:06:49
4803
6
原创 数据结构&算法-动态规划
概念运行结果代码using System;namespace DynamicProgramming{ class Program { static void Main(string[] args) { DynamicProg dynamicProg = new DynamicProg(); int minnum = -1; int[,] cominfo = dynamicPr
2021-07-31 12:05:02
171
原创 数据结构&算法-回溯算法& 贪心算法
概念(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。运行结果using System;using System.Collections.Generic;namespace BacktrackingAlgor{ class Program { static void Main(s
2021-07-31 12:04:28
248
原创 数据结构&算法-快速排序
思路运行结果代码using System;namespace QuickSort{ class Program { static void Main(string[] args) { Sort sort = new Sort(); int[] array = new int[] { 3, 4, 1, 5, 1234, 3, 12, 21412, 42314, 4, 35, 4325, 78, 89,
2021-07-31 12:02:50
172
转载 数据结构&算法-AVL平衡二叉树
概念高度平衡的二叉排序树。我们将二叉树上结点的左子树深度减去右子树深度的值成为平衡因子。平衡因子的绝对值不大于1就是平衡二叉树了。运算结果代码using System;namespace AVLBalancedBinaryTrees{ class Program { static void Main(string[] args) { Tree tree = new Tree(); tree.In
2021-07-14 21:43:43
140
原创 数据结构&算法-图最短路径
对于网图来说,最短路径,是指两顶点之间经过的边上权值之和最少路径,并且我们称路径上的第一个顶点是源点,最后一个顶点终点。 /// <summary> /// 邻接矩阵 /// </summary> class LedByMatrix { int[,] _g; int INFINITY = 65535; public int[,] G { get => _g; } /// &l
2021-07-05 20:51:06
302
1
原创 数据结构&算法-线索二叉树
运行结果代码using System;namespace ThreadedBinaryTree{ class Program { static void Main(string[] args) { ThreadedBinaryTreeC threadedBinaryTreeC = new ThreadedBinaryTreeC(); string[] strarry = new string[] {
2021-06-10 21:29:22
132
原创 数据结构&算法-循环队列
概念解决假溢出的办法就是后面满了,就再从头开始,也就是头尾相接的循环。我们把队列的这种头尾相接的顺序存储结构称为循环队列。运行结果代码using System;namespace QueueCircular{ class Program { static void Main(string[] args) { QueueCircularC<int> circularC = new QueueCircularC&
2021-06-10 21:28:28
168
原创 数据结构&算法-共享栈
概念共享栈:两个栈共享同一片存储空间,这片存储空间不单独属于任何一个栈,某个栈需要的多一点,它就可能得到更多的存储空间;两个栈的栈底在这片存储空间的两端,当元素入栈时,两个栈的栈顶指针相向而行。图示运行结果代码using System;namespace SharingStack{ class Program { static void Main(string[] args) { SharingStackC<
2021-06-08 20:54:48
239
原创 数据结构&算法-逆波兰四则运算
从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
2021-06-08 10:19:40
449
原创 数据结构&算法-KMP匹配算法
using System;namespace KMPAlgorithm{ class Program { static void Main(string[] args) { string mainstr = "acdeebfgracacdacdefg"; string patternstr = "dacdef"; Console.WriteLine("=========普通匹配算.
2021-06-06 03:12:11
480
2
原创 Unity之跑马灯抽奖效果单抽与连抽
Unity之跑马灯抽奖效果单抽与连抽效果图单次抽奖效果跳过动画抽奖效果三连抽抽奖效果设计思路点击按钮 ,根据需求(概率)计算本次抽奖获得物品模拟转动 (先加速后减速), 一段时间后停止连抽的情况下等所有奖品动画都表演完成才结束跳过动画设计,有跳过时抽奖速度直接到最大,并进入可中奖场景搭建一个按钮,一个组奖品放到一个父物体上。奖品元素,有两种状态,一种旋转状态,一种中奖状态。代码using System;using System.Collectio
2021-05-09 20:59:17
3534
20
原创 听课笔记-《计算机科学速成课》34-40人工智能
文章目录视频链接视频目录笔记第34集·机器学习与人工智能 - Machine Learning & Artificial Intelligence1-4课笔记5-9课笔记10-14课笔记15-17课笔记-计算机发展18-21课笔记22-27课笔记-计算机交互视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 -
2021-04-21 20:41:11
815
原创 听课笔记-《计算机科学速成课》28-33网络与安全
文章目录视频链接视频目录笔记第28集·计算机网络 - Computer Networks1-4课笔记5-9课笔记10-14课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 - 二进制 - Representing Numbers and Letters with Binary5 - 算术逻辑单元 - How C
2021-04-21 20:39:36
902
原创 听课笔记-《计算机科学速成课》22-27计算机交互
文章目录视频链接视频目录笔记第22集·命令行界面 - Keyboards & Command Line Interfaces第23集·屏幕 & 2D 图形显示 - Screens & 2D Graphics1-4课笔记5-9课笔记10-14课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4
2021-04-15 00:33:24
748
原创 听课笔记-《计算机科学速成课》18-21操作系统
文章目录视频链接视频目录笔记第18集·操作系统 - Operating Systems第19集·内存 & 储存介质 - Memory & Storage第20集·文件系统 - Files & File Systems1-4课笔记5-9课笔记10-14课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gat
2021-04-12 20:25:58
436
1
原创 听课笔记-《计算机科学速成课》15-17计算机发展
文章目录视频链接视频目录笔记第15集·阿兰·图灵 - Alan Turing1-4课笔记5-9课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 - 二进制 - Representing Numbers and Letters with Binary5 - 算术逻辑单元 - How Computers Calcu
2021-04-12 10:11:57
462
原创 听课笔记-《计算机科学速成课》10-14 编程基础
文章目录视频链接视频目录笔记第10集·编程史话第11集·编程语言第12集·编程原理:语句和函数1-4课笔记5-9课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 - 二进制 - Representing Numbers and Letters with Binary5 - 算术逻辑单元 - How Comput
2021-04-07 13:34:35
745
1
原创 听课笔记-《计算机科学速成课》5-9计算机硬件
文章目录视频链接视频目录笔记第5集·算术逻辑单元 - How Computers Calculate - the ALU半加器全加器浮点数表示第6集·寄存器 & 内存 - Registers and RAM1-4课笔记视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 - 二进制 - Representing N
2021-03-30 22:46:51
1060
原创 听课笔记-《计算机科学速成课》1-4计算机历史
本人非计算机专业转行做游戏程序,愈发觉得自己计算机专业知识匮乏,机缘巧合发现了这门课程,CRASH COURSE 出品的 COMPUTER SCIENCE,想要快速的系统的了解计算机相关知识,这门课真是太适合不过了。本篇只针对课程中不易理解的难点和重点进行梳理介绍。下方为哔站该课程视频链接。视频链接视频目录1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & L.
2021-03-24 23:15:13
783
原创 12个球找其中一个不同
有 12 个球,外形相同,其中一个小球的质量与其他 11 个不同,给一个天平,用3次把这个小球找出来并且求出这个小球是比其他的轻还是重。12个球分A、B、C三组 ,每组各4个,为: A1、A2、A3、A4 B1、B2、B3、B4 C1 、C2 、C3 、C4第一步将A组和B组放到天平两端,会有三种情况,一.相等 二.A组重 三.A组轻。第一种情况相等说明有问题的在C组,A组B组都正常,在C组挑选3个球假设就是C1、C2、C3,在A组随意选一个假设是A1, 第二步将A1和C1放在
2021-02-08 00:26:38
906
6
原创 Unity之项目优化-精度优化
文章目录前言一、优化前二、优化1.思路2.代码3.操作三、优化后总结前言随着工程项目的推进,项目资源性能优化提上日程,其中有一项是动画资源精度过高的问题,导致占用内存过大。我们需要将浮点数的精调小至2位小数,或者更少或更多。一、优化前打开anim的文本如下接下来我们就要对此进行优化,将所有小数精确保留到两位小数。二、优化1.思路怎么优化呢?我们要先获取anim文件,将anim文件转为文件流,然后对此进行操作,检索里面的内容,如果内容中含有小数的情况,就把该小数精确到2位,然后覆盖到原
2021-02-02 22:10:01
1705
原创 Unity之加载与生命周期时机问题
文章目录背景案例展示1.场景资源搭建2.编写代码总结背景开发中有时发现,使用GameObject go = Instantiate<GameObject>(Prefab, panel);加载出来的对象,获取其挂载的脚本,然后调用里面的方法,发现报错空引用。查找问题发现加载和获取调用的方法都没问题。唯其父物体是隐藏的,运行前将父物体先显示出来,就没有这个问题。案例展示结论:加载出来的对象,其脚本的生命周期函数要在对象显示后才执行。1.场景资源搭建2.编写代码/// <s.
2021-01-28 23:16:16
514
原创 Unity之TMP_InputField-输入字符数限制
文章目录前言思路代码工程项目前言我们在开发过程中遇到需要使用输入框的情况,输入框要做字符数限制,很便捷的InputField检视面板会有公开的字符数限制调节。但是你会发现,无论是英文字符还是中文字符,它都是一视同仁的,这就很难受了,因为从展示上,中英文的位宽是不一样的,我们需要英文字符数显示的多一些,中文字符数少一些。下面就来解决这个问题。思路我们知道英文字符在UTF-8的模式下只占1个字符,中文占2-5个字符,还有其它各类字符,我们这里主要考虑中英文, 通常来讲,我们可以限制一下输入内容的总字
2021-01-28 23:06:24
6776
原创 Unity之UGUI-特效遮挡问题
一.问题背景在项目开发过程中,美术和特效时常会给你出一些难题,比如在一张Image上展示一层特效,然后又在这层特效上展示一张Image,这一坨为一个独立元素,还得在滚动框里滑动,滚动的时候,遮挡逻辑依旧有效。 上图二.解决方案 动画效果预览三.代码四.工程项目参考:Unity 使用 Spine 动画spine unity官方文档...
2021-01-10 00:44:59
6065
1
原创 热更新之Lua语法基础
lua与C#不同,它是解析型语言,弱类型数据一.HelloWorld与注释演示-- 分号可写可不写-- 用于打印Lua内容的语法print("Hello world!")-- 这是Lua的单行注释--[[ 多行注释不可嵌套 这是Lua的多行注释]]--[[ 这也是Lua的多行注释 为了好看--]]对比书写C#Lua函数关系有明确的所属类一个独立的方法, 无明确的所属类代码结尾必须以;结尾,否则语法错误不需要结尾符号,或者以;号结.
2020-08-20 16:52:00
773
原创 Unity获取手机设备唯一标识-方案探讨
讲解当前环境下 获取安卓手机设备唯一标识的可行方案, 分析优劣势以及容易踩的坑.前言公司开发的游戏需要对用户设备进行标识,获得一个稳定可靠并且唯一的识别码,来作游客登录。并考虑后续玩家从游客换成账户登录数据要同步过来。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。下面汇总了一些能作为设备唯一标识的方案。方案方案大致分为三个方向安卓系统原生
2020-07-18 10:59:47
5403
原创 Unity之网络模式&网络通信(HTTP & TCP/Socket)
TCP编程方法(C#)连接(三次握手)断开(四次挥手)监听绑定(服务器开发) unity运行时跑的是C++代码接收发送数据包处理实现聊天室主机要开启IP端口,数据从这些开启的端口进入,HTTP协议 默认端口 80端口,HTTPS协议 默认端口443端口. 分入端口和出端口. IP协议实现主机的网络定位,操作系统端口实现数据的流入和流出.套接字就是将IP地址与主机端口号合并在一起...
2020-04-10 21:33:37
5045
原创 《生存之战》经验整理总结
开发思想任何一款游戏的开发都有一个过程,这个过程不管是简单的还是复杂的,都会有一定的流程和顺序。作为还未熟练掌握游戏开发框架的人员来说开发中具备拆解和迭代思想就显得格外重要。要知道整个大型项目分割为若干个大的功能模块,大的功能模块再细分为针对性的子模块,子模块细分为具体的功能类,然后从最小的功能类一步一步实现整个项目。模块划分没有标准答案明知要划分合理,方便开发,就是好的划分,功能开发不是一次...
2020-03-06 16:35:01
463
1
ProtoGenTool.zip
2020-04-16
unity_with_android-masterCarol.zip
2019-12-23
LitJson.zip
2019-08-21
LitJson.7z
2019-08-21
Excel表读取插件.zip
2019-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人