天天看點

unity lua方案分析序言分析結論

序言

要結束cocos的開發轉unity了(本來标題是要寫這個的,寫着寫着就寫多了)

unity對我們來說是個新的挑戰

cocos的方案連更新的邏輯都能更新,全部邏輯用lua編寫

unity的lua方案似乎效率很一般,好多人都是提議通過c#寫代碼,然後lua隻是配置

目前unity的lua社群都還比較小,使用人數不多,遇到問題很多都要自己解決

分析

目前就看了uLua和xLua

  • ulua

    ulua是比較早而且一直在更新的方案,lua層做了一些友善的封裝,而且內建了一些cjson,pbc之類的第三方庫

    通過配置可以調試lua,支援資源一鍵打包

    版本改過多個實作,目前最新的是tolua

  • xlua

    xLua是最近騰訊推的方案,官方的定位是僅僅希望用熱更新來fix bug

    沒有第三方庫,沒有lua層的封裝,如果用來寫主要邏輯的話工作量有點多

    而且這樣的話基本上就是第一次上線後就開始要每個bug寫兩遍,lua寫一遍用來熱更,然後c#寫一遍用來發新包

    優點是最近更新還是比較頻繁也是大多數人看好的,因為很多項目是已經完成了,然後在找熱更方案的

  • slua

    slua的話也有看到KSFramework感覺還不錯

結論

目前如果要使用lua架構作為主要邏輯還是需要自己寫很多接口來優化效率,像是把gameobject在lua和c#傳來傳去的方案我認為是不可取的

比如lua隻是使用基本類型,通過大量接口,讓c#和lua的調用盡量簡單

但是這樣會導緻互動層有大量的接口,會不會導緻調用一個接口就要把所有接口周遊一次

希望unity lua有更多的人加入,逐漸強大,完善的解決各種問題的方案,完善的工具鍊,遇到bug能搜尋得到,效率提高到能做為主邏輯的水準