generate2dsprite 是一个用于生成游戏可用 2D 美术资源的技能,定位是:以游戏实际显示尺寸、镜头与风格,制作游戏所需的最小资源包,并让游戏逻辑(碰撞、伤害、时序)与美术相互独立。
一、用途与适用对象 它适用于需要角色、生物、道具、物品、图标或特效的场景,可作为主静帧、精灵表或动画片段输出;也适用于已有帧(生成、手绘或代码绘制)需要进一步转成片段、调色板或引擎导出的情况。它明确不适用于地图、瓦片、地形、视差或场景底板(这类应使用 generate2dmap);也不用于直接对角色做动画(应先在此批准一张主静帧,再由 video2dsprite 为每个动作生成片段);当用户要求代码绘制美术时应使用 codeart2d;仅需 API 或 CLI 调用时应使用 generate2dmedia。
二、能力检查与美术来源 每个会话需运行一次能力检查,通过 forge_doctor.py 检查已配置的 API 密钥、本地就绪状态与解析顺序;若编码输出失败可设置 PYTHONUTF8=1。图像生成是角色、生物、道具、图标与特效的默认美术来源,需记录 art_source(api、host_image、existing,或仅在请求时使用 code),并在回复中说明所用路线;用户显式指定的路线优先。
三、API 与本地路线 当配置了密钥时可用 API:OpenAI(OPENAI_API_KEY)、Google Gemini(GEMINI_API_KEY)、xAI(XAI_API_KEY)、BytePlus Seedream(ARK_API_KEY)或 fal.ai(FAL_KEY),密钥可来自环境或用户配置文件。已配置的密钥视为所有者同意,因此不逐次询问。本地路线包括你自己的图像工具(如 Codex image_gen、Grok 原生工具),否则使用用户已登录的 Codex CLI,再到 Grok CLI。只有用户明确要求代码绘制美术,或 route_media.py 输出 no-route(退出码 3)时,才使用 codeart2d,并说明“code-drawn, no image model”。
四、完成度与角色流程 完成度默认 HD:全彩、干净 alpha、单一对位,并按游戏高度做预乘区域缩放;像素完成度(共享调色板、二值 alpha、无抖动)仅在用户要求像素风时启用。不应要求图像模型直接画出逻辑像素网格,像素观感由完成度环节产生。角色流程:每个角色批准一张主静帧,然后用 video2dsprite 基于该主静帧为每个动作生成一个图生视频片段,所有动作的身体高度应与主静帧的静止姿势保持一致。精灵表用于特效、图标和道具(以及用户提供的帧),不用于角色动画。
五、主静帧与命令 主静帧通过 master_still.py 生成,可带 --spec 与多个参数(--name、--subject、--identity、--facing、--class、--finish、--identity-ref、--style-ref、--key 等)。生成示例:python "<skill-dir>/scripts/master_still.py" generate --spec <json> --takes 3 --output-dir <new>。每个 take 经由 generate2dmedia 的 route_media.py 处理。选择依据为:身份、朝向、不触碰边缘、无文字。接近目标时应通过 edit 修正而非重新随机,批准使用 approve 子命令,会写入 master.png、master_rgba.png 与 master.json。运动步骤读取 master.json,不再重新测量静帧,每个片段提示词以“The same <identity_recap>”开头。
六、管线与工具链 精灵表管线为:sheet_qc.py spill 检查原始表 → generate2dsprite.py process 抠图切片对位 → sheet_qc.py frames 检查 → scale_frames.py 缩放到游戏尺寸 → build_animation_clips.py 构建片段 → export_engine.py 导出引擎。角色动作则由 video2dsprite 以打包片段返回。另有 plan_guide.py、make_anchor_layout.py、make_layout_guide.py、assemble_frames.py、palette_tool.py、pixel_reduce.py 等工具,支持规划、调色板、像素化与整帧/场景循环等场景。
七、验收与报告 需在游戏尺寸下审查轮廓与身份、接触与飞行、循环接缝或一次性恢复、明暗背景下的 alpha、末端部位、跨动作缩放、根与碰撞体。质量声明需引用数据,如 pipeline-meta.json 的 matte.qa、sheet-qc.json 与片段构建器的 lints。数值质检只能发现症状,不能批准解剖或运动。每个已发布 QA 包中的 WARN 或 FAIL 都需原样报告(id、值、阈值、文件),不得在有 warn 的情况下声称“全部检查通过”。交付需包含已验收的源美术、运行时帧或片段、预览、提示词与溯源(route、model、estimateUsd)、QA 与剩余限制。
八、限制与要求 命令需从用户项目根目录以单行方式运行,输入输出应保持在项目内;每个工具写入新的 --output-dir,已存在目录会被拒绝。需要 Python 3.10+、numpy 与 Pillow(推荐 scipy)。--help 可查看所有参数。关于收费、价格与平台支持等具体信息资料中暂未提供。