meitu-game-2d-assets について
ゲームプランナー、アーティスト、インディー開発者向けに、アイコン、キャラクター、道具、スプライトシートなどの 2D ゲーム素材案を作成・調整するスキルです。切り抜き、グリッド分割、鮮明化にも対応します。
主な機能
- 01アイコン、キャラクター、道具の生成
- 02スプライトシートとタイルセット案の作成
- 03参考画像の編集とバリエーション生成
- 04透明背景素材の書き出し
- 05グリッド分割と鮮明化
活用シーン
- 01ゲーム用アイコン、武器、道具の案作成
- 02キャラクターや敵のコンセプト素材作成
- 03簡単なアクションフレームの作成と分割
- 04既存素材の切り抜きや鮮明化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill meitu-game-2d-assetsインストール後、Claude Code で/meitu-game-2d-assetsを入力して読み込まれたか確認します。
同梱ファイルreferences/prompts.md
詳細
meitu-game-2d-assets
概要
2D ゲーム制作の後続のアートワーク工程にすぐ進める素材のラフや半完成品を対象とし、主に以下をカバーします。
- 単体素材:アイコン、道具、武器、コイン、宝箱、ポーション、UI の小物
- キャラクター素材:キャラクターの立ち絵、敵のコンセプトアート、NPC の上半身または全身の設定
- グリッド素材:4分割/9分割のスプライトシート、簡単なアニメーションフレーム、タイルセットのラフ
- アセット整理:透明背景での書き出し、グリッド分割、鮮明度の向上、一部の描き直し
この Skill の目的は、ゲームの完全なシーン原画、3D モデリング、複雑なボーンアニメーションを制作することではありません。ゲームプランナー、アーティスト、インディー開発者向けに、反復して改善できる 2D アセットの基礎稿をすばやく作成します。
依存関係
- ツール:meitu-cli
text-to-image- テキストから単体素材、キャラクターのコンセプト、スプライトシート、タイルセットのラフを生成しますimage-edit- 参照画像をもとに一部を変更したり、スタイルを引き継いだバリエーションをまとめて生成したり、細部を修正したりしますimage-cutout- 生成結果を切り抜き、透明背景の素材にしますimage-grid-split- スプライトシート/グリッド画像を個別のフレームに分割しますimage-superres-enhance- 低解像度の素材を超解像処理し、シャープ化して鮮明にします
- 認証情報:美図 AI オープンプラットフォームの API 認証情報
- 環境変数:
MEITU_OPENAPI_ACCESS_KEY/MEITU_OPENAPI_SECRET_KEY - または設定ファイル:
~/.meitu/credentials.json - 検証:
meitu auth verify --json
- 環境変数:
- ワークスペース(任意):
{OPENCLAW_HOME}/workspace/visual/- 見つからない場合 -> ナレッジの読み込みをすべてスキップします。この Skill はワークスペースなしでも動作します。
パスのエイリアス:以下では
$VISUAL={OPENCLAW_HOME}/workspace/visual/とします。
基本ワークフロー
Preflight -> [Context] -> Execute -> Refine -> Deliver -> [Record]
^ 创意型任务执行 ^ 项目模式时执行
^ 一次性模式跳过 Context ^ 一次性模式跳过
事前確認
meitu --version-> インストールされていない場合はnpm install -g meitu-cliを案内しますmeitu auth verify --json-> 認証情報が無効な場合は設定を案内します- モードを検出します:cwd に
openclaw.yamlがある場合はプロジェクトモード、それ以外は単発モードです 記録可能 = cwd にopenclaw.yamlがあり、かつ$VISUALが存在すること(どちらか一方でも欠けていれば false) - 出力先ディレクトリを解決します:
openclaw.yamlがある場合は./output/、それ以外は$VISUAL/output/meitu-game-2d-assets/{output_dir}をmkdir -pで作成します - ユーザーの要望から、必要最低限のアセット仕様を解析します:
- asset_type:
icon | prop | character | enemy | tileset | sprite-sheet - style:
pixel | flat-vector | hand-painted | chibi-cartoon | retro-rpg | custom - ratio:指定がない場合は、素材の種類に応じてデフォルト値を自動設定します
- asset_type:
コンテキスト(プロジェクトモードで実行/単発モードではスキップ)
mode = one-off の場合 -> このステップをスキップし、Execute に進みます。以下はプロジェクトモードのみを対象とします:
./DESIGN.mdを読み、世界観、題材、プラットフォーム、キャラクター設定、UI スタイル、目標解像度を抽出しますDESIGN.mdにブランドやプロジェクトのアセットについての記載がある場合は、必要に応じて$VISUAL/assets/を読みます$VISUAL/rules/quality.yamlを読みます -> 禁止リスト$VISUAL/memory/global.mdを読みます -> 全体的なアートワークの好みopenclaw.yamlからproject.types(配列を優先)またはproject.typeを読みます -> 各 type について$VISUAL/memory/scenes/{type}.mdを読みます
コンテキストの役割:
- 素材のスタイル、カラーパレット、輪郭線の太さ、世界観の要素を統一します
- 既存プロジェクトのアートワークの方向性と矛盾するアセットの生成を防ぎます
Execute
先做任务分类
| 场景 | 条件 | 主工具路径 |
|---|---|---|
| A - 从零生成单体素材 | 无参考图,生成图标/道具/角色 | text-to-image |
| B - 基于参考图改造素材 | 用户提供参考图或旧资产 | image-edit |
| C - 生成 sprite sheet / 帧序列草图 | 明确提到 2x2/3x3/四宫格/动作帧 | text-to-image -> image-grid-split |
| D - 导出透明底 | 需要可直接贴入引擎/PS 的透明素材 | image-cutout |
| E - 提高清晰度 | 结果太糊、要放大、要高清 | image-superres-enhance |
风格识别决策表
| 用户关键词 | style_id | 说明 |
|---|---|---|
| 像素、pixel、8bit、16bit、复古像素 | pixel | 清晰像素边缘,有限调色板,避免抗锯齿 |
| 扁平、vector、手游 UI、卡通图标 | flat-vector | 平面矢量、清晰描边、便于二次排版 |
| 手绘、厚涂、日系、原画感 | hand-painted | 手绘贴图感,更适合角色与敌人设定 |
| Q版、萌系、chibi | chibi-cartoon | 大头小身,适合休闲游戏角色 |
| 横版闯关、RPG、复古冒险 | retro-rpg | 适合武器、怪物、地块与 UI 小物件 |
| 其他指定风格 | custom | 按用户描述拼装 prompt |
默认比例映射
| asset_type | 默认 ratio | 说明 |
|---|---|---|
icon / prop / tileset | 1:1 | 便于切图与导入 |
character / enemy | 3:4 | 适合立绘与站姿稿 |
sprite-sheet | 1:1 | 统一宫格画布,后续靠宫格拆分 |
Prompt 组装规则
从 references/prompts.md 选取:
## Style Prompts中对应 style section## Asset Templates中对应 asset_type section- 若是 sprite sheet,追加
## Grid Constraints - 若用户要求透明底或方便抠图,追加纯底或留白约束
Scenario A - 从零生成单体素材
适用:图标、武器、宝箱、药水、单角色、敌人草图
命令:
meitu text-to-image \
--skill_name skill_meitu-game-2d-assets \
--prompt "{ASSET_PROMPT}" \
--size 2K \
--ratio {ratio} \
--json --download-dir {output_dir}
推荐 prompt 结构:
{style_prompt} {asset_template} game asset, centered composition, clean silhouette, readable at small size, consistent material rendering
Scenario B - 基于参考图改造素材
适用:
- 用户已有旧素材,想换颜色/材质/武器/服装
- 想保留造型语言,扩一套变体
- 想统一多个素材风格
命令:
meitu image-edit \
--skill_name skill_meitu-game-2d-assets \
--image_list "{ref_image_url}" \
--prompt "{EDIT_PROMPT}" \
--ratio {ratio} \
--json --download-dir {output_dir}
Prompt 约束:
- 保持主体可识别轮廓
- 明确写出要保留什么、替换什么
- 若做游戏图标,必须强调
clean silhouette和small-size readability
Scenario C - 生成 sprite sheet / 帧序列草图
适用:
- 角色待机 4 帧
- 宝箱开启 4 帧
- 火焰/爆炸 4 或 9 帧
- 简易地块 tileset 草图
第一步先生成宫格图:
meitu text-to-image \
--skill_name skill_meitu-game-2d-assets \
--prompt "{SPRITESHEET_PROMPT}" \
--size 2K \
--ratio 1:1 \
--json --download-dir {output_dir}
第二步仅在用户确认宫格合理后再拆帧:
meitu image-grid-split \
--skill_name skill_meitu-game-2d-assets \
--image_url "{grid_image_url}" \
--json --download-dir {output_dir}/split
SPRITESHEET_PROMPT 必须包含:
- 总帧数说明(如
2x2 sprite sheet,4 frames,3x3 tileset) - 帧间留白
- 每格主体独立完整
- 固定镜头和统一角色比例
如果 image-grid-split 返回帧数不足:
- 强化 prompt 中的间距要求
- 重新生成宫格
- 仍不足则保留宫格图并告知用户需手工辅助切分
Scenario D - 导出透明底素材
适用:
- 用户要 PNG 透明底
- 生成图需要进 Unity、Godot、Cocos、PS
命令:
meitu image-cutout \
--skill_name skill_meitu-game-2d-assets \
--image_url "{asset_image_url}" \
--json --download-dir {output_dir}
图标、印章等明确图形类素材可追加 --model_type 2;角色、宠物或类型不确定时省略该参数,由服务端自动选型。
优先策略:
- 规则明确的单主体素材优先走透明底导出
- 若素材背景复杂且抠图失败,先用
image-edit重做纯底版本,再image-cutout
Scenario E - 清晰度增强
适用:
- 用户说结果糊
- 要导出到更高分辨率
- 像素风草图需要更清晰的边缘展示
命令:
meitu image-superres-enhance \
--skill_name skill_meitu-game-2d-assets \
--image_url "{asset_image_url}" \
--prompt "{CONTENT_DESC}" \
--json --download-dir {output_dir}
说明:
- 像素风超分前先提醒用户:若目标是保留像素颗粒感,优先保持整数倍放大思路,避免过度平滑
Refine
创意型场景必须走独立精炼循环,建议最多 3 轮:
- 展示当前结果,并说明其 asset_type、style、是否适合继续拆分/抠图
- 将反馈分为以下几类:
| 反馈类型 | 示例 | 处理方式 |
|---|---|---|
| 换风格 | “改成像素风” “更像日系 RPG” | 切换 style prompt,重新生成 |
| 改主体 | “剑太短了” “角色改成法师” | 修改 asset template 或 edit prompt |
| 改可读性 | “缩小后看不清” | 强化 silhouette / contrast / simple shape |
| 改帧动画 | “四帧差异不够大” | 强化每帧动作描述,重新生成 sprite sheet |
| 导出需求 | “给我透明底” “拆成单张” | 进入 cutout / grid-split 路径 |
| 满意 | “可以” “就这样” | 进入 Deliver |
- 对 sprite sheet,必须先确认宫格构图和帧间距,再执行拆分
- 对角色或道具资产,若用户想保留同一世界观,后续变体优先走
image-edit
Deliver
文件已在 output_dir,只需按素材类型重命名:
- 单体素材:
{YYYY-MM-DD}_{style}_{asset-type}_{slug}.{ext} - 拆分帧:
{YYYY-MM-DD}_{style}_{asset-type}_frame-{n}.{ext} - 透明底:
{YYYY-MM-DD}_{style}_{asset-type}_cutout.png - 超分版:
{YYYY-MM-DD}_{style}_{asset-type}_hd.{ext}
示例:
2026-05-19_pixel_prop_health-potion.png2026-05-19_flat-vector_icon_treasure-chest_cutout.png2026-05-19_chibi-cartoon_character_knight_frame-3.png
Record(项目模式时执行)
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)-> false 时跳过。
可记录内容:
- 用户长期偏好的 style(如偏像素、偏粗描边、偏低饱和)
- 项目统一约束(如地块必须俯视角、角色必须 3/4 视角)
- 资产命名约定与常用 ratio
仅当用户明确认可某风格方向时才写入 memory,避免把临时尝试误记为长期偏好。
Output
- 2D 游戏素材草图或半成品图
- 可选:透明底 PNG
- 可选:拆分后的独立 sprite 帧
- 可选:超分增强版
Constraints
- 不承接 3D 模型、骨骼动画、长视频动画、完整场景地图设计
- sprite sheet 只适合概念级或简易动作帧,不保证严格逐帧动画工业标准
- 若用户要求“完全一致的角色多动作连续动画”,应明确这是高约束场景,建议先做角色定稿再分批生成
- 若用户未给尺寸单位,默认按视觉比例与可读性生成,不承诺像素级引擎规格