自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Unity 添加Xlua热更新插件流程

首先去下载Xlua项目文件,链接如下https://github.com/Tencent/xLua解压后得到如下文件夹这里我们把Tools、和Assets2个文件夹复制进我们的项目即可。完成之后会看到报错,原因是因为有重复文件导致的,删除下图里的xlua,Xlua.Mini3个文件即可,Plugins/x86_64路径下的xlua也删掉即可接下来开启热更新,进入playersettings,找到player下的ScriptsingDefineSymbols选项 输入 HOTFIX_ENABLE

2021-01-25 16:10:13 283

原创 Unity Xlua热更新学习记录(二)

上次使用了完全替换AB包的形式达到更新的目的,这次我们使用HotFix标记来实现热更新,这里我们简单写一个lua的启动脚本和一个loader然后我们新建一个cube 来作为这次案例的对象并附给它一个控制移动的脚本这里我们把要进行热更新的类,方法打上热更新标签。类使用[Hotfix],方法使用 [LuaCallCSharp],经过我的实验,其实直接在方法上打上[Hotfix]也可以在lua里正常调用。(这里要注意,我一开始使用了2020.1版本的Unity,结果在Hotfix Inject In

2021-01-25 15:53:41 155

原创 UnityUI框架-从零开始的学习记录

今天闲了下来,把之前项目自己用过的UI部分进行了功能整理、修改,打算一点完善成一个UI框架。UI框架首先得了解,什么是UI框架,UI框架需要包含什么功能,因为我入行不久,在这里仅发布个人看法,UI框架是管理整个项目内UI的管理者,主要负责UI的加载、缓存、展示、隐藏等,一套完整的UI框架主要包括但不限于这4个功能,还会根据需求添加新功能,我自己写的还包括了:获取UIPanel字典内包含的GameObject/获取UI栈顶的GameObject,切换场景后根据历史记录重载UIPanel,销毁目标UI

2021-01-20 18:07:53 282 1

原创 Unity Xlua热更新学习记录

最近学习了lua语言,来实现一下替换UI和按钮事件简单的热更新。先看一下效果图,更新前:按钮事件(左1)热更新替换按钮事件后这个实现还是蛮简单的,我这里读取ad包的部分是C#完成的,UI管理类也是在C#里实现的,字典缓存加载过的UI,用栈来存储界面。(这里有个疑问,因为UI的预制体和lua脚本是一起打进AB包里的,那么用C#加载ab包启动lua脚本后,从lua调用UI管理类加载预制体时,只能通过AB包名字去Resources.FindObjectsOfTypeAll来获得AB包吗?也有想过缓存起来

2021-01-19 11:50:54 224 1

原创 Unity UniWebView内置浏览器插件

这是一个可以在APP内打开网页的插件,功能比较完善,这里记录一下使用使用方法:插件使用还是比较容易上手的,导入插件后,新建一个空物体,挂上UniWebView组件组件简单清晰,每个部分的功能和名字相同,这里就不赘述了我自己在使用中发现,当你在打开了网页之后,使用返回键关闭时脚本会自动销毁当前挂载UniWebView的对象,所以没办法在一个对象上重复打开其它网页,需要每次使用的时候生成一个挂载UniWebView组件的对象,然后调用对应的方法来启动网页启动方法:UniWebView webVie

2020-10-22 16:24:23 1144

原创 Unity Post Processing 学习

最近项目需要,所以在这里记录一下。介绍与安装Post-processing是将全屏的滤镜和特效应用于摄像机的图像缓冲区,然后渲染在屏幕上的过程。只需要花费较少的时间进行设置,就可以大大提高产品的视觉效果。此插件是unity自带的一款后期插件,可以从PackageManager里安装(我这里是用的是2020 1.0f1c1正式版 )如果发现列表里没有的话,那么把窗口上方的 查找方式改为UnityRegistry就可以看到了,安装之后便可以使用了。如下快速使用首先需要在相机上添加Post-pro

2020-08-10 10:51:57 1212

原创 Lua学习笔记

最近在学习lua,这里记录一下学习笔记print(“Hello world”) 输出到控制台lua里 单行注释 --这里是注释内容多行注释 --[[ 这里是注释内容 ]]–lua命名规则1、不能数字开头2、不能是关键字(如:and break do else elseif end false goto for function if in local nil not or repeat return then true until while)3、lua区分大小写

2020-07-28 11:22:50 716

原创 A*寻路学习,附代码

这几天学习了一下A*寻路,这里记录一下代码,网上有很多详细的教程,代码里注释很详细。这里就不赘述了,直接上代码首先是格子对象类/// <summary>/// 格子对象类/// </summary>public class AstarNode{ public int x;//格子坐标信息 X Y public int y; public float f;//格子消耗信息 public float g; public float

2020-07-02 14:20:10 264 1

原创 Unity Profiler功能记录

Profiler主界面 打开方法为上方工具条 Windows-Analysis-Profiler(我也正在学习此功能使用,如有那部分错了还请指出QVQ)左上角可以勾选我们要查看的部分这里以内存和CPU做演示,选中左边的Memory后下方的内容框就会变化如图unity会在运行时自动获取每一帧的内存占用数据项,大致分为:Other、Assets、BuiltinResources、Scene Memory、NotSaved这五个部分,每个部分记录的数据都很多很详细。如Other部分System.

2020-07-01 11:24:42 466

原创 Unity DoTwenn 用法记录

DoTween Unity UI常用动画插件,这里对其功能用法做一下记录通常情况下我都是直接使用如:transform.DOLocalMoveZ(5, 10);还有一种方法这是以类的形式去使用如:Tween t = DOTween.To(()=>this.transform.position, r => this.transform.position=r, new Vector3(5, 5, 5), 1);DoTween生命周期函数t.OnStart(TStar).OnKill(TKi

2020-07-01 10:48:53 925

原创 UI框架学习记录(UGUI)

当游戏里的界面多了之后,如果没有管理的话是很很不方便的,因此我在网上查找资料学习之后,写了一个简单版本的UI框架。目前功能很基础,后续会慢慢更新点击按钮可以打开对应的界面,并暂停所有其他界面(不可以交互),当关闭当前的界面后,上一个被打开的界面会恢复暂停状态(可以被交互)且可以按顺序回到上个界面,如打开界面的顺序为ABCD,从D开始关闭界面会依次打开CBA界面一共有如下几个类从面板基类开始,这里界面分为:进入事件,暂停事件,恢复事件,退出事件,还有关闭事件,包括一个初始化的方法。这里是用了canva

2020-06-29 14:52:55 133

原创 unity 游戏对象隐藏/显示 SetActive()与 Canvas group

在unity开发过程中,在UI方面通常会涉及到界面的隐藏和显示这里我自己常用的是SetActive()与 Canvas group,这里理一下两者的区别SetActive()在使用这个方法时,当参数会(true),就会触发MonoBehaviour.OnEnable()事件,就算对象之前本就是activeSelf==true,事件还是会调用;而在参数为(false)时,会触发MonoBehaviour.OnDisable()事件,和上方同理,就算对象之前就是activeSelf==false还是会调

2020-06-23 11:12:42 3990 1

原创 unity 2D Sprite遮罩 简单实现

首先新建2个Sprite,在遮罩物上添加SpriteMask组件,并且选择一张图片然后把被遮罩物当做遮罩物的子物体,在被遮罩sprite对象里有一个参数,如图None:不被遮罩影响Inside Mask:内遮罩 ,如图所示,被遮住的对象只会出现在遮罩物内部Outside Mask:外遮罩 ,如图所示,遮罩对象分会盖住被遮罩对象如果同一遮罩物下有多个被遮罩对象,这个时候想改变被遮罩物的层级关系时,需要一一分配Order in layer,如下图,数值越大层级越前,反之越后...

2020-06-09 11:02:11 6639 1

原创 C# String List截取、转换记录

string str = str.Substring(0, i);//截取字符串前i位 string str = str.Remove(i, str.Length - i);//移除字符串i位后面的字符=截取字符串前i位 string str = str.Remove(0, i);//截取字符串i位之后的字符串 string str = str.Substring(i);//截取字符串i位之后的字符串 string str = str.Substring(str.Length - i);..

2020-06-04 16:34:42 863

原创 AnimationEvent的坑

在使用代码添加事件的时候,所添加的事件所在的脚本必须和动画对象挂在一起,否则就会报错

2020-06-03 16:11:09 1813

原创 Unity 无限循环ScoreView (垂直或者水平2种展示)

记录一个昨天刚做的无限循环ScoreView ,这个比较简单,网上教程很多,我这里就不详细说了,代码都有注释,直接上代码。首先是的scrollView Item类,这个类主要用于检测,某个Conten下的对象,是否需要回收,是否需要调用被回收的对象public class LooPItem : MonoBehaviour{ private RectTransform selfRect; //获取自身的rect private RectTransform scrollViewRe

2020-05-27 10:39:35 484

原创 学习记录,Unity UIText 逐字展示功能

废话不多说直接上代码public class Text_ : MonoBehaviour{ public float textShowTime_Second = 0.2f; private string content = "这是测试这是测试这是测试这是测试这是测试"; public bool isActive = false;//是否正在输出 private...

2020-04-28 14:43:30 346

原创 记录几种Unity常用读写本地文件的方法

这里以TXT文件为目标不管使用什么读写时,记得先判断目标路径是否存在以防出现bug常用路径

2020-04-28 14:39:35 1117

原创 Unity编辑器拓展Editor类学习记录

官方文档:https://docs.unity3d.com/Manual/editor-CustomEditors.html重写inspector面板首先得在类的最上方用[CustomEditor(typeof(T))]T就是需要重写的对象类名(需要强转类型),这样重写后 挂上T脚本,inspector面板就是我们自己重写的效果了如果需要在编辑模式下运行周期函数,那么需要加上[Exec...

2020-04-28 14:11:04 425

原创 (萌新第一次)Unity UI图片自适应文字大小对话框

如题,最近项目需要一个这样的功能,这个功能用unity自带的UI Layout组件可以实现,但是不是很完美,所以自己上网找了下资料,实现了类似效果结构image设置text记得添加一下组件比较简单,所以就不在这里写注释了,直接放代码public class TextUpDate : MonoBehaviour{ public Text textComp; Rec...

2020-04-14 12:12:24 716

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除