1. 程式人生 > >Unity熱更新技術整理

Unity熱更新技術整理

nil 支持 -s 運行 ram 創建 color 腳本語言 更改

一、熱更新學習介紹

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熱更新技術整理