你按下“闪避”,游戏里的 AI 角色却继续攻击;两个人物打着打着越离越远,最后还陷进地面。逐帧生成画面的交互式 AI,很容易遇到这类问题。它不仅要把下一帧画得像,还得暗中记住角色在哪里、正在做什么、谁挡住谁。前面一点小误差,又会被后面的生成当成事实,越滚越大。
Marionette 换了一种分工:先预测世界的结构,再用确定的几何规则摆好角色,最后交给生成模型补上真实感外观。说白了,它不要求一个模型同时当编剧、场务和美术,而是先搭骨架,再上色。
这里讨论的是交互式游戏世界模型——机器内部那个“如果玩家这样操作,接下来会怎样”的模拟器。它不只生成一段好看的视频,还要持续响应玩家动作。本文的数字和效果均来自作者论文及其实验,尚无独立信源交叉验证。
不再逐帧“猜世界”
常见路线直接在像素或图像的内部表示中接龙:模型根据此前画面和玩家动作,生成下一段画面。自回归生成就是这种接龙方式。问题在于,早期错误也会进入下一轮输入。角色的位置偏了一点,后面可能越偏越远;一次遮挡关系画错,也可能破坏后续一致性。
Marionette 把流程拆成三段。
第一段预测显式世界状态。世界状态可以理解为场景的一本结构化账簿,记录角色位置、身体姿态、旋转和相互关系。Marionette 使用一个两阶段的自回归动力学模型,预测 276 维三维状态,其中包括多个角色的关节骨架、以米为尺度的根节点轨迹和旋转。根节点可以理解为整副骨架在世界中的总位置;其余关节再相对它展开。
两阶段也各有分工。较小的 ActionGPT 先决定角色下一步做什么,为每个角色、每一帧选择一个离散动作,例如攻击、闪避或行走。较大的 PoseGPT 再把动作变成连续的身体姿态。玩家要控制角色时,系统可以直接覆盖那个动作标记,不必重新训练模型或额外增加控制网络。按钮按下的位置,与模型接受控制的位置是同一个接口。
第二段是 graphics bridge,也就是连接状态与画面的“图形桥”。它是一个固定、零参数的渲染器。“零参数”意味着这里没有需要学习的神经网络权重。它按照几何规则,把相对关节位置和根节点运动还原成世界坐标中的骨架,再计算相机投影、尺度和遮挡关系,生成姿态控制视频。谁站在哪里、谁挡住谁,不再由生成模型凭感觉补全。
第三段才负责外观。一个接受结构控制的视频生成模型,把姿态控制视频变成 RGB 彩色画面。它主要处理角色长什么样、材质和视觉真实感,而不是重新猜测骨架应该放在哪里。长视频则分块生成:上一块的末尾画面会成为下一块的起点,用来延续外观;底层几何仍由显式状态和图形桥决定。
真正关键的是“可以在中间动手”
这种拆分的价值,不只是让内部结构更整齐,而是让控制和纠错有了明确落点。
作者在 48 个未参与训练的片段上,强行输入与记录不匹配的动作流,然后观察身体姿态是否随之改变。root-aligned joint error——先减去角色整体位置、只衡量关节姿态差异的误差——改变了 31%。作者据此认为,动作标记确实能影响生成状态,而不是被模型忽略。
但这个数字需要谨慎理解。材料没有交代 31% 是增加还是降低,也没有给出完整基线和统计口径,因此不能把它写成“性能提升 31%”。它最多说明:换掉动作输入后,预测姿态出现了可测变化,控制信号具有实际作用。
更能体现架构差异的,是长时间生成中的失败和修复。
在作者实验里,如果不加约束,两个生成角色最终会漂移到相距 21.2 米;记录下来的游戏过程里,两者通常保持在约 5 米。与此同时,约三分之一的生成帧出现角色穿入地面的情况。这说明显式状态并不会自动保证预测正确。动力学模型依然可能把账记错。
区别在于,现在错误写在一本可读、可修改的账上。研究者在世界状态层加入两条规则:terrain collider 用地形碰撞约束阻止角色进入地面;separation cap 限制两个角色继续向外分离。按作者报告,两条规则使穿地现象减少 66%,并让两个角色继续处于互动距离内。整个修复过程不需要改动负责画面的 observation model。
这很像发现舞台上的演员站错了位置:Marionette 可以直接调整走位,再让灯光和美术照常工作。纯像素模型没有单独暴露出“角色间距”或“脚是否在地面上”这类变量,往往很难只修这一项。
画面质量有没有被结构拖累?
模块化路线常见的疑问是:先经过骨架和几何,会不会牺牲最终画面?作者用 FVD 做了比较。FVD 是衡量生成视频与参考视频在视觉内容和时间连贯性上差异的指标,通常越低越好。
当外观模型使用 Marionette 预测出的状态时,FVD 为 831;改用记录下来的真实姿态时,FVD 为 799。作者将其表述为没有检测到画质损失。不过两个数值并不相同,材料也没有提供方差、置信区间或显著性检验,因此更稳妥的说法是:这组结果没有显示出明显崩塌,但不足以证明两者等价。“photorealistic”同样是作者对输出外观的描述,不是独立质量认证。
为什么值得关注
Marionette 最有意思的地方,不是某个单项分数,而是它重新划定了生成模型的职责边界。
神经生成模型负责擅长的部分:合成外观和视觉细节。几何渲染负责必须精确执行的部分:位置、尺度、投影和遮挡。动力学模型则维护可以检查、控制和修改的角色状态。世界长期运行时,系统不必把所有一致性都寄托在下一帧像不像上。
这条路线也提供了一种更清楚的调试方式。角色穿地,可以检查高度和碰撞;人物失散,可以检查距离与根节点轨迹;按钮失效,可以检查动作标记有没有真正改变姿态。问题被拆成了有名字、有单位的变量,而不是笼统地归结为“视频生成不稳定”。
当然,Marionette 还没有证明这种架构适用于所有交互世界。它更像一个清晰的架构样本:与其让模型反复猜像素,不如先维护一套能执行规则的世界状态,再把画面交给生成模型完成。
局限与未知
- 当前动力学范围集中在带有关节的角色,论文实验还限定于单一商业动作游戏中的单怪物类型。它能否扩展到更多角色、物体和更复杂的互动,材料没有给出答案。
- 几何受状态约束,不等于外观也能长期稳定。论文明确指出,分块接力生成时,角色外观会随时间变化;姿态控制视频规定了几何,却没有提供持久的外观记忆。
- 多项结果缺少完整评测口径或独立复核。21.2 米、约三分之一帧穿地和减少 66% 都应视为作者在其数据与协议下得到的结果,不能直接推广到所有游戏场景。