Unity
W低小调W
好好总结,才能提高
展开
-
关于Unity序列化和反序列化字典
Unity 序列化和反序列化字典代码运行结果显示Mark一下原创 2023-02-21 15:44:21 · 368 阅读 · 0 评论 -
Unity关于世界坐标和UI上的坐标转化成屏幕坐标的方式
代码如下注意要搞清楚当前坐标属于哪种坐标,然后,相对指定的Camera转化using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 关于坐标相对Camera的转换/// 这里说到的是,有时候UI上的坐标和世界中的坐标想做动画,然后转化的问题/// </summary>public class TestCamera : MonoBehavio原创 2021-11-23 14:07:49 · 3674 阅读 · 0 评论 -
Unity客户端管理MySql数据库
背景当需要开发一个客户端直接对数据库进行增删改查操作的时候,可以在PC操作,可以打包成apk放在手机上操作[注意:othersetting/Configuration中的Api Compatibility Level 改为.NET 4.x,才可以链接数据库]操作代码Demo 040 下载链接:https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.2014.3001.5501...原创 2021-09-20 12:12:01 · 177 阅读 · 4 评论 -
Unity 时间相关[DateTime]
Unity&C# Time时间相关1.Unity Time类1/ Time.time 表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。2/ Time.timeSinceLevelLoad 表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。3/ Time.deltaTime 表示从上一帧到当前帧时间,以秒为单位。//计时器通过这个使用,update里把Time.deltaTime累加起来,就是经过的时间4/ Time.fixedTime表示以秒计游戏开始的时间,固定原创 2021-09-02 10:31:20 · 2993 阅读 · 0 评论 -
Unity编辑器开发之中文名称转拼音
背景开发中可能有涉及到一些中文命名的文档,文件夹等,这时候手动更改的话太麻烦,这个工具可以在选中后,一键更改名称,使用简单。使用演示导入工程后选中后,右键目标文件:点击选择即可:Demo039 下载链接:https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.2014.3001.5501...原创 2021-07-23 14:45:19 · 845 阅读 · 2 评论 -
unity计算Text中文字的长度
返回值为长度 private float CalcTextWidth(Text text) { TextGenerator tg = text.cachedTextGeneratorForLayout; TextGenerationSettings setting = text.GetGenerationSettings(Vector2.zero); float width = tg.GetPreferredWidth(text.text, s原创 2021-06-22 10:36:07 · 1214 阅读 · 2 评论 -
Unity Behavior Tree的实现
背景项目开发过程中经常会遇到写AI模块,比如自动寻路,敌人的自动查找,使用一套AI去实现是必要的AI足球射门效果这是由行为树实现的一套足球射门的Demo演示视频https://live.csdn.net/v/165921Demo_037链接(源码编号1,Demo编号2)https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.2014.3001.5501...原创 2021-06-06 22:26:07 · 199 阅读 · 2 评论 -
Unity关于TabView界面快速实现
背景开发过程中,可能会遇到点击Tab去切换一个界面的问题,有时候虽然可以实现功能但是代码过于臃肿,显得非常不易于维护。实现原理这种方式实现是基于Unity自带的ToggleGroup和Toggle扩展实现的,部分利用自带功能,最终达到效果。运行效果图演示视频https://live.csdn.net/v/165916Demo_036下载链接:https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.2014.3原创 2021-06-06 22:09:24 · 680 阅读 · 0 评论 -
Unity 使用ScriptableObject存储数据工具
背景开发过程中,我们可能会将一些数据保存起来,用来写表,或者参照适配,使用ScriptableObject是一个不错的方案操作流程1.创建测试的prefab ,RectTransform 简单的设置Pos 和Scale2.点击数据导入asset3.出现一个文件,这里有提取的有效信息4.点击尝试读取存储的内容即可获取。Demo_035下载链接:https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.20原创 2021-05-13 18:38:13 · 220 阅读 · 0 评论 -
Unity 关于使用泛型方法和接口规范解析数据方法实现
背景在开发过程中,为了减少代码量,使用接口进行约束,最后完成数据的解析。实现的原理,泛型方法中对接口约束,只有继承目标接口的类可以使用,类中实现了接口方法,同时将解析好的数据装入模板类中,完成功能。其他有类似功能的实现,只需要继承目标接口即可。using LitJson;using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test28 : MonoBehaviour{原创 2021-03-26 17:15:35 · 322 阅读 · 0 评论 -
Unity使用数据结构实现红点树(红点树实现在探索)
背景最近彷佛跟红点树杠上了,非要寻找一种相对来说最佳的红点树方案。前面有两篇文章,同样也实现了红点树方案,但是,在我看来,仍然不是最佳方案。经过几天的思索,终于有一个相对来说比较高效的红点树实现方案了。实现原理...原创 2021-03-18 19:00:41 · 778 阅读 · 0 评论 -
Unity翻页书效果实现
背景在开发过程中,由于效果的需要,可能会实现UGUI翻页书效果,动态切换图片,满足需求,这时候可以使用这个案例。实现原理通过拖拽方法动态模拟阴影和遮挡关系,切换图片,达到翻页书效果。运行图片演示视频链接:Demo_033下载链接:https://blog.csdn.net/qq_25122429/article/details/114098885?spm=1001.2014.3001.5501...原创 2021-02-28 13:58:43 · 1598 阅读 · 0 评论 -
Unity Excel快速导出Json,CSV,XML文件工具
背景开发过程中,我们经常需要同策划对接表格相关需求,流程为,策划改表,输出提供给服务器和前端使用。Unity 可以通过此工具快速的导出Json文件,或者CSV文件,或者XML文件,可以按需求导出。这里演示的是转Json文件,然后,Unity读取数据(详细的操作内容附文档,亲测可用)...原创 2021-02-27 17:56:39 · 405 阅读 · 0 评论 -
Unity循环列表Item实现
背景在游戏开发中,Scroll View列表加载大量Item导致卡顿的问题,此时如果将数据缓存下来,使用定量的Item循环加载数据,让Item显示数据,将会避免卡顿问题。演示图片视频演示链接:Demo_031下载链接:https://editor.csdn.net/md/?articleId=114098885...原创 2021-02-27 14:48:59 · 550 阅读 · 0 评论 -
Unity 整理的Demo案例
微信扫码获取资源说明这些资源都是平时写项目的时候积累的,可以拿来直接使用。资源功能详细说明都在博客中提到,如果不清晰可以翻看博客内容。注意查看对应Demo的序号!注意查看对应Demo的序号!注意查看对应Demo的序号!有其他问题欢迎留言哦。。。。。。.........原创 2021-02-25 18:40:04 · 3438 阅读 · 12 评论 -
Unity编辑器下红点树实现方案
背景开发过程中,经常会对装备,背包,邮件等按钮设置红点状态,内部的查看状态,影响外部红点状态,这时候加入红点树方案,会方便,快捷,易于管理。上篇文章的方案不是最佳,刚好发现一种比较不错的方案。操作流程1.在编辑器下定义好红点树节点,然后保存在Json文件中。2.运行状态下显示红点信息,动态改变红点状态。部分运行图片预览状态演示状态红点树编辑模式演示视频链接:Demo_030下载链接:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrl原创 2021-02-24 21:22:42 · 347 阅读 · 0 评论 -
Unity红点树实现方案
背景开发过程中,按钮基本上上都会用到红点显示,提醒玩家有未领取的奖励或奖品,以及装备等等。红点方案支持嵌套是必要的要求,红点显示也会关联其他地方红点状态。这里有其中一种实施方案。运行图片个人心得这套代码是在github中无意间找到的,研究后个人感觉:优点:实现了基本的红点显示逻辑,能够达到基本要求缺点:不是动态更改数据,来驱动红点更改的(需要设置状态重新运行),如果动态显示红点,需要做修改(emmm,本来是要修改一版的,没时间呀,有机会再试试看。。。。)...原创 2021-02-24 16:58:33 · 403 阅读 · 0 评论 -
Unity 使用NPOI操作Excel文档
背景Unity 直接操作Excel表格数据,写入和读取操作。核心代码using System;using System.Data;using System.IO;using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserModel;public class ExcelUtility{ /// <summary> /// 将excel导入到datatable /原创 2021-02-22 19:55:29 · 1035 阅读 · 0 评论 -
Unity 关于Activator.CreateInstance使用
创建实例用法using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test26 : MonoBehaviour{ // Start is called before the first frame update void Start() { var node = (JK)Activator.CreateIn原创 2021-02-07 14:38:17 · 1780 阅读 · 0 评论 -
Unity 关于摇杆技能实现
背景在Moba有开发中类似王者农药的操作,摇杆式触发定位技能并触发。今天偶然间翻出一份代码,细致的了解了下,稍微做了优化。做下记录实现方式技能的实现主要采用的是接口是开发,大概是容易后期的扩展,技能有三种方式,线型,扇形,直接定点投放,(还有一种缓动线型,这里合并在一起了),技能投放区域,是通过网格计算得来的,算出目标,然后发射小球,完成技能释放。演示图片:这个是演示视频链接:Demo_027 下载地址:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2原创 2021-01-31 16:41:37 · 387 阅读 · 4 评论 -
Unity 关于摇杆控制人物移动及触发各个动作
背景开发过程中,我们经常会用到摇杆控制3D人物行走,以及发出各个技能动作,以及小地图的使用,这个Demo通过一个小的案例,演示了一种实现方式(有更好的方案欢迎提供)演示图片:演示视频链接:Demo_026下载地址:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6...原创 2021-01-31 14:21:15 · 691 阅读 · 1 评论 -
Unity 关于UGUI雷达图实现
背景游戏开发中,为了可以明确看到玩家的各个数值信息相对情况(比如:某农药游戏,一局结束,用雷达图显示玩家,参团,输出等信息,雷达图显示一目了然,方便玩家了解自己每局发挥状态等)所以,雷达图在表现上具有一定的优势。实现实现方式主要使用VertexHelper类,重写Image类通过获取顶点位置,绘画出,几个顶点之间的区域,顶点的位置通过三角函数赋值,完成位置重置。核心代码using System.Collections;using System.Collections.Generic;using原创 2021-01-24 21:29:44 · 286 阅读 · 1 评论 -
Untiy轮播图卡牌方案
背景Unity开发过程中,UI表现效果有时候会用到轮播图显示卡牌,选中的当前卡牌在最前方,其他卡牌在两次,玩家可以滑动卡牌选中。演示图片:原理使用的DoTween插件,卡牌拖动检测使用IDragHandler,IEndDragHandler两个接口,卡牌数量可以任意添加,包括间距等等,按需求调整。视频演示链接:Demo_024下载链接:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6...原创 2021-01-24 16:18:41 · 751 阅读 · 2 评论 -
Unity 关于DoTween做的按钮动画集合
背景Unity游戏开发中我们为了美观,经常会做一些按钮动画,当点击按钮时,给玩家动态反馈,细节的表现,会给玩家带来更好的体验。实现这个Demo中囊括的大部分可用到的动画形式,都是通过DoTween实现的。最最重要的一点,你可以右键复制,在代码中直接Ctrl+V粘贴,直接使用方便,快捷。Demo_023 演示视频链接:Demo_023源码下载地址:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6...原创 2021-01-23 18:54:08 · 761 阅读 · 7 评论 -
Unity关于状态机控制原生Text实现文字渐显方案
背景在开发过程中我们想要实现文字一个一个的渐渐出现,使用DoTween仍达不到效果(个人尝试后的感觉,有可以实现的方法希望可以私聊我哈) 此时就需要一个可行性的方案。实现方法这里使用到了VertexHelper和UIVertex,大致的思想就是通过三角面和顶点的Alpha值来实现一个文字的整体显隐,以及单个文字的左右显隐的特点,用Unity 原生代码重写BaseMeshEffect类即可。部分核心代码 protected override void SetColor(List<UIVerte原创 2021-01-21 19:53:16 · 875 阅读 · 0 评论 -
Unity制作轮盘文字时钟
背景一个纯粹的为了娱乐的Demo 使用的LeanTween制作的动画,整体感觉很酷,喜欢的拿走吧。演示视频链接:Demo_021源码地址:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6原创 2021-01-19 19:30:18 · 278 阅读 · 0 评论 -
Unity 旋转动画演示
背景纯粹的娱乐下,-_-一个送女朋友的酷炫3D演示,代码非常简单,需要的拿走。演示视频链接:源码链接Demo_020:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6原创 2021-01-19 19:04:16 · 489 阅读 · 0 评论 -
Unity 关于艺术字用法实现
背景开发过程中经常会用到艺术字的表现方案,因为自带的字体达不到效果。如:暴击特效,飘字等等。这里提供一个Demo原创 2021-01-15 19:32:56 · 899 阅读 · 0 评论 -
Unity 关于SUIFW 框架实现及演示
背景开发过程中,需要UI框架,并且全屏UI处理,弹窗UI等,在搭建UI的时候都需要考虑到,如果是还有多语言需求,还需要预留接口。SUIFW 框架通过使用,在各方面表现都很不错。通过一个小的使用Demo,可以了解框架使用。(关于操作已经说的很详细了:https://blog.csdn.net/qq_42987283/article/details/103419804)演示链接:需要的话,Demo_018 下载链接:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW原创 2021-01-03 17:06:50 · 557 阅读 · 0 评论 -
Unity 3D环绕Demo
背景一个球形自动环绕小Demo ,可以娱乐玩下:Demo_016 需要可自取:链接:https://pan.baidu.com/s/1CP4FLttldNHW-gW2zUrlDA提取码:ncv6原创 2021-01-02 12:43:05 · 452 阅读 · 1 评论 -
Unity 关于检索器方案
背景开发过程中,可能会遇到,通过筛选id,然后做出不同的反馈。如:金币id,提示玩家,获得金币;钻石id,提示玩家获得钻石。。。。然后,这里通过一个方法管理,甄别id,然后对应显示提示。核心代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test24 : MonoBehaviour{ private readonly List<BasePar原创 2020-12-28 14:52:26 · 128 阅读 · 0 评论 -
Unity 关于Sort排序
背景开发过程中经常会遇到,按照多个条件排序的问题。传统的排序虽然也可满足排序要求,但是,代码看起来不够简洁。Sort 排序很大程度上简化代码。并且可以实现大多数的排序需求。核心代码如下:using System.Collections;using System.Collections.Generic;using System.Text;using UnityEngine;public class Test23 : MonoBehaviour{ private List<Num原创 2020-12-28 14:25:35 · 2841 阅读 · 0 评论 -
Unity 关于接口带泛型参数的使用
背景开发过程中,接口式开发很常见,但是,接口中有时会附带一些参数,对于新手来说,有时候会有些迷惑,所以写了一个简单的样例。Mark一下。using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public enum ActionType{ Idle, Walk, Run,}public class Test22 : MonoBehaviour原创 2020-12-25 17:05:46 · 680 阅读 · 0 评论 -
Unity 关于MVC使用
背景关于MVC,在某种程度的分离代码逻辑是必要的,可以提高代码的可维护性和重用性。核心代码:Model:using UnityEngine;using System.Collections;/// <summary>/// 模型委托(当用户信息发生变化时执行)/// </summary>public delegate void OnValueChange(int val);public class PlayerMsgModel{ //玩家等级原创 2020-12-17 16:46:55 · 100 阅读 · 0 评论 -
Unity关于读取本地文本数据文件
背景开发过程中难免会遇到读取StreamingAssets文件下的文本数据经过踩坑发现两种方式,其中一种方式移动端是读不到数据的,查了下资料发现,移动端需要使用WWW加载到内存中,移动端才能获取到。核心代码:using LitJson;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;public class Test19 : MonoBehaviour{原创 2020-12-11 16:58:09 · 821 阅读 · 0 评论 -
Unity关于画板工具开发
背景一个纯属娱乐的Demo ,也可能用于开发某些功能,但是最初的想法只是模仿画板,点击绘画,演示整个画面的开发呈现。操作及功能介绍点击加载整个画面按钮(这个画面依赖一张image,可以随意设置),然后呈现整个画面。此时,我们可以点击加载出来的图片,选择特殊点(特殊点即预览显示的时候首先出现的点),黑色的点就是特殊点。点击保存特殊点,此时是将特殊点记录在本地文本中。重新启动游戏,就可以看到动态加载特殊点,然后剩余的点在逐个填充。Demo_014 需要自取:链接:https://pan.baid原创 2020-12-11 15:51:26 · 423 阅读 · 0 评论 -
Unity关于程序和策划动画联调方案
背景在开发过程中,经常会遇到程序开发动画的环节,由于策划和程序从不同角度去看待的表现,程序只能通过策划口述动画表现,然后按照自己的理解去实现。但最终往往达不到预想效果,浪费了时间和精力。此时可以,让策划通过简单的Animation简单的调整,预览,然后达到自己想要的效果。程序通过工具转化为ScriptableObject文件,然后根据数据的变化,得到对应的曲线动画,达到和策划一致的动画表现。核心代码: [MenuItem("Assets/AnimationClip转曲线")] sta原创 2020-12-10 16:46:15 · 190 阅读 · 0 评论 -
Unity关于查找资源是否被引用
背景开发过程中我们经常会整理一些资源相关问题,如果资源未被引用或者以前的旧资源不在使用了,我们可以移除掉,减少项目的空间,这时候就需要查找,哪些资源处于闲置状态。using UnityEngine;using System.Collections;using UnityEditor;using System.IO;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Col原创 2020-12-09 17:26:26 · 1556 阅读 · 0 评论 -
Unity双向链表的使用
背景双向链表:有两个指针,一个指向前一个节点,一个后一个节点。优点:可以找到前驱和后继,可进可退;缺点:增加删除节点复杂,需要多分配一个指针存储空间。using System.Collections;using System.Collections.Generic;using System.Text;using UnityEngine;public class Test18 : MonoBehaviour{ private LinkedList<int> linkLi原创 2020-12-09 10:56:07 · 497 阅读 · 0 评论 -
Unity关于状态机实现方案
背景在开发过程中,有些动画状态,或者人物状态等需要每个状态达到可控的目的。传统的DoTween 虽然可以实现效果,但是可控性很差,此时用到动画状态机。侦听每种动画状态,并在相应状态添加触发事件,完成运行方案。核心代码using System.Collections.Generic;namespace Behaviac{ //状态机驱动方法[每个状态需要继承] public interface IStateCore { string Name { get;原创 2020-12-03 14:48:19 · 309 阅读 · 0 评论