Unity游戏资产生成服务

一个基于Scenario.gg AI的Unity游戏资产生成MCP服务器,支持角色、环境、道具等多种资产类型,适用于游戏开发中的资产快速生成与管理。

  • by QusaiiSaleem
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 qusaiisaleem/scenario-asset-mcp-public

使用说明

场景资产MCP服务器

使用Scenario.gg AI生成Unity游戏资产的模型上下文协议(MCP)服务器,旨在与Claude Desktop、smithery playground和其他MCP兼容工具等MCP客户端无缝集成。

🎮 这有什么作用

此MCP服务器提供 10个综合工具 用于生成Unity就绪游戏资源:

  • 角色:英雄、NPC、多种艺术风格的敌人
  • 环境:背景、风景、内饰、天盒
  • 道具和物品:武器、收藏品、家具、车辆
  • 用户界面元素:带9片支撑的按钮、面板、框架
  • 纹理:PBR材质、无缝纹理、表面贴图
  • 图标:UI图标、徽标、多种尺寸的符号
  • 资产管理:搜索、检索和管理生成的资产

✨ 主要特点

  • 🔌 符合MCP协议:适用于任何MCP客户端
  • 🎨 Unity优化:PNG+Alpha,正确的导入设置,有序的文件夹
  • ⚡ 注重绩效:WebGL/Mobile优化,响应时间<300ms
  • 🛡️ 生产就绪:速率限制、安全标头、错误处理
  • 📱 多平台:支持多种艺术风格和目标平台
  • 🔄 批处理:在一个请求中生成多个变体

🚀 快速开始

先决条件

1.克隆和设置

git clone https://github.com/yourusername/scenario-asset-mcp.git
cd scenario-asset-mcp

2.安装依赖项

npm install
# or
yarn install

3.配置环境

# Copy example environment file
cp wrangler.toml.example wrangler.toml

# Set your secrets
wrangler secret put SCENARIO_API_KEY
wrangler secret put SCENARIO_API_SECRET
wrangler secret put SUPABASE_URL
wrangler secret put SUPABASE_ANON_KEY
wrangler secret put SUPABASE_SERVICE_ROLE_KEY

4.部署

wrangler deploy

您的MCP服务器将在以下网址提供: https://your-worker-name.your-subdomain.workers.dev

🔧 配置

必需的秘密

使用以下方式设置这些 wrangler secret put <SECRET_NAME>:

机密 描述 示例
SCENARIO_API_KEY 您的Scenario.gg API密钥 sk_live_...
SCENARIO_API_SECRET 您的Scenario.gg API秘密 sk_secret_...
SUPABASE_URL 您的Supabase项目URL https://xyz.supabase.co
SUPABASE_ANON_KEY Supabase匿名密钥 eyJ...
SUPABASE_SERVICE_ROLE_KEY Supabase服务角色键 eyJ...

可选配置

编辑 wrangler.toml 自定义:

[vars]
ENVIRONMENT = "production"
LOG_LEVEL = "info"
MAX_CONCURRENT_REQUESTS = "20"
RATE_LIMIT_MAX_REQUESTS = "100"
RATE_LIMIT_WINDOW_MS = "60000"

🛠️ 可用工具

资产生成工具

generate_characters

为你的Unity游戏生成角色精灵。

{
  "name": "generate_characters",
  "arguments": {
    "prompt": "medieval knight with silver armor",
    "character_type": "hero",
    "art_style": "cartoon",
    "num_variations": 2,
    "tags": ["fantasy", "armor"]
  }
}

generate_environments

创建背景和环境资产。

{
  "name": "generate_environments", 
  "arguments": {
    "prompt": "desert oasis with palm trees",
    "environment_type": "background",
    "art_style": "realistic",
    "time_of_day": "sunset",
    "resolution": "wide"
  }
}

generate_props_objects

生成游戏对象,如武器、收藏品、家具。

{
  "name": "generate_props_objects",
  "arguments": {
    "prompt": "golden sword with gemstones",
    "object_type": "weapon",
    "rarity": "legendary",
    "transparency": true
  }
}

generate_ui_system

创建支持9切片的UI元素。

{
  "name": "generate_ui_system",
  "arguments": {
    "prompt": "futuristic blue button with glow",
    "ui_type": "button",
    "ui_style": "sci-fi",
    "state_variants": true,
    "nine_slice": true
  }
}

generate_textures_materials

生成PBR纹理和材质。

{
  "name": "generate_textures_materials",
  "arguments": {
    "prompt": "weathered stone brick wall",
    "texture_type": "complete_pbr",
    "material_type": "stone",
    "seamless": true
  }
}

generate_icons_symbols

为UI创建图标和符号。

{
  "name": "generate_icons_symbols",
  "arguments": {
    "prompt": "health potion icon with red liquid",
    "icon_type": "ui_icon",
    "icon_style": "filled",
    "size_variants": true
  }
}

资产管理工具

search_assets

搜索以前生成的资产。

{
  "name": "search_assets",
  "arguments": {
    "type": "character",
    "tags": ["fantasy"],
    "limit": 10
  }
}

get_asset_details

获取有关资产的详细信息。

{
  "name": "get_asset_details",
  "arguments": {
    "asset_id": "uuid-here"
  }
}

list_scenario_models

列出可用的AI模型。

{
  "name": "list_scenario_models",
  "arguments": {}
}

delete_asset

删除资产(谨慎使用)。

{
  "name": "delete_asset",
  "arguments": {
    "asset_id": "uuid-here",
    "confirm": true
  }
}

🔌 MCP客户端集成

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "scenario-assets": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-fetch",
        "https://your-worker.workers.dev/mcp"
      ]
    }
  }
}

Smithery游乐场

使用服务器URL直接连接:

https://your-worker.workers.dev/mcp

其他MCP客户端

使用标准MCP端点:

  • MCP协议: POST /mcp
  • 服务器发现: GET /
  • 健康检查: GET /health
  • 流媒体: GET /mcp/stream

🏗️ 建筑

技术栈

  • 运行时:Cloudflare Workers(边缘计算)
  • 协议:MCP(模型上下文协议)JSON-RPC 2.0
  • 人工智能一代:Scenario.gg API
  • 存储:Supabase(PostgreSQL+文件存储)
  • 格式:Unity优化的PNG+Alpha资源

请求流

MCP Client → Cloudflare Worker → Scenario API → Asset Generation
                ↓
         Supabase Storage ← Unity Import ← Asset Processing

性能特点

  • 边缘计算:全球CDN延迟<50ms
  • 并发处理:最多20个并行请求
  • 智能缓存:资产元数据和模型列表
  • 速率限制:每个客户端每分钟100个请求
  • 超时管理:默认30秒,生成120秒

🧪 测试

地方发展

# Install dependencies
npm install

# Start local development server
wrangler dev

# Test endpoints
curl http://localhost:8787/health

测试MCP协议

# Test initialization
curl -X POST http://localhost:8787/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}},"id":1}'

# Test tools list
curl -X POST http://localhost:8787/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":2}'

Unity集成测试

  1. 使用MCP工具生成测试资产
  2. 导入Unity项目
  3. 验证PNG+Alpha格式和透明度
  4. 测试角色枢轴点和物理形状
  5. 验证目标平台上的性能

📚 文档

api参考

Unity集成

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 提交更改: git commit -m 'Add amazing feature'
  4. 推送到分支: git push origin feature/amazing-feature
  5. 打开拉取请求

开发指南

  • 遵循现有代码样式
  • 为新功能添加测试
  • 更新文档
  • 确保Unity兼容性
  • 使用多个MCP客户端进行测试

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🆘 支持

🙏 致谢

🚀 路线图

  • []资产模板资源系统
  • []常见生成模式提示系统
  • []批处理生成工作流
  • []Unity编辑器插件
  • []资产版本和历史记录
  • []协同资产共享
  • []自定义模型训练集成

由以下材料制成❤️ 适用于使用人工智能资产生成的Unity游戏开发人员