LOADER · Vite + three
glTF + DRACO 加载与进度glTF with DRACO and loading UI
GLTFLoader + DRACOLoader 加载压缩模型,屏幕显示加载进度与错误处理。
旗舰完整演示
可交互场景(拖拽旋转;部分演示支持键盘)。下方提示词用于让 Agent 生成同级成品。
预期产出 · Returns
可配置 modelUrl 的 Vite 页面;加载条;失败时友好错误信息;模型自动居中与缩放至单位尺寸。
适合用在哪
产品展示、角色/道具预览、需要真实资产而非占位几何体时。
容易踩的坑
- DRACO decoder 路径错误会导致模型永远 loading。
- 大模型未居中会导致相机看不到物体。
提示词 · Prompt
Vite + Three.js 实现 glTF 加载页:
1) GLTFLoader + DRACOLoader,decoder 路径指向 three/examples/jsm/libs/draco/;
2) 通过常量 MODEL_URL 配置远程 glTF(可用 Khronos 示例);
3) LoadingManager 或 loader 进度回调,更新 DOM 进度条与百分比;
4) 加载完成后:计算 bounding box,将模型缩放并居中到原点,相机与 OrbitControls 对准;
5) 加载失败 catch 错误,UI 显示重试按钮;
6) 在 dispose 时释放 geometry/material/texture。
给出完整源码与 README 中 MODEL_URL 替换说明。
Vite: GLTFLoader + DRACOLoader, progress UI, auto frame model, dispose on unload, configurable MODEL_URL.