一、熱更新學習介紹
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創建自己的熱更新游戲