Office Café · 空间数字孪生

由 IMG_0755.mp4 的已复核重建生成的交互网页。界面参考 Kitchen Twin 的场景浏览、扫描对照与关节操作方式,使用本项目的模型、扫描和原视频;所有运行资源随网页提供。

打开网页

在本文件所在目录运行:

python3 serve.py --port 8766

浏览器打开 http://127.0.0.1:8766/。需要现代 Chrome、Edge、Firefox 或 Safari,以及 WebGL 2。首次加载包含约 9.3 MB 的模型。视频和点云按需载入。网页通过 HTTP 服务打开;直接双击 index.html 会遇到浏览器的本地模块限制。

原项目目录也可以运行:

cd /home/hchen/Documents/astraBlenderTest
python3 scripts/serve_twin.py --port 8766

如何使用

功能 操作
空间总览 拖动旋转,右键或双指平移,滚轮或双指缩放
自由漫游 拖动环视,WASD / 方向键 / 屏幕箭头移动,Esc 返回总览
俯视布局 查看空间安排,拖动平移、缩放
扫描对照 「对照查看 → 扫描 ↔ 模型」,拖动中间分界线或侧栏分界滑块
原视频对照 「原视频 ↔ 模型」,时间轴定位原视频帧,播放按钮同步播放原视频与求解相机
场景显示 切换墙体、顶棚、家具、相机轨迹、扫描点云与跟踪片段;调整剖切高度和亮度
门与抽屉 点击门板开合,或从 16 个关节中选择并调节滑块;也可全部打开 / 关闭
物体选择 点击三维物体,或搜索侧栏物体列表;列表点击会聚焦,显示模型尺寸
重建记录 15 个原相机视角的离线对比;可放大、打开对应实时视角或阅读独立复核报告
导出文件 顶部「下载场景」下载包含 Blender、MJCF、URDF、关节和网格依赖的完整包

漫游为自由相机移动,不做碰撞限制。尺寸顺序为网页世界坐标的 X / Y / Z(Y 向上),属于当前模型包围盒尺寸。物体列表包含组合资产,不等同于检测到的真实物体数量。

MuJoCo 摇晃实验

点击顶部「摇晃实验」或打开 shake.html,查看零驱动、1.5 m/s²、5 m/s² 三组实际 MuJoCo 轨迹。支持环绕、暂停、慢放、逐帧定位与完整仿真包下载。方法和剩余碰撞问题见 实验报告。

该派生场景有 62 个自由家具组件和 16 个被动门 / 抽屉关节。浏览器回放离线模拟状态,不运行物理求解器。最大静置漂移仍为 3.08 cm,因此保留为诊断实验,未宣称通过高精度静置验收。

数据与验证范围

源 Blender SHA-256:

6baf9cbb4758ed712ab6f814e7b26ea3256099f1d903e94ec89aeb745f77686b

独立复核结论为有限度接受的可编辑、带关节程序化重建。尺度来自学习式单目深度,未做物理标定。部分形状、建筑细节、材质、反射与隐藏结构仍为近似。机构、质量、限位与摩擦为推定。

网页保留关节运动,不运行 MuJoCo 或其他物理引擎。网页实时光照和便携 PBR 材质与 Blender 离线渲染有差异。原交付的 798 项配置检查、781 个闭合生成实体和相机序列检查不构成实景测量精度认证。

静态部署

将此目录内容上传到静态托管服务即可,例如 GitHub Pages、Netlify 或 Nginx。保留 assets/、vendor/、evidence/、downloads/ 的相对目录结构和 .nojekyll。主页可以位于域名根路径或 GitHub Pages 项目子路径下,不需要 Node、构建服务或 API 密钥。

GitHub Pages 示例:把此目录内容放入仓库的发布目录,选择该目录作为 Pages 来源。视频服务器应支持字节范围请求,以便快速跳转时间轴;随包的 Python 服务已经支持。

维护与复现

原项目中的脚本:

Three.js 0.180.0 及加载器均存放在 vendor/,采用 MIT 许可证,见 第三方许可。