Community图像github.com

minhdv-zz/tb-hoidz

使用调色板条带渐变UV映射,从概念图纹理化已有的Blender游戏模型。仅在用户明确调用 /tb-hoidz、$tb-hoidz 或 tb-hoidz 时触发。不要响应泛泛的渐变映射、UV渐变或调色板上色请求,以免与其他团队成员的纹理技能冲突。

tb-hoidz 是什么?

该技能面向Blender中的3D游戏模型纹理化,提供一种基于调色板条带(palette-strip)和渐变UV映射的自动化工作流。它通过将概念图中的颜色信息映射到模型的UV空间,实现快速、一致的基础纹理分配,特别适合已有低多边形或风格化游戏模型。技能要求用户通过特定命令 `/tb-hoidz` 显式激活,从而避免与团队中其他纹理工具的冲突。工作流分为准备、规划、区域分配、基础映射、对比和QA等多个阶段,每次只读取必要的参考文档并复用已有上下文以提升效率。它支持Claude Code和Blender MCP环境,强调精确的材质识别、小部件处理、通信简洁性和缓存优化。最终输出经过QA验证的基础映射结果,并在保存前等待用户批准。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/minhdv-zz/team-skills/tree/HEAD/plugins/tb-hoidz/skills/tb-hoidz

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Blender渐变映射

工作流修订版15。使用用户语言回复。使用已连接的Blender MCP和维护的 scripts/gm_core.py(版本8+);保留其映射算法。

仅读取当前阶段所需内容

对于基础映射,每个可用上下文读取一次 references/base-api.md 和 references/reference-quality.md。不要为了发现API而加载辅助源码或完整工作流。如需查看未文档化参数,检查目标签名/文档字符串;仅在必要时读取相关的源函数。

references/workflow.md 是用于预设、可选规划键、QA说明和历史示例的扩展参考:按需读取相关章节。SKILL_DIR 是该入口点的文件夹。仅在基础批准后读取 references/detail.md。除非上下文因压缩而更改或缺失,否则重复使用已在上下文中的文档。

范围与安全措施

  • /tb-hoidz 授权准备、规划、区域、基础映射、对比和QA。在简短的开场更新中将简洁的规划和调色板分配说明合并,然后继续执行,无需中间确认;遵循下面的通信规则。在完成基础映射后停止,等待用户批准再进行细节映射。 几何体添加需要用户选择细节、切割方法和三角面成本;已有的批准继续有效。
  • 复用提供的概念图和目标,或者如果明确则使用选中的网格。仅询问缺失的输入。不要凭空创造概念图、替换资产或默认导入重复项。
  • 在运行开始时记录 bpy.data.filepath 作为工作保存目标。编辑实时对象。更改文件会开启新上下文;未保存的文件需要用户指定首次保存位置。
  • 每个面都属于一个区域;每个区域一条条带,U在其中心折叠,至少2像素的U/V边距。默认组合顶部光照法线和高度,而非单独使用高度。使用适当的硬/平滑法线和材质响应。基础映射期间保留几何体。
  • 在场景本地存储规划、私有归属/证据、基准三角面、签名、QA和异常。持久化JSON、图像导出和基准报告是可选的,不是默认交付物。save_plan 默认为技能文件夹:改为使用显式可写存储。

通信与预览

默认采用最小聊天叙述:完成授权工作和内部检查,然后报告完成的结果。将规划、预期的调色板分配以及任何已知的回退方案合并为一个简短的开场更新。工作期间,避免常规的里程碑消息、颜色表、QA转储和重复的预览说明。仅在需要遵循更高优先级的运行时指令时提供简短的进度更新,或者立即报告阻塞、所需的用户决策或重要的范围变更。

将所有证据、候选对象和报告保留在场景本地;仅返回紧凑的工具摘要用于决策。当工具明确支持时,优先进行内部视觉检查。如果工具自动在聊天中显示图像,接受此限制,仅使用必要的截图,并且不要在评论或最终响应中再次嵌入这些图像。不要凭空创造隐藏预览模式,或为了聊天静默而跳过必需的视觉QA。默认使用一次映射概览;额外的截图必须用于解决不确定问题或验证有意义的修正。

以一份简洁的报告结束,涵盖已保存文件和脏状态、QA结果、材质局限性和待处理的细节。在现有检查点请求基础批准。如果保存或必要的检查失败,报告实际的不完整状态。仅靠最小化叙述并不能确立速度或token节省。

基础映射

  1. 连接与准备。 调用 get_addon_status 一次,并获取紧凑的场景信息:工作路径、网格、世界边界、面/三角面数量和材质。批量执行独立读取。在每个使用它们的Blender调用中,从此技能的绝对脚本目录导入辅助工具。首次导入时,将该目录放在 sys.path 的开头,从其他路径中驱逐gm模块,重新加载 gm_core,并打印其验证的路径/版本一次(见base-api.md)。后续导入不重新加载。运行 ensure_palette;在最终报告中包含回退、重新链接或材质创建,除非需要用户当前决定。在更新团队调色板的技能副本之前先询问。开场更新在 prepare_model(..., assign_material=True) 之前涵盖调色板分配;避免单独的程序公告。
  2. 映射前识别材质。 在一个初始发现批次中(如果可行),收集目标对象的部件、边界、原始UV组和世界空间法线摘要。在场景本地存储归属和证据;仅总结与决策相关的部分。对模糊或混合部件以及代表性组进行更深入的PCA/深度/邻接检查,然后复用已验证的证据。允许对未解决的边界进行额外发现。将几何线索与概念图位置结合;发现优先于语义分配。在分配前审计不确定的主要部件。薄边界框可能描述宽板材或对角线绳:检查主要尺寸和表面范围以及语义位置。形状提示是证据,而不是材质标签。在覆盖混合壳上的UV之前,先捕获 surface_groups(..., uv_seams=True)。验证一个代表和匹配的结构,然后再将规则复用于重复部件。在基础映射期间解决面板/边缘、空腔/表面和缠绕/桅杆边界。对每个部件或结构验证的系列完成小部件材质门(参见reference-quality.md);尺寸小并不免除部件。不确定的分配需要在进行映射前进行集中发现。
  3. 规划与分配。 使用reference-quality.md 获取测量或明确估计的概念图颜色、材质和值层次。使用 suggest_zone_colors 批量进行全安全V搜索;保留2-3个候选对象和选择的颜色(私有);仅输出紧凑的工具摘要和需要决策的问题。从验证的材质审计中分配区域,并在映射前检查未分配的面和不确定的边界。不要使用默认材质来使覆盖率通过;临时分配保持明确不确定,直到检查为止。保留已验证的归属。将缺失的徽章/木板列为未来的细节。
  4. 映射与对比。 应用规划,然后执行 show_texture(light="FLAT")。在检查颜色前验证调色板和预览材质;避免开始时出现全粉红色截图。预映射图像必须回答特定的几何问题:使用验证的纯色或临时区域颜色。在映射后检查一个可比较的512–640像素概览图。对已审计的系列(包括在概览中隐藏或不可读的小配件和接口)完成语义边界审查。仅在需要时使用针对性视图。只修正受影响的物体/区域并检查邻居。可选的实际光照拟合仅用于具体的未解决的不匹配,而不是默认的全资产通过。另一次截图必须解决问题或验证有意义的修正。
  5. 最终QA与保存。 在最终QA前完成计划的颜色和边界修正。在映射期间,使用紧凑的覆盖、边界和受影响区域检查,而不是全资产最终QA。在最后一次更改后,对每个目标运行一次 qa 和 qa_faces。由QA触发的修复会使受影响的结果无效:对受影响的目标重新运行整个物体的辅助工具,并对共享依赖项的更改扩展到所有使用者;绝不要使用过时的QA保存。修复失败;检查并记录有意的警告/异常。验证覆盖、边距、激活/渲染UV、实际调色板着色器链接、法线/光照和不变的基础拓扑。分别记录参考比较和材质门结果:数据QA不能证明正确的材质分配或视觉相似性。在仍有不确定的分配时,不要将基础标记为完全验证;明确记录任何真实的参考/拓扑局限。完成临时预览,打包调色板,保持纹理可见,并执行base-api.md中的受保护保存。报告保存路径/脏状态、待处理的细节,并请求基础批准。

缓存与输出纪律

  • 在每个依赖批次复用缓存前,运行一次 state_signature + compare_state。缺失的签名是未验证的。几何更改使归属失效;UV更改使原始UV证据失效。共享法线/调色板/材质/变换/光照更改会扩大范围。在接受编辑后刷新签名。在同一个未更改批次中,不要在独立读取之间重复签名。
  • 将完整的部件、面归属、调色板数据、候选对象和QA保存在场景中。默认返回聚合计数加上最多12个与决策相关的部件行;仅针对命名的未解决区域或用户请求展开。绝对不要打印完整的调色板图/条带目录、候选列表、面/顶点目录或场景缓存。过滤 apply_plan 中的空区域;返回映射的面总数和更改的条带,而不是原始辅助报告。最终QA输出涵盖每个目标,包含失败/问题数量和可操作的警告;将详细的通过报告保留在私有区域。
  • 使用一种MCP结果表示:优先使用 structuredContent,否则使用文本内容。将图像块单独转发。不要将重复的表示或图像数据一起序列化。
  • 批量执行独立读取和兼容的对象操作;保持依赖检查/编辑的顺序性。避免未更改的截图、场景转储和连接轮询。没有可比较的测量数据,不要声称节省了token/时间。

执行效率

  • 每个执行批次加载一次调色板图。按验证的面归属缓存 part_evidence;不要分别对中心和大小重新计算PCA。批量执行兼容的读取和修正,同时保持决策的可审查性。保留维护中的映射算法。
  • 在截图前,一起建立图像/着色器有效性、着色、光照和构图。从概览中收集具体的不匹配,并在验证前批量处理独立的修正。对于局部编辑,保留和验证范围外的UV/区域数据,并检查相邻边界;对于共享依赖项则扩大范围。
  • 在场景本地存储轻量级运行指标:目标/基准身份、阶段秒数、实际工具调用/截图次数和最终QA状态。在现有的发现、映射/修正和QA/保存工作周围使用 time.perf_counter();在编排中统计实际工具调用次数。不要为了测量而增加调用。标记不可用的指标,并区分Blender执行时间和端到端耗时。仅当在相同的概念/模型/初始状态下请求时,才进行基准测试,并同时比较质量和时间。不要将输出字节等同于token节省。

保存与恢复

对于颜色/UV编辑,使用会话撤销和Blender现有的备份策略;不单独设置恢复文件。允许更新工作文件,但文件系统边界仍然适用。解析一个允许的保存路径并重复使用。在允许时优先使用已连接的Blender工具。如果需要提权,仅在QA后的受保护保存时请求。不要每次运行都重新发现服务器源码或实现原始TCP。经过批准的备用方案必须使用配置的实时主机/端口,绝不使用猜测的端口或绕过拒绝的路由。

在几何编辑之前,将一份恢复副本保存到同级 _backup/<working_stem>_gm_recovery.blend,使用 copy=True;仅复用此技能拥有的槽位。对于该恢复保存,记录 preferences.filepaths.save_version,暂时将其设置为0,并在 finally 中恢复。不要持久化首选项、更改工作保存策略或移除用户备份。在切割前验证授权和成功的恢复保存;如果失败则停止几何工作。

直接的bpy编辑可能留下 is_dirty=False:需要成功的显式保存操作符、匹配的结果文件路径和保存后的脏检查。失败时保留回滚状态。如果视觉截图不可用,完成数据QA,标记视觉保真度未验证,并标识出需要实时检查的区域。

相关技能