用途:让用户从任意角度查看并下载一个用 three.js 构建的 3D 对象,展示在 three_d_stage 起始组件中。
主要能力:起始组件已包含完整查看器——影棚灯光、地面阴影、轨道控制、自动取景相机,以及可将对象下载为 OBJ+MTL 或 GLB 的工具栏。使用者只需编写建模模块脚本。
使用方式:先调用 copy_starter_component,kind 为 "three_d_stage.js",阅读复制文件的 usage 块并严格遵循其页面骨架。页面用普通 HTML 编写(.html 文件加普通标签),即使项目其他设计是 .dc.html Design Components 也如此,因为 DC 会限制脚本并可能与舞台挂载竞争。three.js 只能通过指定的固定 import map 加载,置于任何模块脚本之前,不得更改版本、URL 或哈希,不得添加其他 three.js 副本,也不得导入所列三个之外的 addon。模型以 THREE.Group 程序化构建,由命名部件组成:优先组合 BoxGeometry、CylinderGeometry、SphereGeometry、TorusGeometry、LatheGeometry、ExtrudeGeometry(配合 Shape)等图元,再考虑原始 BufferGeometry。为每个网格和材质命名(如 "hull"、"walnut"、"brass"),这些名称会成为导出 OBJ 的 o / usemtl 条目和 GLB 的节点名,便于在 Blender 中使用。使用 MeshStandardMaterial 与 3-5 种共享材质的小型调色板,刻意设置 roughness/metalness;纹理不会在 OBJ 导出中保留,应优先几何与材质颜色。以真实世界米为单位建模,y 轴向上,居中于原点,底部位于最低 y;将共面面片偏移约 0.001 以避免 z-fighting。曲面需足够分段(特征面 32+ 径向分段)以在全屏下显得平滑,但不细分无人看到的部分。
适用场景:需要可交互查看、可下载的 3D 模型,并希望导出到 Blender、Maya、Cinema 4D、Unity、Unreal 等工具时。
限制:舞台仅提供 OBJ+MTL 与 GLB 两种导出格式;用户若要求 FBX、USDZ、STEP 等,应明确说明只支持这两种。迭代时可用截图查看,舞台保留最后一帧,普通截图工具即可捕获实时画布;编辑模块文件后需用 show_html 重新加载再截图,因为 iframe 会缓存已加载模块。从默认取景查看对象,优化轮廓、比例与材质区分,轮廓决定对象观感。