欢迎光临
我们一直在努力

【UE】【AngelScript】学习路径与资料库

整理了一下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 能补全/跳转。

  • UE-AS 安装
  • UE-AS VS Code 扩展(补全/跳转)
  • Epic 源码获取:
    • 根据上述文档,5.5.4应该是这个git的Tag ,不得不说ue文档写的是真的超级清楚啊…
    • 然后编译源码修好装Visual Studio,而且最好2022,2026我安装了所有c++的模块编码的时候也有警告,按照网络上查阅到的方式尝试了很多次,最后也不太行。但是2022一次过
  • Epic 源码编译

建议练习:

  • 成功启动 Editor
  • 新建/打开项目,创建 Script/ 目录,放入 .as 文件并被加载(以 UE-AS 文档为准)

后面小练习就不到半小时,搞这个源码我想死的心都有了,这是最讨厌的一步!我再也不想编译ue源码了…但是完事开头难吧…


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

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

  • 入门示例页(强烈建议照抄跑通)

【图1】

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


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

目标:

  • 属性能暴露到 Details 面板和蓝图
  • 函数能在蓝图节点里调用
  • Functions & Events / Blueprint:互通
  • Function Libraries:映射蓝图函数库 → 脚本命名空间
  • Actors & Components:脚本侧
  • Properties & Accessors:属性暴露与访问器

建议练习:

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

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

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

  • Delegates / Events:事件驱动、解耦
  • Gameplay Tags:全项目一致的语义标签
  • Subsystems:模块化、可复用、生命周期清晰

建议练习:

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

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

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

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

  • Editor Utility Widgets(EUW):工作比较需要,我会先学这个 √
  • Scripting & Automating the Unreal Editor(总览):总览
  • Python 编辑器脚本:Python 编辑器脚本
  • Asset Registry(扫描/查询未加载资产):扫描/查询未加载资产
  • Slate(复杂工具 UI,可选但非常强):复杂工具 UI,可选但非常强

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

  • Editor-only Script:#if EDITOR

建议练习:

  • 一个 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文档就很有用了。思路也不复杂:

  • 先明确自己要操作的是哪类系统
  • 再去查对应应该拿哪个 Subsystem
  • 把需要的调用填进去
  • 这一步的关键,不是“代码有多复杂”,而是怎么做想清楚:

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

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

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

    【图4】

    Step3:The End

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

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

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

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

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


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

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

    • UE官方:Networking Overview:概念与实践
    • UE-AS:Networking Features:脚本侧复制 / RPC 等
    • UE官方:Automation Test Framework:自动化测试框架
    • UE-AS:Script Tests:脚本单测
    • UE-AS:Precompiled Scripts:启动性能

    建议练习:

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

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

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

    A)AngelScript 语言本体(通用)

    • 类型系统、类/接口、数组/字典、引用/句柄(@)、模块化、性能常识
    • AngelScript 官方手册总目录
    • Hello World / 编译运行流程:编译运行流程

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

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

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

    • UE-AS 首页:官网首页
    • Installation:安装
    • Introduction:介绍
    • Actors & Components:Actor 与组件
    • Functions & Events:函数与事件
    • Properties & Accessors:属性与访问器
    • Function Libraries:函数库
    • Delegates:委托
    • Gameplay Tags:Gameplay Tags
    • Subsystems:子系统
    • Editor Script:编辑器脚本
    • Script Tests:脚本测试
    • Precompiled Data:预编译数据
    • Resources:汇总

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

    • Gameplay Framework:职责边界与架构
    • Enhanced Input:增强输入
    • UMG:UI
    • Data Assets:数据资产
    • Networking:网络
    • Gameplay Tags(Epic 版):Gameplay Tags

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

    • EUW:Editor Utility Widgets
    • Editor 自动化总览:编辑器脚本与自动化
    • Python:使用 Python 编写 Unreal 编辑器脚本
    • Asset Registry:资源注册表
    • Slate:Slate UI 框架

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

  • Installation + Introduction(跑通)
  • Functions & Events + Properties & Accessors + Actors & Components + Function Libraries(写得像 UE 工程)
  • Delegates + Gameplay Tags + Subsystems(架构三件套)
  • EUW + Python + Asset Registry +(可选 Slate)(TA 工具链)
  • 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社区

    • UE-AS Resources:例子 / 文章 / 社区入口

    赞(0)
    未经允许不得转载:171主机测评 » 【UE】【AngelScript】学习路径与资料库
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址