zoukankan      html  css  js  c++  java
  • Unity热更新技术整理

    https://www.cnblogs.com/muyuqianshan/p/6937096.html

    一、热更新学习介绍

    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创建自己的热更新游戏

  • 相关阅读:
    ios 人脸检测
    改善用户体验的几个alert提示效果(收集整理)
    asp.net中关于《%=》《%#》《%》 的用法——(转帖)
    flash学习网址
    网页数据表格自动填充序号
    <%#..%>与<%=..%>的区别
    用Margin还是用Padding
    由浅入深漫谈margin属性
    css中导入样式表和链接样式表有什么区别,我不是问语法,而是问内在区别,还有我怎么才能体会到他们的区别
    ASP.NET Eval如何进行数据绑定
  • 原文地址:https://www.cnblogs.com/alps/p/9180160.html
Copyright © 2011-2022 走看看