前言 前面铺垫了这么久,终于要开始写热更新了。 Unity游戏热更新包含两个方面,一个是资源的更新,一个是脚本的更新。 资源更新是Unity本来就支持的,在各大平台也都能用。而脚本的热更新在iOS平台则是不被允许的(除了Lua)。 为了让一套代码能在各个平台都支持热更,将游戏 ...
ILRuntime基本原理 ILRuntime借助Mono.Cecil库来读取DLL的PE信息,以及当中类型的所有信息,最终得到方法的IL汇编码,然后通过内置的IL解译执行虚拟机来执行DLL中的代码。IL解释器代码在ILIntepreter.cs,通过Opcode来逐语句执行机器码,解释器的代码有四千多行。 https: blog.csdn.net qiaokelz article details ...
2021-05-10 09:39 0 1025 推荐指数:
前言 前面铺垫了这么久,终于要开始写热更新了。 Unity游戏热更新包含两个方面,一个是资源的更新,一个是脚本的更新。 资源更新是Unity本来就支持的,在各大平台也都能用。而脚本的热更新在iOS平台则是不被允许的(除了Lua)。 为了让一套代码能在各个平台都支持热更,将游戏 ...
背景 19年年初的时候,进到一家新单位,公司正准备将现有的游戏做成支持热更的版本。于是寻找热更方案的任务就落在了我头上。 经过搜索了解,能做Unity热更的方案是有好几种,但是要么不够成熟,要么不支持iOS平台,相对来说,还是用Lua来实现比较靠谱。 而Lua的热更方案也有好几种 ...
前言 因工作关系,需要对手头的项目进行热更新支持。了解后发现,Lua的几个变种:XLua、ToLua(原uLua)和Slua都可以做Unity热更,而ToLua更是提供了一个简易的热更框架--LuaFramework_UGUI,使得上手变得容易,因此选定LuaFramework_UGUI ...
=distribute.pc_relevant.none-task 在新的项目中,使用到了ILRuntime的热更新方式,不同于XLua等 ...
下载在这个时代实在是太平常了,每个人都深刻的理解着下载到底是什么。 这一篇文字只是把下载的代码分享并介绍,而已。 首先,下载系统担负着几个使命。 第一、是保持客户端版本库的最新。 第二、是下载要能够比对并最少下载 第三、是要尽量快一些。 其实我们并没有写一个下载系统 ...
前言 在上一篇文章 Unity3D热更新之LuaFramework篇[08]--热更新原理及热更服务器搭建 中,我介绍了热更新的基本原理,并且着手搭建一台服务器。 本篇就做一个实战练习,真正的来实现热更新功能。 一、准备工作 1、制作一个用于热更新的界面 此前我制作 ...
前言 在上一篇文章 Unity3D热更新之LuaFramework篇[06]--Lua中是怎么实现脚本生命周期的 中,我分析了由LuaBehaviour来实现lua脚本生命周期的方法。 但在实际使用中发现,只有一个这样的脚本还不够。 LuaBehaviour驱动 ...
一、Unity的资源(Asset)和对象(UnityEngine.Objects) 资源(Asset):是硬盘中的文件,存储在Unity工程的Assets文件夹内。例如,纹理(Texture),材质(Material)和FBX文件等,它们都是资源。一些资源的数据格式是Unity原生支持 ...