MENU

• 2026 年 03 月 11 日 • 已有 5 只咪围观过 • -学海无涯-

整理了一下Gpt给我的一大坨内容,但是我根据实际学习情况会添加笔记或者调整,文档会持续更新一直到我完全上手项目。

promt:我希望从小白成长为 UE AngelScript 高手,并且 UE5.5、TA、工具、游戏逻辑都要覆盖。

里面很多As官网内容比较难看懂,我看ue社区或者官方文档一般都能理解不需要翻译,但是不知道为什么As官网很难流畅读完,我后面发现了一个好用的网页翻译插件Lingocloud,可以side-by-side提供翻译。

现在完成了制作简单EUW的练习,之后不会新开文章了,会在这里持续更新


“UE AngelScript” 是什么?

目前社区最主流、资料最完整的一套 UE AngelScript,是 Hazelight 的 UnrealEngine-Angelscript(UE-AS):它通常不是“普通插件即插即用”,而是 需要源码引擎分支(或对源码有要求) 的方式来使用,因此你需要走 “源码编译 UE” 的路线。

UE5.5 与 UE-AS 分支对齐提醒: UE-AS 分支是否已追到 5.5,要以你拿到源码权限后实际看到的分支/tag 为准。工程上建议:编辑器工具链(EUW/Python/Editor Subsystem)与运行时(AngelScript)分开,以免版本差影响你工具开发。

1. 总学习路线(从最简单入门到高手)

√第 0 关:环境跑通(必须过)

目标: 能编译 UE,引擎能启动;能在项目里写 .as 并加载;VS Code 能补全/跳转。

建议练习:

  • 成功启动 Editor
  • 新建/打开项目,创建 Script/ 目录,放入 .as 文件并被加载(以 UE-AS 文档为准)
后面小练习就不到半小时,搞这个源码我想死的心都有了,这是最讨厌的一步!我再也不想编译ue源码了...但是完事开头难吧..

√第 1 关:写一个脚本 Actor(最小闭环)

目标: 脚本 Actor 能出现在编辑器(Place Actors 可搜到),能 BeginPlay 打印,能 Tick 更新。

【图1】

可以了,然后按照官网步骤一点一点来就行

第 2 关:像写 C++ 一样写 UE,但更快(蓝图互通 + 可维护代码)

目标:

建议练习:

  • Moving Platform:属性可配置(速度/路径),可放进关卡跑
  • Spawner:使用 TSubclassOf 指向蓝图子类并 Spawn(按文档示例做)

第 3 关:架构三件套(高手分水岭)

这部分也是你截图里红框强调的重点:Delegates / Gameplay Tags / Subsystems

建议练习:

  • 写一个“交互系统”:触发 → 广播委托 → UI/音效/任务系统响应(完全解耦)
  • 用 Tags 驱动状态机/输入/能力开关
  • 用 Subsystem 管理全局系统(World/GameInstance 等)

√第 4 关:工具开发(TA 主战场)

前面的没有细看,我想尽快上手项目,先直接练习了

目标: 你能独立做出可落地的工具(面板 + 批处理 + 扫描/过滤 + 可扩展 UI)。

如果你还想“用 AngelScript 写编辑器侧系统”:

建议练习:

  • 一个 EUW “资产批处理中心”:扫描 → 列表 → 批量改名/打标签/生成资产 → 输出日志
  • 一个 Editor Subsystem:把工具能力做成系统模块(更易维护)

第一个实战小练习

基于 Unreal Angelscript Widget 教程做了个小练习,顺手把流程跑通了一遍。原文里有一句我很喜欢:

“In reality, I find that the best way results in a feedback loop between both of these approaches, refining the data and the interface as you work on it. Build, iterate, build, iterate!”

乍一看像一句“正确的废话”——毕竟做工具、做界面、做交互,哪件事不是 Build, iterate, build, iterate?

但放到 Unreal 的工具开发语境里,这句话其实挺准确:界面结构、数据组织、交互方式,往往不是一次定死的,而是在不断试错里一起长出来的。 多撞墙才是真的..

这次练习我做了什么

没有完全照抄教程里的例子,而是借着它的思路,做了一个更贴近自己使用场景的小实验。

整体目标很简单:

  • 理解创建自己的父类
  • 再在 Blueprint 里把界面结构搭起来并且联通
  • 最后通过 Angelscript 里补上实际我想要的逻辑
Step1:先有一个自己的基类

这一步本质上是在确定“这个工具的逻辑外壳”。

参考文章里的做法,是先在 Angelscript 里定义一个 Widget 基类,再由 Widget Blueprint 去继承它,这样 Blueprint 负责界面,脚本负责行为。BindWidget 这套思路也很直观:哪些子控件是这个工具运行所必需的,就在基类里明确声明出来。

我这边的处理方式比较直接:
父类直接使用 UEditorUtilityWidget

不过我这边实际操作时,创建体验比原文里还顺手一些。可能是版本更新后的缘故?我这里可以直接跳转创建,不需要完全按照文档里那种比较传统的路径一步步找....

【图2】

Step2:搭建并且联通

到这一步就很有意思了。

一旦进入 Widget Blueprint,开始拖控件、配层级、调布局,整个体验会很像 Qt 那套 UI 编辑思,
先把容器关系理清楚,再把具体控件塞进去,最后让逻辑去接这些控件。

如果你本身做过 DCC 工具、编辑器扩展,或者接触过 Qt Designer 一类的工作流,这块上手会非常快。因为它的核心逻辑是相通的:

  • Hierarchy 决定结构
  • 命名决定绑定
  • Blueprint 负责视觉组织
  • Script 负责行为实现

但是我觉得有意思的地方是,我是先上手euw的连连看来理解qt,现在又通过qt理解了as的euw,有一种兜兜转转还是你的微妙感..

【图3】

Step3:补逻辑

教程里的示例逻辑比较简单,是生成随机数、显示文本,再绑定一个按钮事件,属于很标准的入门演示。

但我这里不太需要“随机数演示”这种纯教学型逻辑,所以就换成了更符合自己场景的做法:直接尝试调用关卡相关功能。

这里 Angelscript 自带的Subsystems文档就很有用了。思路也不复杂:

  1. 先明确自己要操作的是哪类系统
  2. 再去查对应应该拿哪个 Subsystem
  3. 把需要的调用填进去

这一步的关键,不是“代码有多复杂”,而是怎么做想清楚

  • 这个 Widget 是展示信息?
  • 还是触发什么操作?
  • 它依赖的是编辑器级数据,还是关卡级数据?
  • 应该向哪个 Subsystem 取能力?

想清楚这些之后,后面的实现反而会很顺。因为 Angelscript 在 Unreal 这套体系里,本来就是依附现有引擎框架工作的,不是另起一套规则;你只需要知道该从哪里拿能力就可以了。

第二天的我回头来插一嘴,落实到具体函数实现,as的library文档难用死了,不如vs的as内置插件直接查函数,然后具体值去ue的开发文档里看..

【图4】

Step3:The End

等界面搭好、绑定跑通、逻辑接上之后,这个小练习其实就已经完成了。

虽然功能非常简单,但它对入门很有帮助,因为整条链路都经历了一遍:

  • Angelscript 基类定义
  • Widget Blueprint 继承
  • 控件绑定
  • 编辑器工具化
  • Subsystem 调用(我会常用,自己需要什么模块可以先简单练习需要的基础内容)
  • 最终逻辑验证

从结果上看,它不算复杂;但从学习价值上看,它已经足够把 Unreal Angelscript 做工具界面的基本工作流串起来了。

Done。我觉得我完成了算是一个很轻量、但挺完整的入门。好耶!


第 5 关:联机 + 工程化(上线级)

目标: 会 Replication/RPC,懂测试与性能优化,能做可上线的项目结构。

建议练习:

  • 多人计分板(Replicated + OnRep)
  • 交互/任务/计分联机 Demo(带 5~10 个自动化测试)

2. 全量技能树(TA + 工具 + 游戏逻辑 + UE-AS)

我先存档链接吧,有时间会细品去练习并扩充这篇文章的内容..

A)AngelScript 语言本体(通用)

B)UE-AS(Hazelight)核心能力

  • Actor / Component 生命周期与默认值(default
  • Blueprint 互通(UFUNCTION/UPROPERTY、BlueprintEvent/Override)
  • Function Libraries(命名空间映射)
  • Delegates / Gameplay Tags / Subsystems
  • Editor-only Script
  • Tests + Precompiled

核心文档入口(建议从这里开):

C)游戏逻辑主线(UE 官方权威)

D)TA / 工具链主线(编辑器侧生产力)


3. 推荐“高手路线”学习顺序(省力不绕路)

1) Installation + Introduction(跑通)
2) Functions & Events + Properties & Accessors + Actors & Components + Function Libraries(写得像 UE 工程)
3) Delegates + Gameplay Tags + Subsystems(架构三件套)
4) EUW + Python + Asset Registry +(可选 Slate)(TA 工具链)
5) Networking + Tests + Precompiled(上线级)


4. 毕业级项目(TA + 工具 + 游戏逻辑全覆盖)

项目 1:资产批处理中心(TA 工具)

  • EUW 作为 UI 入口
  • Python 做批处理逻辑(改名/打标/生成/批量修改)
  • Asset Registry 扫描/过滤未加载资产

项目 2:运行时框架(Subsystem + Tags + Events)

  • 系统模块化:Subsystem 管生命周期
  • Tags 管语义与状态
  • Delegates 管事件与解耦

项目 3:联机可玩 Demo(交互/任务/计分 + 测试)

  • Replication/RPC + 多人同步
  • 自动化测试(UE + Script Tests)
  • 启动性能优化(Precompiled)

5. AS社区

返回文章列表 打赏
本页链接的二维码
打赏二维码