Datawhale干货
作者: 北大 OpenDCAI 团队
角色、场景、动作、声音、玩法和 UI,都可以交给 Coding Agent 组织起来,再落到 UE5、Unity、Godot 4、Blender 或 three.js 中。
“做一个 RPG”“做一个 FPS”“做一款赛车游戏”——现在,提出一个游戏想法并不难。真正难的是把它做出来。
一个看似简单的游戏原型,往往要同时处理角色和道具、场景、动作、音频、玩法逻辑、UI 和引擎接入。模型可以帮忙生成其中某一项,却很难自动处理它们之间的关系:角色生成后怎么绑骨,动作如何接上,武器怎样进入玩法,场景如何承载交互,最后又怎样在引擎里跑起来。
过去,这些工作通常散落在不同工具、脚本和资产库中。做出一个片段不难,做出一个能够继续修改和扩展的游戏切片,才是门槛。
北京大学 OpenDCAI 团队开源的 3AGameFactory(GameFactory-3A),正在把这条链路接起来。它让 Coding Agent 根据游戏需求,调用相应的 Skills 和 Pipeline,生成游戏资产与引擎代码,并把它们组织成可运行的游戏原型。
一、游戏生成最难的,是把不同环节真正接起来
游戏开发不是把几张图片、几个模型和一段代码放在一起。一个角色要进入场景,动作要匹配骨骼,武器要接入机制,UI 要读取运行时状态;任何一个环节没有接上,最后都只是零散素材。
3AGameFactory 从这个问题出发,把游戏生成拆成几类可以被 Agent 调用的能力:
图片和 T-pose 预处理;
3D 物体与 3D 场景生成;
动作生成、绑骨和重定向;
对话、音效和环境声生成;
玩法机制与运行时行为生成;
HUD、菜单和交互界面生成;
文本或参考图驱动的 CG 视频生成。
Agent 负责理解需求和安排流程,Pipeline 负责执行具体任务,最后由目标引擎把结果跑起来。这样,游戏生成就不再停在一次性的脚本上,而能沿着同一条流程继续修改。
二、让 Coding Agent 进入游戏生产流程
3AGameFactory 的入口是 agent_skills/setting_overview.md。它为 Agent 提供游戏生成所需的工作流和路由信息,再根据目标选择对应的资产 Skill、玩法流程和引擎 API 上下文。
目前项目支持 UE5、Unity、Godot 4、Blender 和 three.js:
UE5 适合复杂场景、角色和运行时效果;
Unity 适合快速验证格斗、FPS、赛车等玩法;
Godot 4 适合轻量游戏原型;
Blender 适合探索、动画和程序化场景;
three.js 可以把游戏直接展示在浏览器中。
仓库同时提供了模型封装、Operator、Pipeline、引擎适配器和测试脚本。对于框架贡献者,还提供 CPU-only smoke harness,用来先验证流程契约,再接入模型权重或 GPU 环境。
三、五类引擎里的游戏演示Unity:格斗、FPS 与赛车
格斗角色由 Meshy 生成,再使用 Puppeteer + MoMask 完成绑骨与动作;FPS 枪械和赛车车辆由 Hunyuan3D 生成,角色与动作来自 Mixamo,场景来自 Unity 资产库。
以下是展示视频:
UE5:格斗、RPG 与 FPS
格斗角色,以及 RPG 中的人物、石碑和宝箱由 Meshy 生成;FPS 枪械由 Hunyuan3D 生成;其他角色与动作来自 Mixamo 等开源资产,场景使用开源内容。
Godot 4:生成物体与引擎资产结合
这些演示把 Meshy 生成的物体和 Godot 自带资产放在同一套游戏场景中。
Blender:探索、FPS、格斗与赛车
格斗和赛车演示使用下载的简单资产;探索和 FPS 演示结合下载的场景贴图与 Meshy 生成的物体。
three.js:格斗、RPG、FPS 与赛车
three.js 演示把不同类型的游戏放进浏览器,适合快速展示交互原型。
四、即使游戏还在制作,宣传片也可以先出来
游戏项目需要实机,也需要开场、剧情和战斗演出。另外还有 4 条 CG 视频,分别对应 F1 赛车游戏开场、奇幻探索 RPG 中段剧情、反恐战术 FPS 宣传片,以及双人格斗游戏的大招演出。
这些演示使用 MiniMax H3 在本地以 720P 生成,也可以根据需求使用更高本地分辨率或 Seedance 等云端 API。
五、从资产到游戏切片
3AGameFactory 覆盖从资产到玩法的多段流程:
从一个小型原型开始,先把角色、场景和玩法接通,再逐步替换资产、增加交互、补齐声音和镜头,这也是项目把不同环节放进同一套工作流的原因。
如果你正在做 AI 游戏生成、引擎工具链,或者想把游戏资产生产流程开源出来,欢迎来看看 3AGameFactory:
开源只是起点。真正有意思的部分,是让生成出来的角色、场景和玩法,在游戏里动起来。
一起“点赞”三连↓