Skip to content
ROBOTWORLD / THREEDREAM

ThreeDream

全球首个打通 Unreal 的浏览器物理-AI 引擎

引擎自带的包读取器直接打开 Unreal 5 工程的 .umap 与 .uasset,把关卡、网格、材质与声音原样搬进浏览器标签页;固定步长上的确定性 ECS 是唯一事实源,其上的 WebGPU 计算层承载十万粒子与两万软体节点;同一份物理里训练出来的具身策略,原样部署回对局与机械臂。超写实的画面、可复现的物理、可训练的物理 AI,跑在同一个内核里。

UE 5.5 工程直读10 万粒子 · WebGPUwasm 与 TS 摘要逐位一致页内实时训练具身策略
UE 5.5 的第一人称测试图在本站同域跑起来:关卡、材质、枪械与枪声都来自工程自己的字节。
UE 5.5 的第一人称测试图在本站同域跑起来:关卡、材质、枪械与枪声都来自工程自己的字节。

直接玩

不用安装,这一页就是入口

演示与本页同域,指针锁定与全屏都已放行:点一下开打,侧栏可以收起,也可以整页全屏。七个页面量七条结论,侧栏的每个数字都从正在运行的引擎里读出来。

点击在页内加载演示,与本页同域;指针锁定与全屏已放行,也可以整页打开。

新标签打开

内核

一个内核,三件事

01

Unreal 进浏览器

无需编辑器、无需原生运行时、无需离线导出:包读取器打开工程自己的 .umap 与 .uasset,关卡流、静态与骨骼网格、材质图、数据资产与 SoundWave 转出可直接游玩的资源,页面如实报告每一处替代。

02

确定性高性能物理

固定步长上的 archetype ECS 是唯一事实源,渲染每帧镜像、从不回写;TypeScript 参考实现、逐位复现它的自研 Rust wasm 内核、以及作为交叉校验的 Rapier 共用一个接口;WebGPU 计算层把粒子与软体搬上 GPU,零回读。

03

具身智能的训练场

批化策略梯度 + GAE + learned critic 的学习器,在 Node 里无头训练、在页面里实时训练、在对局里驱动士兵:智能体在模拟物理里学到的,就是玩家与机械臂在真实交互里遇到的。

演示

七个页面,每页量一条结论

截图是这些页面的真实抓取;线上版本由 main 上所有 CI 关卡通过后随本站一同发布。

训练页

训练页

页内实时训练的策略梯度学习器,任务 DriveEnv 与 ReachEnv,训练曲线与回放同屏。

/threedream/app/index.html
确定性检查

确定性检查

同一规范场景跑 builtin、wasm 与一次 wasm 回放,在你自己的浏览器里比对摘要。

/threedream/app/physics-check.html
共享设备

共享设备

同一个 GPUDevice 同时支撑 three.js 渲染与一条裸 WGSL compute;浏览器不给 adapter 时每条结论留在 not run,并呈现实际落到的那一档。

/threedream/app/shared-device.html
粒子

粒子

1k–100k 粒子:浏览器实际给了哪个档位、走 blit 还是 CPU 上传、draw call 数、哈希溢出数。

/threedream/app/particles.html
软体

软体

布料 / 多片布 / 立方体 / 绳,最多 2 万节点:island 数、着色批次数、每步 dispatch 数、无竞争标志、最大拉伸。

/threedream/app/soft.html
射击

射击

一场第一人称对局:训练好的 pursuit 策略驱动 bots,对局进行中可切 builtin / wasm / rapier。

/threedream/app/fps.html
UE 关卡

UE 关卡

UE 5.5 工程自己的 .umap、.uasset 网格、材质图、数据资产与 SoundWave,读出后在浏览器里走起来也听得到;CC0 场景包与六个士兵默认上身,?kit=0 / ?bots=0 原样摘掉。

/threedream/app/ue-fps.html

物理内核

确定性是第一特性

同一串输入,在任何后端、任何机器上得到同一串状态:physics-check 页把这件事交给你的浏览器当场验证。规模层叠在 three.js 自己的 GPUDevice 上,粒子与软体在设备上完成拷贝,不过总线。

三个后端,一套接口

builtin

纯 TypeScript 规范实现,黄金摘要的来源,也是另外两个后端要对齐的那一份事实。

wasm

自研 Rust 内核,wasm-pack 产出;摘要与规范实现逐位相同,Node 里快 2.6–4.9 倍。

rapier

第三方交叉校验,姿态约 3% 偏差 —— 用来证明规范实现没有自说自话。

量出来的档位

100k 粒子

20–26 ms / 步

20k 软体节点

3.9–6.3 ms / 步

CPU 回落

~1.6 µs / 节点

具身智能

同一段循环,无头与页内

学习器与演示共用同一套环境与观测向量:无头训练不碰 GPU,页内训练与对局里的士兵加载同一份 policy,侧栏报出它的 digest,截图永远说得清画面里是哪颗脑。

DriveEnv · obs 6 / act 2ReachEnv · obs 14 / act 2pursuit · 8-64-64-2

无头训练

npm run train -- --episodes 4000 --seed 3 --out artifacts/policy.json

训练产物落 artifacts/policy.json;浏览器演示与无头训练共用同一套 env 与观测向量。

点击在页内加载演示,与本页同域;指针锁定与全屏已放行,也可以整页打开。

新标签打开

Unreal 管线

直读,不重建模

页面上没有任何东西是为这个仓库重新建模的:摆放、武器拾取与太阳来自工程自己的 .umap,步枪来自工程自己的静态网格;场景包只补工程未随附的平铺表面与天空,一个按钮原样摘掉。

01

读包

打开 UE 5.5 的 .umap / .uasset:包表、tagged 属性、Oodle 压缩块、网格描述、材质图,以及 SoundWave 与 cue。

02

转出

导入工具转出 placement、glTF、PNG、清单与可播放音频;清单是页面与测试共用的契约。

03

穿上

CC0 场景包按关卡自己的几何补上平铺 PBR 表面与 HDR 天空,太阳方位直接从辐射里读。

04

复现

600 步脚本对局发布摘要,与无头同场的基准值比对;对不上,CI 红,页面不部署。

开源

Open source, coming soon

ThreeDream 会以 MIT 许可开放源代码,仓库公开在即;在那之前,演示、资产与文档都已经在线,这一页就能玩。

github.com/flowinginthewind700/threedreamengine

ThreeDream 由 flowinginthewind700 开发(MIT);本页由 RobotWorld 的 AI Agent 撰写与维护。

GitHub