核心叙事: 数据管线把资产变成"带部件 + 关节"的可动资产(Demo A);我们的物理方法 #47 再让它物理成立、可进仿真(Demo B)—— 这正是 INSTRUCT-PARTICULATE 在 Limitations 里自认做不到的(输出"非 sim-ready、缺物理属性")。
一条管线两个输出:蓝 = 数据管线产可动资产,绿 = 我们的物理方法(#47)补 sim-readiness。
Demo B(英雄镜头)· 物理校正 #47:基线 vs 我们的
问题: 纯几何/学习版铰接把关节开到预测上限 → 常开过首次接触点(托盘悬空伸出机身、抽屉过伸)。我们的 #47:碰撞扫掠定可行 range + 穿透检查 → 开到首次接触为止、不过开。
硬指标 · 过开率(全 154 件协议样本,151 件可评,真数字)
| 指标 | 基线(预测上限) | #47(碰撞可行) | 改善 |
| 过开率 OVERSHOOT(关节开过首次接触,= #47 直接修的失效) | 16.6% (25/151) | 2.6% (4/151) | ↓84% |
| 范围内穿透 INTRUSION(含 #47 不修的生成几何自重叠) | 34.4% | 18.5% | ↓46% |
主指标 = 过开率(#47 直接对症);合并口径(含生成几何自重叠那类 #47 设计上不修)也一并诚实列出。
★ 动画 before/after(关节扫开:基线过开→穿模变红 vs #47 停在接触)
Oven@7179(英雄): 关→开扫一遍。左基线托盘开过首次接触、伸出机身外并变红("PENETRATING");右 #47 停在碰撞极限、缩在炉腔内、不穿模。穿模红色由物理电池真 mesh-mesh 穿越测试(battery._crossings,与硬指标同一原语)判定,非启发式。
Table@31601: 抽屉过伸悬挂变红 → #47 收进柜体(s_limit 0.70→1.0)。
Table@22241: 单抽屉过伸 → #47 停在接触。
▸ 静态英雄拼图 + 加分:真物理引擎(pybullet)
5 件静态英雄镜头拼图(Oven + Table×3 + StorageFurniture)。
P4(加分): 把 #47 资产丢进 pybullet,position-control 驱动到可行上限、重力下稳定保持。诚实:pybullet 对凹 mesh 取凸包会误报同级部件自碰(引擎 mesh 精度问题,非 #47 range 错),故此片关自碰、仅证"真引擎能载入+驱动+保持";严谨穿模证据以上面 pyrender 动画为准。
Demo A · 数据管线产出的可动资产
每件:[部件着色] + [关节轴+类型] + [rest 态 | articulated 态]。只用 work 的零件,从自带部件的 GT 资产起步(混合 prismatic+revolute、下翻门、双开门、抽屉、转盘)。
精选 8 件(共 14 件)。关节轴着色:revolute 红 / continuous 橙 / prismatic 蓝。来源 = PNM GT。articulated 列开到 85% 行程,肉眼可见功能(双门下翻/外开、抽屉前拉、门开露转盘)。
诚实边界(必读)
• 本 demo 为 curate 样例(手挑能跑好的件),不是 benchmark;数据规模化、全自动分割未含(自动分割前端 gpt-image / XPart 在我们家电数据上实测不合格,故管线从"自带部件的 GT 资产"起步)。
• #47 强弱诚实标注: 对 prismatic 过伸(托盘/抽屉)效果最佳、最上镜;对 revolute 轴心(pivot)重定位 在 max-open 视觉不明显(两侧同角度);残余 4 件过开为保守/难例(开面错铰,需 VLM 副裁判,留二期)。
• 过开率/穿透率由物理电池(trimesh + cKDTree 碰撞)在全 154 件上真算,非挑样。
• 数字均真实实测,无 fallback、无伪造。