unity引擎热更新流程(主要是资源加载方面)--unity+tolua

Posted 科技生活分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity引擎热更新流程(主要是资源加载方面)--unity+tolua相关的知识,希望对你有一定的参考价值。



对于tolua而言,其热更新主要是依托于LuaFramework框架的。其中需要注意的是:lua调用C#,是通过"."来调用非静态的变量及静态的变量与方法的;用“:”调用非静态方法。tolua更新的详细步骤就不在这里详细叙述了,因为本人也是菜鸟一枚了,这块儿也还没来得及好好看嘞。~~~~~~~~~



下面上热更代码,分为两部分,一部分是资源,一部分是lua


先将资源和lua打包成ab格式,初次带的资源放到streamingAssets文件夹下

用到的文件夹路径如下

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

将资源和lua文件写入版本管理文本里,初次的放在streamingAsset文件夹下,初次进入读取文本将资源拷贝到移动端资源下载路径下,然后与服务器版本做对比,再次进行热更

读取版本管理文本,将资源和lua分别出来,分别进行加载

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

首先是热更资源

1.加载主关联ab

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

通过主关联ab获取所有关联资源,进行加载

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

加载结束后回调告诉主逻辑加载完成

unity引擎热更新流程(主要是资源加载方面)--unity+tolua

其次是热更lua,其中倒数第二行代码是将lua加入到lua查询范围内,以后使用的lua文件就在这个里

这就是资源热更,界面的简单逻辑写在lua文件里,然后将文件传到cdn服务器上,通过版本比对和md5码比对来获取要更新的资源列表和lua文件,来实现热更新。


以上是关于unity引擎热更新流程(主要是资源加载方面)--unity+tolua的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发框架自制Unity通用游戏框架UnityXFramework,详细教程(Unity3D技能树 | tolua | 框架 | 热更新)

游戏开发框架自制Unity通用游戏框架UnityXFramework,详细教程(Unity3D技能树 | tolua | 框架 | 热更新)

原Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

Unity热更新代码

Unity 之 Addressable可寻址系统 -- 资源热更新

Unity 之 Addressable可寻址系统 -- 资源热更新 -- 进阶