前言 前面鋪墊了這么久,終於要開始寫熱更新了。 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原生支持 ...