Communitygithub.com

ViniciusNoetzold/blockreel-skins

从角色构思出发,设计精美的Minecraft玩家皮肤(64x64 PNG,经典或纤细模型),包括网络调研、色阶调色板规划、代码分层绘制、验证,以及必须查看并迭代的四角度转盘预览。当用户请求皮肤、电影角色设计,或想改进/转换皮肤时使用。属于BlockReel 组件;主 blockreel 技能会调用本技能。

blockreel-skins 是什么?

BlockReel skins 是一个专注于在 BlockReel 工作流中设计和迭代 Minecraft 玩家皮肤的专业 AI 技能。它引导用户从角色构思开始,经过明确步骤:确定角色、风格(像素艺术、卡通、写实或动漫)和模型(经典4像素手臂或纤细3像素手臂);进行网络调研(学习UV布局、像素艺术着色技巧和角色参考);制定包含主色和色阶(3-4个色调)的调色板计划;使用 `core/skin.py` 提供的 `SkinCanvas` helpers(如 `shaded_box`、`px`、`mirror_limbs`)按图层(基础层和覆盖层)绘制;通过 `validate` 命令进行验证(确保尺寸、模型正确且基础层完全不透明);以及使用 `tools/turntable.py` 生成四角度预览并至少进行两轮迭代。该技能还包含严格的原创规则:绝不复制他人皮肤,绝不声称已在游戏中测试(仅验证和预览),并且将皮肤保存在特定目录(`work/skins/<name>/` 或 `films/<name>/skins/`)。它特别适用于 BlockReel 电影,其中皮肤通过 `story.json` 引用,并且面部坐标规则(例如眼睛在第4行)针对电影引擎的面部状态(眨眼、宽眼、发光、口型同步)进行了优化。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ViniciusNoetzold/mine-blockreel-skill-/tree/HEAD/plugin/skills/blockreel-skins

在你喜欢的 AI 中提问

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

文档

BlockReel 皮肤

在 BlockReel 文件夹($BLOCKREEL_HOME,详见 blockreel 技能引导)中工作。将每个皮肤放入 work/skins/<name>/(被 gitignore 忽略)或 films/<name>/skins/。绝不复制他人的皮肤,只借鉴创意,不复制像素。

0. 用户发送了皮肤

完全按照发送的内容使用:将其复制到电影文件夹中,运行 python core/skin.py validate 进行验证(将旧的 64x32 格式转换为新文件),并在 story.json 中引用它。除非用户要求,否则绝不对用户的皮肤进行重新绘制。仅在没有皮肤时才设计新皮肤。

1. 需求确认(最多一个简短问题)

确定:角色(身份、职责、情绪),风格和模型。

风格目标
清晰像素艺术每种材质 3-4 个色阶,无噪点,1 像素高光/阴影,轮廓清晰可辨
卡通颜色饱和,面部/覆盖层边缘使用 1 像素深色描边,大而简单的眼睛,强烈的色块划分
写实色调柔和的调色板,细微噪点(noise=0.03-0.05),褶皱和接缝,材质多样性(布料、皮革、金属)
动漫大眼睛(使用 2 像素虹膜 + 1 像素高光),柔和/鲜艳的头发分为 3 个色调并带有一缕高光,简单的衣服

classic = 4 像素手臂(类似史蒂夫),slim = 3 像素手臂。如果用户未指定,则选择经典并告知;同时提供纤细变体的选项。

2. 调研(网络),写入带链接的 research.md

搜索并阅读:皮肤 UV 布局和图层规则(Minecraft Wiki: 皮肤;仓库自带的映射文件为 docs/SKINS.md / references/skin-layout.png)、像素艺术着色和调色板技巧(色相偏移、色阶,避免枕形着色),以及角色类型的风格参考。记录:链接以及你将使用的内容。不复制第三方皮肤或艺术品。

3. 调色板计划

在绘制前编写计划:每种材质一种基色,并由此衍生出 3-4 个色调的色阶(skin.ramp(base, 4, hue_shift=0.04):阴影略微偏冷,高光略微偏暖)。典型材质:皮肤、头发、两种布料颜色、皮革、金属、靴子、点缀色。总颜色数保持在约 24 种以下;一种点缀色就已足够。

4. 分层绘制(core/skin.py SkinCanvas)

先绘制基础层(头部、身体、手臂、腿部),然后绘制覆盖层(帽子 = 兜帽/发量,夹克 = 斗篷/外套,袖子,裤子)。有用的辅助方法:shaded_box(part, ramp)(从上/前打光),rect,px,line,edge_light,clear,以及使用 mirror_limbs() 绘制右侧并将其镜像复制到左侧。面部相对坐标:你无需手动计算图集位置。BlockReel 电影的面部规则:将眼睛保持在正面的第 4 行(眉毛在第 3 行),嘴巴在第 6 行,因为引擎的面部状态(blink、wide、glow、口型同步)会重新绘制这些行,并从脸颊(第 5 行)采样肤色。从 examples/skin-demo/paint_skin.py 开始,修改调色板计划和各部分的绘制块。

5. 验证

python core/skin.py validate out.png:检查尺寸、model(经典/纤细)以及0 个透明基础像素(基础层在 Java 版中必须完全不透明)。如果需要将每个面导出为单独图像,运行 python core/skin.py unwrap out.png parts/。

6. 预览和迭代(必需,至少 2 轮)

python tools/turntable.py skin.png --out tt.png [--pose idle|wave|stance] [--model slim] [--eyes wide --mouth smile]

打开 tt.png 并查看所有四个视角。检查:轮廓、游戏比例下面部是否可辨、兜帽/头发覆盖层是否悬空、接缝和镜像肢体、背面和侧面是否留下空白、着色方向是否一致、是否模糊不清。记录问题,修复,重新渲染。保留每一轮的图像(参见 examples/skin-demo/iterations/)。一轮渲染后不要停止。

7. 导出

最终的 PNG 文件(如果要求另一种模型,则使用 slim=True/False 重新绘制,没有自动的经典<->纤细转换)。文件命名为 <character>.png 和 <character>-slim.png。使用 validate 检查两个文件。

8. 安装到游戏中(告知用户,你尚未测试过)

  • Java 版: 在 minecraft.net 个人资料页面或启动器的“皮肤”选项卡中上传 PNG(64x64 或旧的 64x32),并选择 3 像素或 4 像素手臂。只有拥有游戏的账户才能更改皮肤;离线模式的玩家在没有 Mod 的情况下无法使用自定义皮肤。参考源:Minecraft Wiki: 皮肤。编写此文档时无法加载 Mojang 自己的帮助页面,请查看 help.minecraft.net 了解当前菜单名称。
  • 基岩版: 过程不同(且格式支持更大的模板,例如 128x128,详见 Wiki)。不要为基岩版提供 Java 版的步骤;请引导用户查看 Mojang 当前的基岩版帮助页面。
  • 在 BlockReel 电影内部无需安装任何东西:在 story.json 中引用该 PNG 即可。

规则

  • 绝不绝不声称皮肤已在游戏中测试。应说“已在 BlockReel 引擎中验证和预览”。
  • 绝不交付或提交游戏皮肤或他人皮肤。仓库中的演示皮肤是原创的(CC0)。
  • 如果用户提供的是 3D 皮肤渲染截图,它不能作为纹理使用(docs/SKINS.md),请改为制作一个外观相似的皮肤。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能