博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
腾讯UnLua脚本插件正式开源
阅读量:4197 次
发布时间:2019-05-26

本文共 1065 字,大约阅读时间需要 3 分钟。

640?wx_fmt=png

UnLua是Unreal Engine 4下特性丰富且高度优化的Lua脚本插件。它遵循Unreal Engine 4的编程模式,简单易上手,UE4程序员更是可以零学习成本使用。UnLua目前已经被应用在大量的大型项目中。

适用场景

  • 使用Lua编写游戏逻辑。

  • 使用Lua替换线上系统原有的蓝图(Blueprint)逻辑。

 

主要特性

  • 零胶水代码访问引擎反射体系内的所有UCLASS、 UPROPERTY、 UFUNCTION、 USTRUCT、UENUM。

  • 零辅助代码覆写(Override)所有'BlueprintEvent' (包括所有用'BlueprintImplementableEvent'或'BlueprintNativeEvent'标记的UFUNCTION和所有蓝图中定义的Event/Function)、 Replication Notify、 Animation Notify、 Input Event。

  • 完备的静态导出方案,用于导出引擎反射系统之外的类(成员函数、成员变量)、全局函数、枚举。

  • 高度优化的UFUNCTION调用,包括持久化参数缓存、优化的参数传递、优化的非常量引用和返回值处理。

  • 高效的基础容器(TArray、TSet、TMap)访问,内存布局与引擎一致,无需在Lua Table和容器间转换。

  • 高效的结构体创建、访问、GC。

  • 支持自定义的碰撞检测相关枚举。

  • 支持UFUNCTION(带BlueprintCallable或Exec标签)默认参数。

  • 支持编辑器内Server/Client模拟。

  • 支持Lua协程中执行Latent函数,同步写法完成异步逻辑。

  • 支持根据Blueprint类型自动生成Lua模板代码。

 

使用示例

  • 创建新蓝图。

 

640?wx_fmt=png

 

  • 新蓝图实现UnLuaInterface接口。

 

640?wx_fmt=png

 

  • 实现GetModuleName函数,返回一个Lua文件路径(相对于Content/Script目录)。

640?wx_fmt=png

  • 生成Lua模板。

 

640?wx_fmt=png

640?wx_fmt=png

 

  • 向Lua模板加入逻辑代码。

640?wx_fmt=png

 

未来规划

  • 继续完善和优化。

  • 加入测试用例。

UnLua 正式开源

Github 开源地址:

https://github.com/Tencent/UnLua

(点击文末阅读原文直接访问)

请给 UnLua 一个 Star !

欢迎提出你的 issue 和 PR!

UnLua 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source/UnLua

640?wx_fmt=png

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

640?wx_fmt=jpeg

转载地址:http://aqzli.baihongyu.com/

你可能感兴趣的文章
腾讯汤道生:开源已成为许多技术驱动型产业重要的创新推动力
查看>>
微信小程序多端框架 kbone 开源
查看>>
视频质量评估算法 DVQA 正式开源
查看>>
腾讯优图开源视频动作检测算法DBG,打破两项世界纪录
查看>>
在中国提供了60亿次服务的疫情模块向世界开源 腾讯抗疫科技输出海外
查看>>
在中国提供了60亿次服务的疫情模块向世界开源
查看>>
世界卫生组织与腾讯加深合作 新冠肺炎AI自查助手全球开源
查看>>
Hibernate 中get, load 区别
查看>>
java反射详解
查看>>
JPA 注解
查看>>
JQuery 简介
查看>>
Java创建对象的方法
查看>>
Extjs自定义组件
查看>>
TreeGrid 异步加载节点
查看>>
Struts2 标签库讲解
查看>>
Google Web工具包 GWT
查看>>
材料与工程学科相关软件
查看>>
MPI的人怎么用仪器
查看>>
windows 下AdNDP 安装使用
查看>>
Project 2013项目管理教程(1):项目管理概述及预备
查看>>