SuperAPI AI 工具集

codeart2d

智能体与模型

查看项目

更新于 10-15 08:47

技能介绍

用途

Code Art 2D 是一项用代码而非图像模型来绘制游戏美术的技能。用户把美术写成文本规格(PixelSpec JSON、可移植 SVG,以及 rig、FX、material、layout、parallax 等 spec),再由脚本负责渲染、检查与打包。整个过程不涉及任何图像模型,它是被明确声明的一种美术来源(art_source: "code"),而不是占位素材。

主要能力

  • 像素角色、道具或特效,并带调色板变体:使用 PixelSpec 规格,经 render_pixelspec.py 渲染,可配合 --build-clips 生成剪辑,并用 pixel_qa.py 复核。
  • 扁平矢量角色、道具、UI 或图标集:使用带调色板 class 的可移植 SVG,经 svg_render.py render 输出。
  • 用 SVG 形状绘制的清晰像素画:svg_render.py render --crisp。
  • 可走动、待机、攻击的角色:rig SVG 加 rig_anim.v1 动画文件,经 rig_animate.py 处理。
  • 战斗特效:斩击、火花、命中环、受击闪白、尘土、投射物,使用 fx.v1 规格经 fx_build.py 生成;可为像素游戏烘焙帧,或用 fx-runtime.mjs 做玩法计时特效。
  • 地形衔接与自拼接:道路接水、路径覆地、墙体与边缘,使用 material 规格经 autotile_build.py 处理(支持 Wang-16、三种材质、blob-47、bevel)。
  • 可游玩的俯视地图:道路、道具、出口、碰撞、可达性,使用 layout_build.py 生成并输出 debug.png。
  • 风格化视差背景:parallax_build.py,配合 --validate 与 --sweep-frames 检查。
  • 静态底图上的环境动效:ambient_bake.py 烘焙,再由 generate2dmap 的 scene_motion.py 编码。
  • 像素帧 QA:pixel_qa.py 支持调色板校验、review 图、onion 叠加与报告输出。

使用方式

每个工具都以单行命令从用户项目根目录运行,形式为 python "<skill-dir>/scripts/<tool>.py" ...,spec 与输出都保留在项目内。每个工具都会新建 --output-dir,拒绝使用已存在的目录,只发布完整结果;带 --strict-qc 时若检查失败则不发布任何内容。成功会打印一行 JSON,错误打印 error: ... 并以退出码 1 结束,用法错误退出码为 2。示例可参考 examples/ 目录。

依赖方面:所有功能都需要 numpy 与 Pillow;PixelSpec 渲染与 pixel_qa.py 不需要其它依赖。SVG 美术还需要一个光栅化器,可选 resvg-py(推荐,python -m pip install "resvg-py>=0.5,<0.6")、PATH 上的 resvg-js CLI,或 Chrome/Edge(设置 CHROME_PATH)。明确不要使用 PyMuPDF、skia-python 或 cairosvg,因为它们会静默忽略 crispEdges、<style>、clipPath 或渐变。fx_verify.mjs 需要 node。

会话中需做一次能力检查:运行 route_media.py resolve --kind image(或 --kind video),若它指明了某条路线,则图像或视频技能会接管请求(除非用户明确要求代码美术)。若 encoding.stdout 失败,设置 PYTHONUTF8=1。SVG 工作还需每台机器运行一次 svg_render.py doctor --report <new.json>。当没有任何路线(无 API key、无本地图像或视频路线)时,route_media.py 会打印 no-route(退出码 3),此时应如实告知用户,并可提议添加 key 或 CLI。

适用场景

仅在用户明确要求用代码绘制美术(PixelSpec 或 SVG 精灵、代码绘制的调色板变体、代码 rig、代码 FX、经过接缝验证的 autotile 集、代码制作的布局、风格化视差或氛围循环),或不存在图像/视频路线时使用。也可用于制作帮助图像模型的姿势与布局指南(属于辅助材料,不是最终美术)。

限制

  • 若存在图像或视频路线且用户没有要求代码美术,不应使用本技能;此时由 generate2dsprite、generate2dmap 或 video2dsprite 负责生成。
  • 不适合绘画感、有机或强身份特征的美术、肖像、拟真人物、HD-2D 画面或带纹理的地形,也不适合写实的火、烟、水。
  • 绝不能把受版权保护的角色描摹成 spec。
  • 不得静默用它替代生成式美术;每个结果都要声明「由代码绘制、无图像模型」,不能把它当作图像模型输出呈现。
  • SVG 需遵循可移植规范(由 lint 强制):根 width 与 height 等于整数 viewBox(1 单位 = 1 逻辑像素);颜色通过 class="c-NAME";骨骼用 transform="rotate(a cx cy)";不允许 <text>、<image>、feTurbulence、feDisplacementMap 或 mix-blend-mode;像素画需加 shape-rendering="crispEdges",且无渐变、遮罩、滤镜或透明度。
  • 瓦片集在发布前必须通过接缝验证,--strict-qc 在没有该证明时不会通过。
  • 构建剪辑前需折叠空的 FX 尾部帧。
  • 侧视走跑循环中,近腿与远腿需有明显的明度反差(远腿至少暗两个色阶),手臂或前腿须可见。render_pixelspec.py 在走/跑剪辑第 i 帧与第 i+n/2 帧轮廓相似(IoU >= 0.95)时会给出 half_cycle_duplicates 警告。
  • 验收时需在游戏尺寸和 1x 下查看预览与 review 图,并逐条报告每个已发布 QA 信封中的 WARN 或 FAIL,不得在任何信封存在 warn 时声称「所有检查通过」。

平台说明

Codex 中本技能为 explicit-only,除非用户要求代码美术,否则由 image_gen 与 route_media.py 生成美术,review 图用 view_image 查看。Claude Code 仅在请求时或无路线时使用;报告前用 Read 查看每个 preview-.png 与 review/.png,用 Bash 运行工具,<skill-dir> 为 ${CLAUDE_SKILL_DIR}。Grok 运行相同的 Python 工具,其原生图像工具负责生成美术,除非用户要求代码美术。

数据契约参见 references/schemas/codeart.schema.json。