Skip to main content
Glama

Pygmalion MCP (CharForge Engine)

MCP server cho coding agent: lấy cảm hứng từ điêu khắc gia Pygmalion trong thần thoại Hy Lạp, biến character turnaround sheet 2D (front/side/back) thành model 3D gắn xương và hoạt hóa hoàn chỉnh theo quy trình tự động 100%. Agent tự sinh mesh, render lại đúng 3 góc bằng Blender headless, chấm điểm silhouette bằng số so với ảnh gốc, tự biến dạng khớp tỷ lệ, tối ưu lưới, xuất GLB/FBX, gắn xương Mixamo và sinh animation clips. Model điều phối có thể là loại nhanh/rẻ (cỡ Flash), vì mọi quyết định khó nằm trong code: next_action, ngưỡng điểm, ngân sách vòng lặp.


Kết quả Mẫu Tự Hành (Autonomous Pipeline Showcase)

Toàn bộ quy trình từ ảnh turnaround 2D phẳng đến model 3D rigged & animated được điều phối tự hành qua pipeline_run(project_id="aria", rig=True, animate=True):

1. Đầu vào 2D Turnaround Sheet (assets/aria_turnaround.png)

Aria Turnaround Sheet Hình 1: Bản vẽ turnaround sheet 2D 1536×768 px của nhân vật "Aria" gồm 3 góc nhìn Front, Side (facing right) và Back ở tư thế A-pose chuẩn giải phẫu, nền trắng tuyệt đối, đạt điểm tách sheet_split confidence 1.0.

2. Model 3D Đã Gắn Xương & Chuyển Động (assets/aria_preview.gif)

Aria Animated Preview Hình 2: Turntable 360° kết hợp chu kỳ bước chân (walk cycle animation) render trực tiếp từ projects/aria/export/aria-animated.glb bằng Blender Workbench headless.

3. Ảnh Render Đa Góc Nhìn (assets/aria_render.png)

Aria Multi-View Render Hình 3: Kết quả render 4 góc nhìn chuẩn mực (Front 0°, Perspective 45°, Side 90°, Rear 180°) từ model 3D aria.glb với đầy đủ màu sắc đỉnh (vertex colors) từ visual-hull blockout.


Related MCP server: Blender MCP Ultra

Tính Năng & Cấp Độ

Level

Gồm

Trạng thái

L1 – Mắt

project_create, project_status, sheet_split, render_views, score_mesh

Đã hoàn thành & kiểm thử 100% (Blender headless + OpenCV/NumPy)

L2 – Tay

generate_mesh (Tripo/Meshy/Rodin/Hunyuan hoặc visual-hull blockout), mesh_fit, mesh_optimize, mesh_export

Đã hoàn thành & kiểm thử 100% (Lattice fitting, decimate, bounding box safety)

L3 – Hoàn thiện

auto_rig (22 xương Mixamo), animate (hoạt hóa đa action), pipeline_run (tự hành toàn trình)

Đã hoàn thành & kiểm thử 100% (Medial-axis rigging, multi-clip GLB merging)


Chi Tiết Công Cụ Level 3

auto_rig(project_id, mesh_path=None, method="auto")

  • Armature Mixamo 22 xương: Tự động xác định các khớp vai, khuỷu tay, cổ tay, hông, đầu gối, mắt cá dựa trên trục trung tâm hình học (medial-axis cross-sectional centroids) với độ chính xác <= 8 cm trên cả 3 tư thế (T-pose, A-pose 45°, arms-down 80°).

  • Chống rò rỉ trọng số (Weight Leakage Prevention):

    • Pre-bind seam welding (remove_doubles) hàn kín các seam UV trước khi tính toán bone heat.

    • Bắt cảnh báo Bone Heat Weighting: failed từ Blender C stderr và chuyển sang thuật toán hai tầng: Geodesic BFS edge diffusion + bilateral corridor IDW.

    • Tự kiểm tra biến dạng: xoay LeftArm 40°, chuyển vị tay > 10 cm trong khi vùng đùi và thân dưới chuyển vị < 0.5 cm.

  • Tích hợp Cloud: Hỗ trợ Meshy Rigging API (POST /openapi/v1/rigging) khi có MESHY_API_KEY.

  • Kết quả: export/<id>-rigged.glb · next_action: animate.

animate(project_id, mesh_path=None, actions=None, method="auto")

  • Hoạt hóa đa action & ghép file GLB:

    • Provider Mode: Gọi Meshy Animation API (POST /openapi/v1/animations), tải các clip GLB độc lập và hợp nhất trong Blender bằng lệnh export_animation_mode='ACTIONS'.

    • Blender Procedural Mode: Sinh chuyển động theo keyframe toán học trực tiếp trên 22 xương Mixamo không cần kết nối mạng:

      • idle: 60 frame, nhịp thở dao động trục Z trên Hips (±1.2 cm) kèm lắc nhẹ Spine/Neck.

      • walk: 40 frame, chu kỳ bước chân đối xứng và vung tay nhịp nhàng ngược pha.

      • wave: 60 frame, nâng cánh tay và vẫy cẳng tay/bàn tay theo sóng sin.

  • Tự kiểm tra nhị phân (GLB Chunk 0 Verification): Phân tích trực tiếp cấu trúc nhị phân của chunk 0 JSON trong file GLB xuất ra để đảm bảo số lượng track animation và tên action khớp chính xác với yêu cầu.

  • Kết quả: export/<id>-animated.glb chứa các animation tracks ['idle', 'walk', 'wave'].

pipeline_run(project_id, max_seconds=240, rig=True, animate=False)

  • Tự động thực thi toàn bộ chuỗi công cụ theo máy trạng thái từ đầu vào sheet ảnh 2D đến thành phẩm cuối cùng mà không cần can thiệp thủ công: project_create → sheet_split → generate_mesh → score_mesh ⇄ mesh_fit → mesh_optimize → mesh_export → auto_rig → animate.


Cài đặt & Kiểm Tra

Yêu cầu Python 3.11+ và Blender 4.2+ (hỗ trợ Windows, Linux, macOS).

# Cài đặt môi trường
python -m venv .venv
source .venv/bin/activate  # Trên Windows: .venv\Scripts\activate
pip install -e ".[dev]"

# Tạo cấu hình môi trường
cp .env.example .env

# Kiểm tra môi trường và đường dẫn Blender
python -m charforge --check

Trong .env: cấu hình CHARFORGE_LEVEL=3 để kích hoạt đầy đủ Level 1, 2 và 3. Khi không có cloud API keys, pipeline tự động sử dụng visual hull blockout và Blender procedural animation ngoại tuyến.

Chạy Test Suite

# Kiểm tra bộ test hợp đồng và pipeline e2e
pytest tests/test_animate.py tests/contract/ tests/test_providers.py tests/e2e/test_pipeline_e2e.py -q

Gắn MCP Vào Coding Agent

Server chạy qua giao thức stdio tiêu chuẩn: python -m charforge.

  • Claude Code: Đã có cấu hình trong .mcp.json. Mở Claude Code tại thư mục này và cấp quyền chạy server charforge.

  • Gemini CLI: Cấu hình trong .gemini/settings.json.

  • Antigravity / Cursor / Cline / Roo Code: Thêm khối sau vào file cấu hình MCP của client:

{
  "mcpServers": {
    "charforge": {
      "command": "python",
      "args": ["-m", "charforge"]
    }
  }
}

Hướng Dẫn Sử Dụng Nhanh

Giao cho agent lời nhắc (prompt):

Dùng CharForge dựng model 3D từ assets/aria_turnaround.png, tên aria, cao 165 cm. Chạy pipeline_run(project_id='aria', rig=True, animate=True) cho tới khi next_action là null, rồi báo các file output và animation tracks đã tạo.

Kết quả sẽ được ghi đầy đủ vào projects/<id>/:

  • views/reference.json: Dữ liệu phân tích góc nhìn và thông số tỷ lệ

  • export/<id>.glb: Model 3D tối ưu hóa lưới

  • export/<id>-rigged.glb: Model đã gắn armature Mixamo 22 xương

  • export/<id>-animated.glb: Model tích hợp sẵn các action tracks (idle, walk, wave)


Tài Liệu Kỹ Thuật

  • ARCHITECTURE: Kiến trúc hệ thống, máy trạng thái và công thức tính điểm silhouette

  • TOOLS: Quy cách chi tiết (contracts, parameters, return envelopes, error codes) của toàn bộ 10 MCP tools

  • ROADMAP: Lịch trình phát triển và kiểm thử qua các milestone

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers