关于 threejs-textures
用于配置 three.js 纹理和环境贴图的参考技能,帮助开发者选择色彩处理与采样设置,并区分纹理配置和文件加载。
主要功能
- 01配置纹理色彩空间
- 02选择过滤器与 mipmap
- 03设置采样各向异性
- 04用 PMREMGenerator 处理环境贴图
- 05更新并释放视频或画布纹理
适用场景
- 01正确处理反照率贴图的 sRGB
- 02调整缩小纹理的采样方式
- 03从环境贴图生成环境光照
- 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、anisotropycolorSpace/ 正确处理 sRGB 与线性数据贴图- 创建
DataTexture、CubeTexture、压缩 GPU 格式、由视频或画布驱动的纹理 - 使用环境贴图,通过
PMREMGenerator实现 IBL
重要:纹理与加载器
| 步骤 | 技能 |
|---|---|
| 解码文件 / HTTP | threejs-loaders |
配置 GPU Texture | threejs-textures |
触发短语包括:
- “Texture”、“CubeTexture”、“PMREM”、“colorSpace”、“mipmap”、“各向异性”
- “环境贴图”、“数据纹理”、“压缩纹理”
如何使用此技能
- 分类:确定纹理的维度和格式(2D、立方体、深度、压缩、数据)。
- 色彩管线:适当设置
colorSpace;法线贴图和粗糙度贴图属于非颜色数据。 - 采样:选择过滤方式;发生缩小时启用 mipmap;考虑使用最大各向异性。
- PMREM:按照文档将环境贴图传入
PMREMGenerator;根据需要将结果指定给场景、环境或强度路径。 - 视频/画布:了解
VideoTexture/CanvasTexture每帧的更新需求。 - 释放资源:替换纹理时调用
dispose(),以释放 GPU 内存。 - 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 |
| PMREM | https://threejs.org/docs/PMREMGenerator.html |
范围
- 范围内: 核心纹理和 PMREMGenerator;纹理层级的采样与色彩管线。
- 范围外: 加载器配置;采样缓冲区的后期处理通道(threejs-postprocessing)。
常见问题与最佳实践
- 在线性工作流中,sRGB 反照率贴图若未正确设置 colorSpace,与渲染器输出相比会显得不对。
- 非 2 的幂次纹理在 mipmap 和环绕方式上存在限制,除非对纹理进行填充。
- 热重载时忘记释放纹理会导致 VRAM 泄漏。
文档与版本
纹理类和 PMREMGenerator 的文档位于 Textures 和 PMREMGenerator 页面,参见 three.js 文档。压缩纹理和 KTX2 流程通常依赖 threejs-loaders 先完成转码器配置,之后才能使用此技能。
Agent 回复检查清单
使用此技能回答时,优先采用以下做法:
- 根据情况链接
Texture、DataTexture、CubeTexture或PMREMGenerator。 - 将
colorSpace/ 过滤方式与 threejs-renderers 输出及 threejs-materials 贴图关联起来。 - 涉及 Draco/KTX2 解码器接线的问题时,先转交 threejs-loaders。
- 替换环境贴图或大型图集时,强调调用
dispose()。 - 仅在涉及环绕/过滤枚举时,才提及 Global 常量。
参考资料
- https://threejs.org/docs/#Textures
- https://threejs.org/docs/Texture.html
- https://threejs.org/docs/PMREMGenerator.html
关键词
英文: 纹理、立方体贴图、pmrem、mipmap、色彩空间、压缩纹理、数据纹理、three.js
中文: 纹理、立方体贴图、PMREM、mipmap、色彩空间、压缩纹理、three.js
评论
支持 Markdown