mcpField
T
threejs-textures

threejs-textures

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

关于 threejs-textures

用于配置 three.js 纹理和环境贴图的参考技能,帮助开发者选择色彩处理与采样设置,并区分纹理配置和文件加载。

主要功能

  1. 01配置纹理色彩空间
  2. 02选择过滤器与 mipmap
  3. 03设置采样各向异性
  4. 04用 PMREMGenerator 处理环境贴图
  5. 05更新并释放视频或画布纹理

适用场景

  1. 01正确处理反照率贴图的 sRGB
  2. 02调整缩小纹理的采样方式
  3. 03从环境贴图生成环境光照
  4. 04替换资源时释放纹理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/full-stack-skills/threejs-skills --skill threejs-textures

安装后在 Claude Code 中输入/threejs-textures确认已加载。

附带文件agents/openai.yamlexamples/workflow-pmrem-env.md

详细介绍

何时使用此技能

用户提到以下内容时,始终使用此技能:

  • texture.wrapS / wrapT、minFilter、magFilter、generateMipmaps、anisotropy
  • colorSpace / 正确处理 sRGB 与线性数据贴图
  • 创建 DataTexture、CubeTexture、压缩 GPU 格式、由视频或画布驱动的纹理
  • 使用环境贴图,通过 PMREMGenerator 实现 IBL

重要:纹理与加载器

步骤技能
解码文件 / HTTPthreejs-loaders
配置 GPU Texturethreejs-textures

触发短语包括:

  • “Texture”、“CubeTexture”、“PMREM”、“colorSpace”、“mipmap”、“各向异性”
  • “环境贴图”、“数据纹理”、“压缩纹理”

如何使用此技能

  1. 分类:确定纹理的维度和格式(2D、立方体、深度、压缩、数据)。
  2. 色彩管线:适当设置 colorSpace;法线贴图和粗糙度贴图属于非颜色数据。
  3. 采样:选择过滤方式;发生缩小时启用 mipmap;考虑使用最大各向异性。
  4. PMREM:按照文档将环境贴图传入 PMREMGenerator;根据需要将结果指定给场景、环境或强度路径。
  5. 视频/画布:了解 VideoTexture / CanvasTexture 每帧的更新需求。
  6. 释放资源:替换纹理时调用 dispose(),以释放 GPU 内存。
  7. KTX2/Basis:在此步骤之前,转码器接线应由 threejs-loaders 负责。

参见 examples/workflow-pmrem-env.md。

文档索引(官方)

文档章节代表性链接
纹理https://threejs.org/docs/Texture.html
立方体https://threejs.org/docs/CubeTexture.html
数据https://threejs.org/docs/DataTexture.html
PMREMhttps://threejs.org/docs/PMREMGenerator.html

范围

  • 范围内: 核心纹理和 PMREMGenerator;纹理层级的采样与色彩管线。
  • 范围外: 加载器配置;采样缓冲区的后期处理通道(threejs-postprocessing)。

常见问题与最佳实践

  • 在线性工作流中,sRGB 反照率贴图若未正确设置 colorSpace,与渲染器输出相比会显得不对。
  • 非 2 的幂次纹理在 mipmap 和环绕方式上存在限制,除非对纹理进行填充。
  • 热重载时忘记释放纹理会导致 VRAM 泄漏。

文档与版本

纹理类和 PMREMGenerator 的文档位于 Textures 和 PMREMGenerator 页面,参见 three.js 文档。压缩纹理和 KTX2 流程通常依赖 threejs-loaders 先完成转码器配置,之后才能使用此技能。

Agent 回复检查清单

使用此技能回答时,优先采用以下做法:

  1. 根据情况链接 Texture、DataTexture、CubeTexture 或 PMREMGenerator。
  2. 将 colorSpace / 过滤方式与 threejs-renderers 输出及 threejs-materials 贴图关联起来。
  3. 涉及 Draco/KTX2 解码器接线的问题时,先转交 threejs-loaders。
  4. 替换环境贴图或大型图集时,强调调用 dispose()。
  5. 仅在涉及环绕/过滤枚举时,才提及 Global 常量。

参考资料

关键词

英文: 纹理、立方体贴图、pmrem、mipmap、色彩空间、压缩纹理、数据纹理、three.js

中文: 纹理、立方体贴图、PMREM、mipmap、色彩空间、压缩纹理、three.js

评论

支持 Markdown