Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Máy xay sinh tố MCP

Điều khiển Blender trực tiếp từ Hermes thông qua kết nối ổ cắm với addon Blender-MCP. Tạo các đối tượng, vật liệu, hoạt ảnh 3D và chạy mã Blender Python (bpy) tùy ý. Sử dụng khi người dùng muốn tạo hoặc sửa đổi bất cứ thứ gì trong Blender.

Siêu dữ liệu kỹ năng

NguồnTùy chọn — cài đặt với
`Hermes skills install official/creative/Blender-MCP
`
Đường dẫn

optional-skills/creative/Blender-MCP ` | | Phiên bản |

1.0.0 ` | | Tác giả | alireza78a | | Nền tảng | Linux, macOS, Windows |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Máy xay sinh tố MCP

Điều khiển phiên bản Blender đang chạy từ Hermes thông qua ổ cắm trên cổng TCP 9876.

Thiết lập (một lần)

1. Cài đặt addon Blender`cuộn tròn -sL https://raw.GitHubusercontent.com/ahujasid/Blender-MCP/main/addon.py -o ~/Desktop/Blender_MCP_addon.py

Trong máy xay sinh tố: Chỉnh sửa> Tùy chọn> Tiện ích bổ sung> Cài đặt> chọn Blender_MCP_addon.py Kích hoạt "Giao diện: Blender MCP"

2. Khởi động socket server trong Blender

Nhấn N trong khung nhìn Blender để mở thanh bên. Tìm tab "BlenderMCP" và nhấp vào "Khởi động máy chủ".

3. Xác minh kết nối`nc -z -w2 localhost 9876 && echo "OPEN" || tiếng vang "ĐÓNG"

Giao thức

JSON UTF-8 đơn giản trên TCP -- không có tiền tố độ dài.

Gửi: {"loại": "<command", "params": {<kwargs}} Nhận: {"trạng thái": "thành công", "kết quả": <giá trị} {"trạng thái": "lỗi", "thông báo": "<lý do"}

Các lệnh có sẵn

thông sốmô tả
thực thi_codemã (str)Chạy mã Python bpy tùy ý
get_scene_info(không có)Liệt kê tất cả các đối tượng trong cảnh
get_object_infotên_đối tượng (str)Chi tiết về một đối tượng cụ thể
get_viewport_screenshot(không có)Ảnh chụp màn hình của chế độ xem hiện tại

Trình trợ giúp Python

Sử dụng điều này bên trong các lệnh gọi công cụ exec_code:

nhập ổ cắm, JSON`def Blender_exec(code: str, Host="localhost", port=9876, timeout=15): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((máy chủ, cổng)) s.settimeout(hết thời gian) payload = JSON.dumps({"type": "execute_code", "params": {"code": code}}) s.sendall(payload.encode("utf-8")) bùi = b"" trong khi Đúng: thử: chunk = s.recv(4096) nếu không phải là đoạn: phá vỡ buf += đoạn thử: JSON.loads(buf.decode("utf-8")) phá vỡ ngoại trừ JSON.JSONDecodeError: tiếp tục ngoại trừ socket.timeout: phá vỡ s.close() trả về JSON.loads(buf.decode("utf-8"))

Các mẫu bpy phổ biến

Cảnh rõ ràng

bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete()

Thêm đối tượng lưới

bpy.ops.mesh.primitive_uv_sphere_add(bán kính=1, location=(0, 0, 0)) bpy.ops.mesh.primitive_cube_add(size=2, location=(3, 0, 0)) bpy.ops.mesh.primitive_circle_add(bán kính=0,5, độ sâu=2, vị trí=(-3, 0, 0))

Tạo và gán tài liệu

mat = bpy.data.materials.new(name="MyMat") mat.use_nodes = Đúng bsdf = mat.node_tree.nodes.get("BSDF có nguyên tắc") bsdf.inputs["Màu cơ bản"].default_value = (R, G, B, 1.0) bsdf.inputs["Độ nhám"].default_value = 0,3 bsdf.inputs["Metallic"].default_value = 0,0 obj.data.materials.append(mat)

Hoạt ảnh khung hình chính

obj.location = (0, 0, 0) obj.keyframe_insert(data_path="location", frame=1) obj.location = (0, 0, 3) obj.keyframe_insert(data_path="location", frame=60)

Hiển thị thành tập tin

bpy.context.scene.render.filepath = "/tmp/render.png" bpy.context.scene.render.engine = 'Chu kỳ' bpy.ops.render.render(write_still=True)

cạm bẫy- Phải kiểm tra socket đã mở trước khi chạy chưa (nc -z localhost 9876)

  • Máy chủ bổ trợ phải được khởi động bên trong Blender mỗi phiên (Bảng N > BlenderMCP > Kết nối)
  • Chia các cảnh phức tạp thành nhiều lệnh gọi exec_code nhỏ hơn để tránh hết thời gian chờ
  • Đường dẫn đầu ra kết xuất phải tuyệt đối (/tmp/...) không tương đối
  • shade_smooth() yêu cầu đối tượng được chọn và ở chế độ đối tượng