虚幻引擎适用于Unlua转到PuerTS的一些知识

文章字数:604

简介

随着项目规模的扩大,越来越感觉Lua脚本不受控制,因此尝试选择TypeScript的脚本方案。

因此,研究了一下PuerTS的相关机制。

体验下来,PuerTS的方案确实上手难度比UnLua高了很大一层,一方面是TypeScript生态本就比Lua复杂,另外PuerTS也提供了足够的灵活性,选择一多在实际应用时反倒不太明确应该如何进展了。

Q&A

有没有最佳实践

官方不提供更详细的例子,目前主要可以参考puerts_unreal_demo项目来了解到作者的一些设计。

从各个论坛、文章分享中可以知道,官方不太希望更偏向UnLua思路的继承引擎类的功能。

替代的,官方推荐自行启动虚拟机,并根据项目需要实现一套TypeScript为主的Gameplay框架。

因此,对于习惯了UnLua在蓝图声明一个模块来绑定脚本的开发者来说,切换到PuerTS可能会不太适应,需要根据项目需求调整思路,

参考Github Discussions1214的思路,其实也能实现一套类似于UnLua的自动绑定,不过确实就失去了一些TypeScript类型检查的功能,可能还是需要搭配自动生成等机制来更好地维护。

mixin之后是否支持调用被覆写的函数

不支持。

参考作者回复:https://github.com/Tencent/puerts/issues/1778

而对于继承引擎类的模式,生成的蓝图不建议修改(有可能被覆盖),因此也不适用于这种情况。

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...