slua-unreal
sluaunreal作为unreal引擎的插件,通过unreal自带蓝图接口的反射能力,结合libclang静态c代码分析,自动化导出蓝图接口和静态c接口,提供给lua语言,使得可以通过lua语言开发unreal游戏业务逻辑,方便游戏高效迭代开发,上线热更新,同时支持lua到c双向,lua到蓝图双向调用,使用lua语言完美替代unreal的c开发方式,修改业务逻辑不需要等待c++编译,大大提升开发速度。
目前该项目作为潘多拉系统的一部分,用于部分腾讯游戏业务,构建这些业务的周边系统、运营系统,上线质量稳定。
潘多拉是一个腾讯游戏的运营引擎,为腾讯游戏提供基于大数据分析能力的精准营销活动与应用系统,提升游戏的营收、留存和用户活跃指标。
sluaunreal 有什么功能?
- 通过蓝图反射机制,自动导出unreal 4的蓝图api到lua接口
- 支持以lua function作为蓝图事件的回调函数
- 支持普通c++函数和类 通过静态代码生成或者泛型代码展开导出到lua接口,同时支持与蓝图接口交互
- 完整支持了unreal4的枚举,并导出了全部枚举值到lua
- 支持FVector等非蓝图类,同时支持操作符重载
- 支持扩展方法,将某些未标记为蓝图方法的函数,手动添加到蓝图类中,例如UUserWidget的GetWidgetFromName方法
- 支持从蓝图中调入lua,并接收lua返回值,支持任意参数类型和任意参数个数
- 支持蓝图out标记参数,支持c++非const引用作为out类型参数返回
unreal4引擎lua开发首选解决方案
sluaunreal正式开源
Github 开源地址:
https://github.com/Tencent/sluaunreal
请给 sluaunreal 一个 Star !
欢迎提出你的 issue 和 PR