SuperAPI AI 工具集

godot-asset-generator

设计与创作

查看项目

更新于 10-15 11:42

技能介绍

用途

Godot Asset Generator 用于借助 AI 图像生成 API 为 Godot 4.x 生成游戏美术资源,覆盖从概念到可导入 Godot 的精灵的完整美术管线。适用场景包括:用 AI 生成游戏精灵、角色或物件;为平台跳跃或俯视游戏创建图块集;生成 UI 元素、图标或菜单资源;批量生成动画帧;为 Godot 导入准备 AI 生成资源;以及依据风格指南创建风格一致的资源集。

不适用场景:创建 3D 模型或纹理(仅限 2D 资源);手工像素画或插画(应使用美术软件);复杂逐帧动画(应使用动画工具);处理已有资源(应直接使用 Godot)。

主要能力

  • 单图生成:通过 generate-image.ts 从任一支持的提供方生成单张图像。
  • 批量生成:通过 batch-generate.ts 依据 JSON 规格文件生成多张图像,支持并发、请求间隔与断点续传。
  • 精灵后处理:通过 process-sprite.ts 去除背景、颜色校正、缩放、裁剪透明空白、添加内边距、按颜色键抠图。
  • 精灵表打包:通过 pack-spritesheet.ts 将多张精灵合并为精灵表,可指定列数、内边距、强制 2 的幂尺寸,并输出 JSON 元数据。
  • Godot 导入文件生成:通过 generate-import-files.ts 生成带优化设置的 .import 文件,支持 pixel-art、hd-sprite、ui 预设,并可配置动画帧数、列数与 FPS。
  • 风格提示词支持:提供像素风、手绘/插画、绘画/概念艺术、矢量/扁平设计等风格的提示词修饰词与模板。

使用方式

前置条件:需安装 Deno 运行时;至少配置一个 API 密钥(OPENAI_API_KEY 用于 DALL-E 3,REPLICATE_API_TOKEN 用于 Replicate 的 SDXL、Flux,FAL_KEY 用于 fal.ai);可选安装 ImageMagick 用于高级图像处理,以及准备 Godot 4.x 项目用于生成导入文件。

快速开始示例:

生成单张图像:

deno run --allow-env --allow-net --allow-write scripts/generate-image.ts
--provider dalle
--prompt "pixel art knight character, front view, 16-bit style, transparent background"
--output ./assets/knight.png

批量生成动画帧:

deno run --allow-env --allow-net --allow-read --allow-write scripts/batch-generate.ts
--spec ./batch-spec.json
--output ./generated/

创建精灵表:

deno run --allow-read --allow-write scripts/pack-spritesheet.ts
--input ./generated/*.png
--output ./sprites/player-sheet.png
--columns 4

核心工作流分为四个阶段:

  1. 风格定义:选择美术风格(像素、手绘、绘画、矢量),创建风格指南记录颜色、修饰词与约束,测试提示词以验证风格一致性。
  2. 资源生成:使用 generate-image.ts 生成单张资源,或使用 batch-generate.ts 批量生成相关资源,并根据结果迭代提示词。
  3. 后处理:去除背景、颜色校正、缩放到精确游戏分辨率、裁剪/填充。
  4. Godot 集成:打包精灵表、生成带优化设置的 .import 文件、配置 SpriteFrames 资源。

API 提供方选择:DALL-E 3 适合一致性与高细节,质量优秀,成本高,速度中等;Replicate 适合风格控制与变体,质量很好,成本中,速度中等;fal.ai 适合快速迭代与测试,质量良好,成本低,速度快。

适用场景与限制

适用场景:2D 游戏精灵、角色、物件、图块集、UI 图标、动画帧的 AI 生成与 Godot 导入准备。

限制:仅基于 API,需要联网与 API 密钥,不支持本地模型;AI 即使使用相同提示词也可能产生风格差异;各提供方有尺寸限制;仅限 2D 资源,不适用于 3D 模型、纹理或复杂动画;复杂图像的背景去除可能需要手动清理;API 调用会产生费用,大批量尤其明显。

常见问题与处理:API 密钥未找到时需先导出对应环境变量;批量风格不一致时可使用更具体的风格修饰词、Replicate 的 seed 参数、生成更多图像筛选或使用 img2img;背景去除失败时可在提示词中加入透明或白色背景、使用 --color-key 指定背景色或更明确的提示词;像素画出现抗锯齿时可在提示词中加入 no anti-aliasing、clean pixels,先生成大尺寸再用最近邻缩放,或在 process-sprite.ts 中使用 --filter nearest;遇到速率限制时可增大 --delay、降低 --concurrency、等待重试或更换提供方。