Unreal Engine Angelscript

UnrealEngine-Angelscript是一个接入了完整Angelscript脚本功能的UE5引擎修改版。(译者注:UE4等旧版本可以从tag构建)

这个修改版引擎是我们Hazelight工作室为了快速迭代游戏双人成行开发的, 在双人成行项目中我们使用了AngelScript脚本开发了大部分的游戏玩法。 这个修改版引擎已经开源,目前除了Hazelight工作室以外也有其他工作室贡献代码。

有关脚本语言的介绍,请参见脚本简介

如果你有兴趣或有疑问,请到我们的Discord Server聊天室与我们沟通与交流!

项目背景

使用蓝图开发复杂度比较高的游戏系统的时候经常会导致蓝图的节点或者连线杂乱无章,可阅读性大大降低。但如果使用C++来开发,又会受到C++复杂的语法和耗时较长的编译器影响导致大大加长迭代时间,影响游戏设计师或者玩法设计师去使用。

通过本项目你可以使用Angelscript这个简单但又强大的脚本语言来开发游戏玩法。

本项目的优势:

特性

上手简单!

Code

熟悉使用C++开发UE的程序员会感觉这些脚本写法和api十分熟悉,在此基础之上还做了很多的简化以避免C++常见的坑。

飞速的脚本热重载!

当你编写完脚本保存后,可以立即在编辑器中看到你的修改!

甚至如果你没有修改类的结构,只是修改函数逻辑,可以在游戏运行时热重载你的修改!(译者:如果你修改了类的结构,但编辑器正在游戏模式下,vscode会提醒你哪些文件的热重载不会生效)

Properties

脚本语言完整的IDE支持!

为了更简单的开发Angelscript脚本,我们开发了Visual Studio Code 扩展.

这个VS Code扩展包含了很多IDE应该有的功能

与现有的c++和蓝图的工作流集成

Angelscript的类可以覆盖任何C++暴露给蓝图的内容,同时蓝图也可也继承Angelscript的类

你可以选择任何你喜欢的方式将脚本集成到你的工作流中。

(译者注:Angelscript默认可以访问到蓝图可以访问的任何函数或者类,所以蓝图可以满足的项目完全可以抛弃c++使用纯Angelscript开发,但是大部分情况下,商业项目只用蓝图是不够用的,c++有很多虚函数或者受保护的变量没有导出给蓝图,所以建议先写C++,然后脚本继承c++类,若当前有什么内部变量或者函数脚本无法访问到,就从c++类覆盖并导出给脚本)

Functions

支持使用VS Code调试代码

安装VS Code插件后,可以直接使用VS Code打断点调试代码,无需任何配置。

Debugging