Unity热更新技术整理

Posted alps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity热更新技术整理相关的知识,希望对你有一定的参考价值。

一、热更新学习介绍

1、什么是热更新

 

举例来说: 游戏上线后,玩家下载第一个版本(70M左右或者更大),在运营的过程中,如果需要更换UI显示,或者修改游戏的逻辑,这个时候,如果不使用热更新,就需要重新打包,然后让玩家重新下载(浪费流量和时间,体验不好)。 热更新可以在不重新下载客户端的情况下,更新游戏的内容。 热更新一般应用在手机网游上。

 

2、为什么C#脚本不可以直接更新

 

C#是一门编程语言,它运行之前需要进行编译,而这个编译的过程在移动平台无法完成,所以当我们游戏的逻辑更改,C#代码发生改变的时候,我们就需要重新在开发环境下编译,然后重新打包,然后让玩家去下载更新最新的版本。 这个体验差:包下载需要的时间长,而且很多资源没有更新,也需要重新下载,浪费流量。

 

3、热更新有哪些实现方式?

 

1、使用Lua脚本编写游戏的UI或者其他的逻辑 Lua是一个精悍小巧的脚本语言,可以跨平台运行解析,而且不需要编译的过程 2、使用C#Light

3、使用C#反射技术

 

二、关于AssetBundle

1、什么是AssetBundle

 

Unity提供了一个资源更新技术,就是通过AssetBundle,我们可以通过AssetBundle更新游戏UI,也可以把脚本或者其他代码当成资源打包成AssetBundle然后更新到客户端。 在所有的热更新技术中都需要AssetBundle。

 

三、如何利用Lua进行热更新

 

1、Unity提供了一个资源更新技术,就是通过AssetBundle,我们可以通过AssetBundle更新游戏UI,也可以把脚本或者其他代码当成资源打包成AssetBundle然后更新到客户端。 在所有的热更新技术中都需要AssetBundle

 

2、在移动端可以编写Lua的解析器,通过这个解析器,可以运行最新的Lua脚本,然后我们把控制游戏逻辑的代码都写成Lua脚本。

 

四、如何利用Lua进行热更新

 

1、Lua的解析技术有哪些?

 

 

1,uLua 骏擎【CP】 ulua.org

2,Nlua unity支持Riley G nlua.org

3,UniLua 阿楠同学

4,sLua

 

五、如何学习热更新技术

 

 

1,学习Lua编程

2,学习通过LuaInterface和luanet进行Lua和C#的交互通信

3,学习使用AssetBundle进行资源更新

4,学习uLua SimpleFramework 利用us创建自己的热更新游戏

以上是关于Unity热更新技术整理的主要内容,如果未能解决你的问题,请参考以下文章

Unity 热更新技术 | 热更新的基本概念原理及主流热更新方案介绍

Unity上面有啥好的热更新方案

Unity上面有啥好的热更新方案

Unity 热更新技术 |Lua与Unity_C# 交互总结

unity游戏热更新专题

为啥Unity没有实现iOS平台代码热更新?