Verse Wiki — 写给蓝图作者的 Verse 手册
拓展 · EXTRA

没有对应物的那些:Construction Script、Timeline、Animation Blueprint

词典里查不到的词分两种:一种是「Verse 还没做到」,另一种是「这压根不归 Verse 管」。这三个都属于后者。逐个说清它们在做什么、为什么 Verse 里没有直接对应,以及 UE6 里大概会怎么处理 —— 最后一部分会明确标出哪些是推测。

一、先分清两种「查不到」

拿着蓝图的词去查 Verse,查不到的时候先别急着找替代品,先问一句:这个东西的产物是什么?

如果产物是「游戏逻辑与状态」—— 谁得了分、门开没开、倒计时还剩几秒 —— 那它一定在 Verse 的射程内,查不到只是名字换了,或者当前工具还没开放。

如果产物是「资产与画面」—— 一条曲线、一段骨骼动画、一个着色器、一团粒子 —— 那它属于另一套系统,有自己的编辑器、自己的运行时、自己的一群专家。Verse 不打算替代它们,以后也不会。Verse 与它们的关系是:Verse 在合适的时刻把它们点着

本页的三个词全部落在第二类。看清这条边界能省下大量焦虑:你在动画、材质、特效、关卡序列上积累的技能,和 Verse 的到来完全无关。

二、Construction Script:跑在编辑期的那半张图

每个 Actor 蓝图其实有两张图:Event Graph 是你熟悉的那张,游戏跑起来才执行;Construction Script 是另一张,它跑在编辑期。你把 Actor 拖进关卡、在 Details 面板改一个数、挪一下位置,它就立刻重新跑一遍。

它的经典用法是程序化摆放:一个 FenceLength 变量,构造脚本按这个数在运行时之前就生成好 N 段栅栏网格组件,你在编辑器视口里当场就能看见效果。它的产物是编辑器里看得见、并且会被存进关卡文件的东西

为什么 Verse 里没有?因为 Verse 的代码今天只在运行时执行。在 UEFN 里的流程是:写 .verse 文件 → 按 Build Verse Code 编译 → 启动会话,设备的逻辑这时才开始跑。编辑期不执行你的 Verse 代码,自然也就没有「编辑期生成内容」这回事。

唯一有点像的是 @editable:标了它的字段会立刻出现在 Details 面板里,你在面板上改的值会被记住。但这只是「暴露参数」,不是「按参数生成内容」—— 面板上把 FenceLength 改成 12,不会有任何东西被造出来,除非你在 OnBegin 里写代码去造,而那已经是游戏运行之后了。

UE6 会怎样(推测,Epic 尚未公布):Scene Graph 的世界里,「一个 entity 由哪些组件构成」本身就是数据,prefab 让「一组配置好的 entity」可以被复用和覆盖 —— 这在相当程度上解决了构造脚本最常见的那类需求,不需要在编辑期跑一段命令式代码。至于 Verse 会不会获得编辑期执行能力,Epic 尚未公布,本站不做断言。

三、Timeline:曲线是资产,代码里没有曲线编辑器

Timeline 节点是三件东西打包在一起:一条或几条可编辑曲线(Float / Vector / Color)、一组事件轨、一个按帧推进的播放器。你拉一条缓入缓出的曲线,它每帧吐一个 Alpha 给你,再配上 Update / Finished 两个执行出口。做门的开合、灯的渐亮、平台的升降,它是最顺手的工具。

Verse 里没有 Timeline,原因不在于「会等待的代码不好写」—— 恰恰相反,Verse 的 <suspends>Sleep() 让「等一会儿再继续」比蓝图容易得多。真正没有的是那条曲线:曲线是一份美术可以直接拖动的资产,而代码里没有曲线编辑器。

如果只是线性变化,手写几行就够了:

lift_device.verse
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

lift_device := class(creative_device):

    # Timeline 的手写替代:每帧抬高一点,到顶就停
    RaiseOverTime()<suspends>:void =
        var Height:float = 0.0
        loop:
            set Height += 5.0
            # 这里把 Height 应用到你要移动的东西上
            if (Height >= 300.0):
                break
            Sleep(0.0)

Sleep(0.0) 刚好等一帧,所以这个循环每帧抬高 5 个单位,到 300 停手 —— 这就是一条线性 Timeline。想要缓入缓出?你得自己写插值公式。想让美术同事调手感?他们没有可拖的曲线可调。

所以正确的分工是:需要美术可调的曲线动画,交给 Sequencer 或动画系统去做,由 Verse 在合适的时刻触发它;只是「花两秒把一个数从 A 变到 B」这种纯数值的事,像上面这样手写反而更直接。

四、Animation Blueprint:一整个独立王国

动画蓝图是这三个里最不可能有对应物的一个。它有自己的 AnimGraph:状态机、混合空间、骨骼控制节点、IK、动画通知;它跑在自己的动画线程上、按自己的节奏更新;它关心的是骨骼、姿势、混合权重 —— 这些词在游戏逻辑的世界里一个都不出现。

Verse 与它的关系和游戏逻辑与它的关系一模一样:逻辑负责决定「现在应该是跑步状态」,动画系统负责让骨骼看起来像在跑步。这条分界线在蓝图时代就已经存在了 —— Event Graph 也不会去写混合空间,它只是设一个变量,让 AnimGraph 去读。换成 Verse,这条线原封不动。

顺带一提,这也解释了为什么「蓝图会不会被删掉」这个问题本身就问得太粗。就算某一天 Actor 与 Blueprint 真的被弃用(Epic 明确说过:Actor 与 Blueprint 在 UE6 Early Access、目标 2027 年底及早期版本中完整支持,弃用要等 Scene Graph 足够成熟、时间未定),动画蓝图、材质图这些「图」也不在同一个讨论里 —— 它们本来就不是 Actor 那套东西。

五、一条判断法则

以后再遇到查不到的词,用这一句自问:

「它的产物存进的是关卡与逻辑,还是资产与画面?」

存进逻辑的 —— 变量、事件、分支、循环、状态 —— 去词典里找,一定有对应物,最差也是「当前工具还没开放」。存进资产与画面的 —— 曲线、骨骼、材质、粒子、序列 —— 别找了,那不是 Verse 的活儿,你原有的技能一分钱不掉价。

六、小测验

为什么 Verse 里找不到 Construction Script 的对应写法?

来源

本文整理自 Epic 官方文档:Blueprints Visual Scripting(官方文档)↗ · Verse Language Quick Reference(官方文档)↗ · Verse Glossary(官方文档)↗

UE6 与 Scene Graph 的现状以 Epic 在 State of Unreal 2026 的公开说明与官方路线图为准。文中标注「推测」的段落是本站的判断,Epic 尚未公布相关细节。