{/* 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ồn | Tù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
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
| gõ | thông số | mô tả |
|---|---|---|
| thực thi_code | mã (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_info | tê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