騰訊開源 Lua 開發外掛 sluaunreal,加速遊戲業務開發

類別: IT

近日,騰訊開源了其用於遊戲業務的 sluaunreal,該專案是適用於 unreal4 引擎的 Lua 開發外掛,可讓開發者高效地使用 Lua 進行業務開發。

專案地址:https://github.com/Tencent/sluaunreal

據專案主頁介紹,sluaunreal 作為 unreal 引擎的外掛,通過 unreal 自帶藍圖介面的反射能力,結合 libclang 靜態 C++ 程式碼分析,自動化匯出藍圖介面和靜態 C++ 介面,提供給 Lua 語言,使得可以通過 Lua 開發 unreal 遊戲業務邏輯,方便遊戲高效迭代開發、上線熱更新,同時支援 Lua 到 C++ 雙向、Lua 到藍圖雙向呼叫,大大提升開發速度。

具體功能如下:

  • 通過藍圖反射機制,自動匯出 unreal4 的藍圖 api 到 Lua 介面

  • 支援以 Lua function 作為藍圖事件的回撥函式

  • 支援普通 C++ 函式和類,通過靜態程式碼生成或者泛型程式碼展開匯出到 Lua 介面,同時支援與藍圖介面互動

  • 完整支援了 unreal4 的列舉,並匯出了全部列舉值到 Lua

  • 支援 FVector 等非藍圖類,同時支援操作符過載

  • 支援擴充套件方法,將某些未標記為藍圖方法的函式,手動新增到藍圖類中,例如 UUserWidget 的 GetWidgetFromName 方法。

  • 支援從藍圖中調入 Lua,並接收 Lua 返回值,支援任意引數型別和任意引數個數。

  • 支援藍圖 out 標記引數,支援 C++ 非 const 引用作為 out 型別引數返回。

騰訊開源 Lua 開發外掛 sluaunreal,加速遊戲業務開發原文請看這裡