UE_Angelscript 入门篇--再识引擎,似同非同#

接上篇 UE_Angelscript 入门篇--安装引擎,打开封印之门

前言#

读此文前,需要以下几个前置条件:

本文使用的示例,为 UE_Angelscript 5.4 版本,环境配置等和上篇一致。

新建项目#

和往常一样,新建一个项目即可,但是记得用 c++ 版本。为什么?因为后续可能用到 cpp 作为辅助,可以确保项目支持更底层的功能扩展,并方便与 Angelscript 脚本结合使用。

第三人称C++项目模板

创建完成后,会进入 IDE ,以 Rider 为例,点击右上角的运行按钮,编译项目且运行

Rider项目运行按钮

如果一切正常,编译完成后,会打开编辑器 Editor。因为勾选了初学者安装包,需要编译不少 Shaders,这部分内容会比较慢,卡在 45% 是正常现象,不要慌,只要还在动就耐心等待。

着色器编译进度画面

进入工作区#

引擎打开后,点击 Tools (工具),里面有调整到 Angescript 工作区的快捷方式。

编辑器脚本菜单入口

你也可以选择在项目文件夹下,用 VSCode 打开 Script 文件夹,这个文件夹就是 Angelscript 工作区。

跳转到 VSCode 之后,里面空空荡荡,因为还没有新建任何内容。

还记得你的引擎所在路径吧,去那里把所有的 Examples 文件拷贝过来,参考如下

文件管理器示例目录

建议可以先拷贝 Examples 文件夹,另外几个文件夹的文件需要启动其他相关插件才能使用,初学者可以暂时忽略。

此时,Examples 文件夹为你提供了一批带有详细注释的参考代码,便于快速上手。

看看 Examples 文件夹下的 Example_Actor.as

示例Actor类源码

里面有个 AExampleActorType 类,继承自 AActor,这个类默认会暴露给 Editor,在新建蓝图的时候,可以找到,如下图。

蓝图父类选择窗口

你可以考虑复制一个文件,修改类名,然后去测试这些示例文件里提到的内容,如 UPROPERTY 的使用。

当保存.as 文件之后,如果没有错误,会立即在 Editor 里生效。

断点调试#

VSCode 里按 F5 进入调试模式,左边点开调试的变量监测区。 VS Code调试菜单

在 BeginPlay 或者其他想要调试的地方,打断点 BeginPlay断点标记

例如,新建一个继承自示例类的蓝图 Actor,并将其放入关卡中,那么 Editor 里点击运行的时候,会触发断点。

命中断点的变量面板

右上角的小按钮就是用来一步一步调试的,十分方便。 这跟蓝图里的断点调试有些类似。

无缝跳转#

在原始 UE 中,Editor 支持无缝跳转到 C++ 的代码实现。而在 UE_Angelscript 中,通过引擎源码的改动,实现了从 Editor 到 Angelscript 的无缝跳转功能。这不仅支持从 Editor 跳转到 VSCode 查看 Angelscript 的代码,还可以从 VSCode 跳转回 Editor,查看相应的蓝图类。

例如,若某个蓝图类继承自 Angelscript 的类,你可以直接点击蓝图类中的父类链接,快速跳转到 Angelscript 的代码实现。

蓝图父类信息标签

反之,在 Angelscript 的代码中点击类提示,也能跳转回蓝图类。

脚本类的蓝图链接

此外,Editor 的组件交互、Level 里的实例 Actor 的跳转等功能同样被支持。

总之,凡是 cpp 与 Editor 的交互,Angelscript 大都实现了,甚至更丝滑。

总结#

经过上面的基础操作,可以见到 UE_Angelscript 的引擎版本和原始版本看着差不多,但处处紧密融合,在交互上做了很多的工作,着实是为了设计游戏而量身定制的。

UE_Angelscript 的出现不是为了完全替代蓝图,而是作为 cpp 和蓝图的中间层,补全了 UE 缺少脚本语言的尴尬。

有人说,用 UE 的 cpp 也像脚本,热编译也还行;确实如此,UE 的 C++ 已经颇具脚本语言的特性,有人甚至戏称其为 U++,但还是太多模板代码了,同时还需要管理头文件和模块,这不应该是 Gameplay 主要做的事;热编译当前情况下还不够给力,等半秒和几秒,是完全不同的体验,每次编译 cpp 的时候,就总会想着,如果拥有蓝图这般实时的无感交互,不更好吗?

UE 当下还在开发自己的一套脚本语言,UE 也还有其他第三方的脚本语言。选择什么,是萝卜青菜,各有所爱。我的选择是,选一个经过项目检验的、在维护的、体验足够好的脚本语言,恰好 UE_Angelscript 基本满足了这些要求。

希望你对 UE_Angelscript 的探索充满乐趣,本系列文章如对你有所裨益,不胜荣幸!

×

联系

问题反馈

问题与反馈请提交至 GitHub Issues。

合作

合作事宜请发送邮件至 contact@cuviss.com。

×

关于

服务条款

各插件的许可证见社区贡献页。

网站内容可在注明来源后引用。

软件和文档按“现状”提供,不作任何保证。

Unreal Engine 等第三方项目及名称相关商标归各自所有者所有。soloAS 与 Epic Games、Hazelight 均无关联。

致谢和案例展示请求均不具约束力,详见首页说明。

更新于 2026-10-24

隐私政策

本网站不使用分析工具、Cookie 或跟踪,也没有数据表单或第三方脚本。

网站托管于 GitHub Pages。GitHub 可能按其隐私声明处理标准访问日志。

通过邮件发送的内容会提供给我们;通过 GitHub Issues 发送的内容会提供给 GitHub。

更新于 2026-10-24

目录

页面列表

本页目录