关于 threejs-loaders
threejs-loaders 是处理 three.js 资源加载器与导出器的技能,帮助开发者选择格式、管理加载进度与错误,并配置 Draco 或 KTX2 解码及资源清理。
主要功能
- 01选择加载器与导出器
- 02LoadingManager 进度与错误处理
- 03配置 Draco 和 KTX2
- 04glTF 与 OBJ 导出指引
- 05资源安全与清理
适用场景
- 01加载多个资源并报告进度
- 02配置压缩 glTF 解码
- 03将场景导出为 glTF 或 OBJ
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ full-stack-skills/ threejs-skills --skill threejs-loaders安装后在 Claude Code 中输入/threejs-loaders确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlexamples/workflow-gltf-draco.mdreferences/official-sections.md详细介绍
何时使用此技能
用户提到以下内容时,始终使用此技能:
GLTFLoader、DRACOLoader、KTX2Loader、FBXLoader、OBJLoader、进度和错误处理- 用于全局进度的
LoadingManager,用于控制 HTTP 缓存的Cache - 导出:
GLTFExporter、OBJExporter、HDR/KTX2 导出管线 - IES、UltraHDR,或文档中 Addons Loaders 下列出的特定领域加载器
重要:加载器与纹理
- threejs-loaders = 获取/解码/解析文件并将其转换为 three 对象。
- threejs-textures =
Texture/DataTexture参数、采样,以及已有图像缓冲区后的 PMREM 处理。
重要:加载器与 dev-setup
- 导入路径问题归 threejs-dev-setup 处理;此技能假定导入路径已正确解析。
触发短语包括:
- “GLTFLoader”、“DRACO”、“KTX2”、“LoadingManager”、“export gltf”
- “加载模型”、“导出”、“进度条”
如何使用此技能
- 按格式选择加载器;条件允许时,优先使用 glTF 进行 PBR 互操作。
- 为多个资源组成的批次接入 LoadingManager;显示
onStart/onLoad/onProgress/onError。 - glTF + Draco:实例化
DRACOLoader,设置解码器路径,并根据当前文档将其附加到GLTFLoader.setDRACOLoader。 - glTF + KTX2:配置带转码器路径的
KTX2Loader,并在使用 Basis 纹理时将其连接到GLTFLoader。 - 导出:使用选项符合往返需求的
GLTFExporter;注意大型场景以及二进制与 JSON 的区别。 - 安全性:仅在验证用户 URL 后加载;说明跨域资源的 CORS 要求。
- 加载后:遍历场景以查找材质/网格,并将材质调整工作交给 threejs-materials。
参见 examples/workflow-gltf-draco.md。
文档索引(官方)
扩展列表:references/official-sections.md。
范围
- 涵盖范围: 加载器和导出器类、管理器/缓存、格式选择、Draco/KTX2 插件接入、导出基础知识。
- 不涵盖: 服务端转码管线;three 文档之外的物理或游戏引擎资源工具。
常见问题与最佳实践
- Draco/KTX2 解码器路径必须与部署文件匹配;路径错误可能不会立即显现,直到
onError报错才会发现。 - 合并后可能出现重复的纹理实例;克隆材质时,请考虑
renderer.initTexture的影响。 - 导出器可能无法往返保留自定义着色器;请说明其限制。
- 替换已加载的场景时,务必释放几何体/材质,以避免 GPU 资源泄漏。
文档与版本
加载器和导出器 API(尤其是 GLTFLoader 与 DRACOLoader / KTX2Loader 的接入方式)会随 three.js 版本变化。请参阅 three.js 文档中的 Loaders 和 Addons → Loaders / Exporters;解码器 WASM 路径取决于具体部署,而不仅仅取决于库版本。
Agent 回复检查清单
使用此技能回答时,优先提供符合以下要求的回复:
- 链接到 https://threejs.org/docs/ 上的
LoadingManager、GLTFLoader或相关格式页面。 - 区分加载(此技能)与解码后的纹理/材质调整(threejs-textures、threejs-materials)。
- 资源加载失败但未明显报错时,说明 Draco/KTX2 的解码器路径和 CORS。
- 如实说明导出器的限制(自定义着色器、扩展)。
- 更换整个已加载场景时,建议调用
dispose()。
参考资料
- https://threejs.org/docs/#Loaders
- https://threejs.org/docs/LoadingManager.html
- https://threejs.org/docs/GLTFLoader.html
- https://threejs.org/docs/GLTFExporter.html
关键词
英文: gltf, gltfloader, dracoloader, ktx2, loadingmanager, cache, exporter, asset pipeline, three.js
中文: GLTFLoader、加载器、Draco、KTX2、导出、资源、进度、three.js
评论
支持 Markdown