xiao0916/lm-skills · Archived

psd-to-cocos

将 Photoshop (PSD) 设计稿转换为 Cocos Creator 布局参考。 自动导出 PNG 切片并生成坐标 JSON,支持中文图层名。 触发条件:当用户提到以下? - "PSD 转 Cocos"、"导出 PSD 到 Cocos"、"PSD 切图 Cocos" - "设计稿导? - "Photoshop 转 Cocos"、"PSD 导出坐标"

First seen Mar 23, 2026

Installation

$ npx skills add xiao0916/lm-skills --skill psd-to-cocos

Summary

  • 将 Photoshop (PSD) 设计稿转换为 Cocos Creator 布局参考。
  • 自动导出 PNG 切片并生成坐标 JSON,支持中文图层名。
  • 触发条件:当用户提到以下关键词时激活本技能:
  • - "PSD 转 Cocos"、"导出 PSD 到 Cocos"、"PSD 切图 Cocos"
  • - "设计稿导入…

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from xiao0916/lm-skills · top by installs.

npx skills add xiao0916/lm-skills

Browse all from xiao0916/lm-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,028 B
  • docs SUMMARY.md 388 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

PSD to Cocos

将 Photoshop 设计稿一键转换为 Cocos Creator 可用的布局参考。

工作流程

PSD 文件
    ↓
psd-layer-reader (已有技能) → psd_layers.json (图层结构)
    ↓
psd-slicer (已有技能) → images/*.png (PNG 切片)
    ↓
psd-to-cocos (本技能) → cocos_layout.json (Cocos 坐标)

使用方法

方式 1: AI 调用

当用户需要转换 PSD 时:

  1. 确认 PSD 文件路径
  2. 运行完整转换流程:

``bash python .claude/skills/psd-to-cocos/scripts/psdtococos.py <psdfile> -o <outputdir> ``

  1. 输出结果给用户

方式 2: 命令行直接使用(旧版 - 基础功能)

# 基础用法
python scripts/psd_to_cocos.py design.psd

# 指定输出目录
python scripts/psd_to_cocos.py design.psd -o ./assets/ui/

# 详细输出
python scripts/psd_to_cocos.py design.psd -v

方式 3: 新版 CLI(推荐 - 增强功能)

支持批量处理、中文文件名转拼音、冲突策略、失败重试等增强功能。

# 单个文件转换
python scripts/run_cli.py convert design.psd

# 指定输出目录
python scripts/run_cli.py convert design.psd -o ./output/

# 批量处理目录(交互式选择)
python scripts/run_cli.py convert psd-folder/

# 批量处理目录(全部转换)
python scripts/run_cli.py convert psd-folder/ --all

# 递归扫描子目录
python scripts/run_cli.py convert psd-folder/ --recursive

# 指定冲突策略(覆盖/跳过/重命名/询问)
python scripts/run_cli.py convert design.psd --conflict=skip

# 重试之前失败的文件
python scripts/run_cli.py convert psd-folder/ --retry

# 详细输出
python scripts/run_cli.py convert design.psd --verbose

新版 CLI 功能特性

  • 批量处理: 支持目录级批量转换,自动识别所有 PSD 文件
  • 中文转拼音: 自动将中文 PSD 文件名转为拼音输出目录(如 首页.psdshouye/
  • 冲突策略: 支持 overwrite(覆盖)、skip(跳过)、rename(重命名)、ask(询问)
  • 失败重试: 自动记录失败文件,支持 --retry 参数重试
  • 进度显示: 实时显示转换进度和结果汇总
  • 原子操作: 使用临时目录确保操作安全,失败不残留脏数据

依赖

必需技能

  • psd-layer-reader - 导出 PSD 图层结构
  • psd-slicer - 导出 PNG 切片

Python 依赖

pip install psd-tools Pillow

输出格式

文件结构

output/
├── psd_layers.json       # 图层树(psd-layer-reader 生成)
├── images/               # PNG 切片(psd-slicer 生成)
│   ├── btn_login.png
│   └── ...
└── cocos_layout.json     # Cocos 布局参考(本技能生成)

cocos_layout.json 结构

{
  "metadata": {
    "version": "1.0.0",
    "psd_file": "design.psd",
    "canvas_size": [1920, 1080],
    "export_time": "2026-02-15T10:30:00",
    "element_count": 25
  },
  "elements": [
    {
      "id": "btn_login",
      "name": "btn_login",
      "original_name": "按钮_登录",
      "type": "sprite",
      "visible": true,
      "psd_bbox": [100, 200, 300, 260],
      "cocos_position": { "x": 200.0, "y": 850.0 },
      "cocos_size": { "width": 200, "height": 60 },
      "cocos_anchor": { "x": 0.5, "y": 0.5 },
      "image_file": "images/btn_login.png"
    }
  ]
}

坐标转换说明

PSD 和 Cocos 使用不同的坐标系:

属性 PSD Cocos
原点 左上角 左下角
Y 轴方向 向下 向上
锚点 中心 (0.5, 0.5)

转换公式:

# PSD bbox [x1, y1, x2, y2] → Cocos position
width = x2 - x1
height = y2 - y1
x = x1 + width / 2
y = (canvas_height - y2) + height / 2

脚本说明

scripts/psdtococos.py

CLI 入口,协调完整转换流程。

scripts/converter.py

坐标转换模块,提供 bboxtococos_position() 函数。

scripts/layout_generator.py

JSON 生成器,将 psd-layers.json 转换为 cocos_layout.json。

在 Cocos Creator 中使用

方式 A: 手动创建(基础)

  1. images/ 文件夹复制到 Cocos 项目的 assets/ 目录
  2. 打开 cocos_layout.json 查看每个元素的坐标
  3. 在 Cocos 场景中创建 Sprite 节点
  4. 根据 cocos_position 设置节点位置
  5. 根据 image_file 关联对应的图片资源

方式 B: 使用 PSDImporter 扩展(推荐)

本技能提供 Cocos 编辑器扩展,可一键自动导入:

1. 安装扩展

assets/PSDImporter.ts 复制到你的 Cocos 项目:

cp .claude/skills/psd-to-cocos/assets/PSDImporter.ts \
   <your-cocos-project>/assets/scripts/editor/

2. 准备资源

确保资源目录结构如下:

assets/
├── psd-output/              # Python 技能生成的输出
│   ├── images/              # PNG 切片
│   │   ├── btn_login.png
│   │   └── ...
│   └── cocos_layout.json    # 布局数据
└── scripts/
    └── editor/
        └── PSDImporter.ts   # 编辑器扩展

3. 使用扩展

  1. 在 Cocos 场景中创建空节点(右键 → Create Empty Node)
  2. 选中节点,在 Inspector 面板点击 Add Component
  3. 选择 Custom ScriptPSDImporter
  4. 在 Inspector 中配置:

- Layout Json: 拖入 cocos_layout.json 文件 - Images Path: 图片资源路径(默认:psd-output/images) - Verbose: 是否显示详细日志

  1. 点击 Import To Scene 按钮

4. 自动导入

扩展会自动:

  • 创建根节点(以 PSD 文件名命名)
  • 为每个元素创建 Sprite 节点
  • 自动设置位置、尺寸、锚点
  • 自动加载并关联图片资源
  • 在 Console 显示导入进度

注意:图片资源需要在 Cocos 中先导入(拖入 assets 目录),扩展才能正确引用。

注意事项

  • 仅导出可见图层
  • 中文图层名通过 psd-layer-reader 的映射功能处理
  • 本技能不生成 .prefab.scene 文件,仅生成参考 JSON
  • 实际布局仍需在 Cocos 编辑器中手动完成
  • 坐标基于 Cocos 3.8.4 的坐标系(锚点中心)

故障排除

错误:psd-tools not installed

pip install psd-tools

错误:psd-layer-reader not found

确保 psd-layer-reader 技能已安装在 .claude/skills/ 目录。

错误:无法提取画布尺寸

检查 PSD 文件是否包含有效的根图层边界框。