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創建自己的熱更新游戲

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM