腾讯开源 Lua 开发插件 sluaunreal,加速游戏业务开发

关键时刻,第一时间送达!

来源:开源中国社区

https://www.oschina.net/news/98658/tencent-opensource-sluaunreal

源码共读整理发布,转载请联系作者获得授权

近日,腾讯开源了其用于游戏业务的 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 类型参数返回。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180805B15WN500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券