mcpField
T
threejs-loaders

threejs-loaders

github.com/full-stack-skills开发10407 次安装4 周前更新
代码仓库

关于 threejs-loaders

threejs-loaders 是处理 three.js 资源加载器与导出器的技能,帮助开发者选择格式、管理加载进度与错误,并配置 Draco 或 KTX2 解码及资源清理。

主要功能

  1. 01选择加载器与导出器
  2. 02LoadingManager 进度与错误处理
  3. 03配置 Draco 和 KTX2
  4. 04glTF 与 OBJ 导出指引
  5. 05资源安全与清理

适用场景

  1. 01加载多个资源并报告进度
  2. 02配置压缩 glTF 解码
  3. 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.yaml
examples/
workflow-gltf-draco.md
references/
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”
  • “加载模型”、“导出”、“进度条”

如何使用此技能

  1. 按格式选择加载器;条件允许时,优先使用 glTF 进行 PBR 互操作。
  2. 为多个资源组成的批次接入 LoadingManager;显示 onStart/onLoad/onProgress/onError。
  3. glTF + Draco:实例化 DRACOLoader,设置解码器路径,并根据当前文档将其附加到 GLTFLoader.setDRACOLoader。
  4. glTF + KTX2:配置带转码器路径的 KTX2Loader,并在使用 Basis 纹理时将其连接到 GLTFLoader。
  5. 导出:使用选项符合往返需求的 GLTFExporter;注意大型场景以及二进制与 JSON 的区别。
  6. 安全性:仅在验证用户 URL 后加载;说明跨域资源的 CORS 要求。
  7. 加载后:遍历场景以查找材质/网格,并将材质调整工作交给 threejs-materials。

参见 examples/workflow-gltf-draco.md。

文档索引(官方)

文档部分代表性链接
核心加载器https://threejs.org/docs/LoadingManager.html
核心加载器https://threejs.org/docs/GLTFLoader.html
附加组件导出器https://threejs.org/docs/GLTFExporter.html
附加组件加载器https://threejs.org/docs/DRACOLoader.html

扩展列表: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 回复检查清单

使用此技能回答时,优先提供符合以下要求的回复:

  1. 链接到 https://threejs.org/docs/ 上的 LoadingManager、GLTFLoader 或相关格式页面。
  2. 区分加载(此技能)与解码后的纹理/材质调整(threejs-textures、threejs-materials)。
  3. 资源加载失败但未明显报错时,说明 Draco/KTX2 的解码器路径和 CORS。
  4. 如实说明导出器的限制(自定义着色器、扩展)。
  5. 更换整个已加载场景时,建议调用 dispose()。

参考资料

关键词

英文: gltf, gltfloader, dracoloader, ktx2, loadingmanager, cache, exporter, asset pipeline, three.js

中文: GLTFLoader、加载器、Draco、KTX2、导出、资源、进度、three.js

评论

支持 Markdown