SPINE2D动画MCP服务器
此模型上下文协议(MCP)服务器提供了使用自然语言描述从PSD角色文件创建SPINE2D动画的工具。
概述
SPINE2D动画MCP服务器允许您:
- 导入PSD字符文件
- 自动装配字符
- 使用自然语言描述生成动画
- 预览动画
- 以各种格式导出动画
需求
- Python 3.6+
- 所需的Python包(自动安装):
- 烧瓶 - 派丹蒂克 - 枕头 - PSD工具 - OpenAI(用于自然语言处理) - 请求: - Python dotenv
安装
- 克隆此存储库
- 运行安装脚本:
./install.sh安装脚本将:
- 创建必要的存储目录
- 安装Python依赖项
- 配置VS代码的MCP设置
- 可选择为Claude Desktop配置MCP设置
用法
安装后,重新启动VS Code和/或Claude。然后,您可以通过MCP服务器使用以下工具:
导入PSD字符
上传并处理PSD文件:
Use: "Import my character from character.psd"参数:
file_path:PSD文件的路径
设置角色
自动装配已导入的角色:
Use: "Set up rigging for my character"参数:
character_id:来自import_psd的字符ID
生成动画
根据文本描述创建动画:
Use: "Create a happy waving animation for my character"
Use: "Make my character jump with excitement"
Use: "Animate my character to run scared with sparkle effects"参数:
character_id:角色IDdescription:动画描述(例如“高兴地挥手”)
预览动画
获取动画预览:
Use: "Show me a preview of the waving animation"参数:
character_id:角色IDanimation_id:动画ID
导出动画
导出最终动画:
Use: "Export the jumping animation as a GIF"参数:
character_id:角色IDanimation_id:动画IDformat:导出格式(json、png、gif)
项目结构
spine2d-animation-mcp/
├── README.md # This file
├── requirements.txt # Python dependencies
├── install.sh # Installation script
├── src/
│ ├── main.py # Entry point
│ ├── server.py # MCP server implementation
│ ├── psd_parser.py # PSD parsing module
│ ├── animation_generator.py # Animation generation module
│ └── spine2d_integration.py # SPINE2D integration module
└── storage/ # Created during installation
├── characters/ # Imported character data
├── animations/ # Generated animations
├── rigs/ # Character rigs
└── exports/ # Exported animations运作原理
- PSD导入:服务器解析PSD文件,提取图层,并将其组织成字符结构。
- 角色装配:服务器分析角色结构并自动创建骨骼、IK约束和蒙皮附件。
- 动画生成:解析自然语言描述以提取动画类型、情感和强度。然后,服务器将这些应用于动画模板。
- 动画预览:服务器生成GIF格式的动画预览。
- 动画导出:服务器以请求的格式(JSON、PNG或GIF)导出动画。
局限性
- 自动装配系统基于图层名称和结构,这可能需要特定的命名约定才能获得最佳结果。
- 动画模板是预定义的,因此复杂的自定义动画可能需要手动调整。
- 在此实现中,自然语言处理被简化,可能无法捕捉到复杂描述的所有细微差别。
未来改进
- 使用更高级的LLM集成提高自然语言理解能力
- 基于图像分析的骨骼放置更复杂的自动装配
- 扩展的动画模板库
- 实时预览渲染
- 更多导出格式和选项
文档
- 动画创作指南 -使用PSD文件从头开始创建动画的完整指南
- SPINE2D集成指南 -将MCP服务器输出连接到SPINE2D软件的说明
