High-Precision 3D Web Optimize
将高精度 GLB/GLTF 模型优化为适合 Web 3D 与数字孪生平台交付的轻量化资产,重点是 保护 UV、保护材质与贴图表现、降低文件体积与浏览器渲染压力,并输出可直接接入的 LOD 结果。
Do this by default
- 先判断模型是否属于高精度交付资产,是否存在高面数、高贴图成本或不规则拓扑风险。
- 默认保持 workflow UV-safe。
- 优先做 geometry / texture optimization,再考虑 retopo。
- 生成
optimized.glb、lod0.glb、lod1.glb、lod2.glb和manifest.json。 - 在 Three.js 或 Babylon.js 中验证加载结果。
Recommended workflow
- 检查 model origin、UV risk、topology risk
- 清理 invalid / dirty geometry
- 执行 UV-safe simplification
- 压缩 textures and geometry
- 生成
lod0、lod1、lod2 - 写出
manifest.json - 验证 browser loading、Draco 解码与 LOD switching
- 根据结果给出 tuning advice
Treat as high-precision optimization candidates when you see
- messy UVs / UV 混乱
- noisy surfaces / 表面噪声重
- baked-looking shadows / 带明显烘焙阴影
- irregular topology / 拓扑不规则
- unusually high polygon count / 面数异常高
- abnormally large
.glbsize / 文件体积异常大 - high texture resolution or heavy material stacks / 高分辨率贴图或重材质栈
Avoid by default
- Voxel Remesh
- Quad Remesh
- destructive re-topology that reuses original textures without rebake
- workflows likely to break UV alignment
- 无 Bake 的破坏性重拓扑复材质流程
Default outputs
output/
└─ model-name/
├─ model-name.optimized.glb
├─ model-name.lod0.glb
├─ model-name.lod1.glb
├─ model-name.lod2.glb
└─ manifest.json
Default parameters
{
"lod0": 1.0,
"lod1": 0.55,
"lod2": 0.25,
"textureSize": 2048,
"geometryCompression": "draco",
"textureCompression": "webp"
}
Suggested targets
| Metric | Recommended value |
|---|---|
| Single model size | < 10 MB |
| Mobile single model size | < 5 MB |
| Single model triangle budget | < 100k |
| Main scene total triangle budget | < 2M |
| First screen load time | < 3 s |
Troubleshooting
Material looks blurry / 材质变糊
- raise
textureSize,如1024 -> 2048 - reduce texture compression strength
- preserve more geometry in
lod0
Model is still too large / 模型仍然太大
- reduce texture size
- make
lod1andlod2more aggressive - confirm Draco or Meshopt is enabled
- split the asset for lazy loading if needed
Model deforms after simplification / 模型变形或破面
- use a higher simplify ratio
- clean non-manifold or broken triangles first
- keep
lod0closer to original geometry
Escalate only when explicitly requested
仅当用户明确需要以下目标时,才切换到 Retopo + UV + Bake:
- editable low-poly assets / 可编辑低模
- clean topology / 干净拓扑
- game-engine editing / 游戏引擎深度编辑
- re-texturing workflows / 重新贴材质流程
要明确提醒:这是重制流程,不是简单压缩,成本显著更高。
References
references/optimize-glb.mjs: automation template for batch optimization, LOD generation, and manifest output;适合自动化处理与批量生成结果。references/threejs-load-lod.js: Three.js loading example for DRACO + LOD integration;适合前端接入与加载代码生成。references/package-template.json: minimal Node project template for running the optimization flow;适合初始化最小可运行工程。
Response template
- Decision / 判断:说明该任务应继续走 UV-safe optimization,还是升级到 Retopo + UV + Bake。
- Actions / 已执行项:列出 cleanup、simplification、texture compression、LOD generation、manifest output、load validation。
- Results / 结果:说明体积变化、几何压缩结果、LOD 输出和 Web loading status。
- Risks / 风险:指出 blur、deformation、decode-path issues、loading bottlenecks 等问题。
- Next step / 下一步:给出 tuning、splitting、lazy loading 或 engine integration 建议。