article
README
🚀 使用PSD文件创建SPINE2D动画的MCP服务器
此模型上下文协议(MCP)服务器提供了强大工具,可依据自然语言描述,从PSD角色文件创建SPINE2D动画,极大提升了动画制作的效率与便捷性。
🚀 快速开始
SPINE2D动画MCP服务器为动画制作带来了诸多便利,它允许您:
- 导入PSD字符文件
- 自动绑定角色
- 使用自然语言描述生成动画
- 预览动画
- 以各种格式导出动画
✨ 主要特性
- 多功能支持:涵盖了从PSD文件导入、角色绑定、动画生成、预览到导出的全流程操作。
- 自然语言交互:借助自然语言描述即可生成动画,降低了动画制作的技术门槛。
- 格式丰富:支持以多种格式导出动画,满足不同场景的需求。
📦 安装指南
先决条件
- Python 3.6+
- 必需的Python包(自动安装):
- Flask
- Pydantic
- Pillow
- PSD-Tools
- OpenAI(用于自然语言处理)
- Requests
- Python-dotenv
安装步骤
- 克隆此仓库
- 运行安装脚本:
./install.sh
安装脚本将执行以下操作:
- 创建必要的存储目录
- 安装Python依赖项
- 配置MCP设置以用于VS Code
- 可选配置MCP设置以用于Claude Desktop
💻 使用示例
安装完成后,重新启动VS Code和/或Claude。然后可以通过MCP服务器使用以下工具:
基础用法
导入PSD角色
上传并处理PSD文件:
用法: "将我的角色从character.psd导入"
参数:
file_path:PSD文件的路径
设置角色
自动绑定已导入的角色:
用法: "为我的角色设置 rigs"
参数:
character_id:从import_psd获得的角色 ID
生成动画
根据文本描述创建动画:
用法: "为我的角色创建一个开心的挥手动画"
用法: "让我的角色兴奋地跳跃"
用法: "将我的角色吓跑,并带有闪烁效果"
参数:
character_id:角色 IDdescription:动画描述(例如,“挥手”)
预览动画
获取动画的预览:
用法: "显示我挥手动画的预览"
参数:
character_id:角色 IDanimation_id:动画 ID
导出动画
导出最终动画:
用法: "将跳跃动画作为 GIF 导出"
参数:
character_id:角色 IDanimation_id:动画 IDformat:导出格式(json、png、gif)
📚 详细文档
项目结构
spine2d-animation-mcp/
├── README.md # 这个文件
├── requirements.txt # Python 依赖项
├── install.sh # 安装脚本
├── src/
│ ├── main.py # 入口点
│ ├── server.py # MCP 服务器实现
│ ├── psd_parser.py # PSD 解析模块
│ ├── animation_generator.py # 动画生成模块
│ └── spine2d_integration.py # SPINE2D 集成模块
└── storage/ # 安装期间创建
├── characters/ # 导入的角色数据
├── animations/ # 生成的动画
├── rigs/ # 角色 rigs
└── exports/ # 导出的动画
工作原理
- PSD 导入:服务器解析 PSD 文件,提取图层,并将它们组织成角色结构。
- 角色绑定:服务器分析角色结构并自动创建骨骼、IK 约束和皮肤附件。
- 动画生成:自然语言描述被解析以提取动画类型、情绪和强度。然后将这些信息应用于动画模板。
- 动画预览:服务器生成动画的 GIF 格式预览。
- 动画导出:服务器按请求的格式(JSON、PNG 或 GIF)导出动画。
局限性
- 自动绑定系统基于图层名称和结构,可能需要特定的命名约定以获得最佳效果。
- 动画模板是预定义的,因此复杂的自定义动画可能需要手动调整。
- 该自然语言处理在本实现中被简化,可能无法捕获复杂描述的所有细微差别。
未来改进
- 使用更先进的 LLM 集成来提高自然语言理解
- 更复杂的自动绑定,基于图像分析的骨骼放置
- 扩展动画模板库
- 实时预览渲染
- 更多导出格式和选项
相关文档
- 动画创建指南 - 使用仅 PSD 文件从头开始创建动画的完整指南
- SPINE2D 集成指南 - 用于配置和使用 SPINE2D 的设置
扫码联系在线客服