Token导航 LogoToken导航TokenDH.com
Griptape Nodes Library Blender logo
设计创作未说明官方级别未说明来源级核验

Griptape Nodes Library Blender

MCP Server

Griptape节点用于从Blender场景中捕捉相机视图,通过Blender内部的简单套接字服务器实现高效通信。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
工作流自动化Python设计

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

griptape-ai

提供方

griptape-ai

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

握带节点搅拌机集成

Blender与Griptape工作流集成的相机捕获节点。

概述

此包提供Griptape节点,用于从Blender场景中捕获相机视图。该集成通过Blender内部运行的简单套接字服务器工作,提供可靠高效的通信渠道。

建筑

┌─────────────────┐    Socket/TCP     ┌──────────────────┐    bpy Python API ┌─────────┐
│ Griptape Nodes  │ ←─────────────────→ │  Socket Server   │ ←───────────────→ │ Blender │
│   (Clients)     │     JSON/8765     │  (Inside Blender) │                   │ (3D App) │
└─────────────────┘                   └──────────────────┘                   └─────────┘

特性

  • 简单的套接字通信 -没有复杂的异步上下文问题
  • 在Blender中运行 -直接访问bpy API和场景数据
  • 实时摄像头捕捉 -渲染场景中任何摄影机的图像
  • 全面的相机元数据 -焦距、传感器信息、DOF、变换
  • 动态UI更新 -相机下拉菜单和元数据标签会自动更新
  • 流量控制支持 -两个节点都无缝集成到控制工作流中
  • 始终保持最新数据 -相机列表节点在每次工作流运行时都会重新评估
  • 发动机自动操纵 -自动修复Eevee Next和GPU问题
  • 无外部依赖关系 -只是Python标准库
  • 易于设置 -将脚本复制/粘贴到Blender中

文件

  • blender/blender_socket_server.py -Blender内部运行的套接字服务器
  • blender/socket_client.py -Griptape节点的套接字客户端实用程序
  • blender/camera_capture.py -Griptape工作流的相机捕获节点
  • blender/camera_list.py -列出Blender场景中可用相机的节点

快速设置

1.启动Blender套接字服务器

  1. 打开搅拌机
  2. 转到脚本工作区 (顶部标签)
  3. 创建新文本文件 (点击“新建”)
  4. 复制全部内容 属于的 blender/blender_socket_server.py
  5. 粘贴到Blender的文本编辑器中
  6. 点击“运行脚本” 按钮

服务器将自动启动并显示:

✓ Blender Socket Server started on localhost:8765
Ready to receive commands from Griptape nodes

2.使用握带节点

相机捕获和相机列表节点将自动连接到Blender中运行的套接字服务器。

服务器控件

在Blender控制台中:

start_server()    # Start the socket server
stop_server()     # Stop the socket server  
server_status()   # Check if running

在Blender用户界面中:

  • 三维视口 → Press N握带标签
  • 启动/停止按钮 带状态指示器
  • 端口信息 显示

将您的库添加到已安装的引擎中!

如果您尚未安装握带节点引擎,请按照安装步骤进行操作 这里. 完成这些操作并启动发动机后:

  1. 将路径复制到您的 griptape_nodes_library.json 此文件中的文件 blender 目录。右键单击文件,然后 Copy Path (不是 Copy Relative Path).
  1. 启动发动机!
  2. 导航到设置。

Open Settings

  1. 打开设置并转到应用程序事件选项卡。在中添加项目 要注册的图书馆.

Add Library to Register

  1. 粘贴您复制的 griptape_nodes_library.json 从早期到新项目的路径。

Paste in your absolute path

  1. 退出设置。它将自动保存!
  2. 打开 图书馆 左侧边栏的下拉菜单。

See Libraries

  1. 您新注册的图书馆应该会出现!拖放节点以使用它们!

Library Display

可用节点

相机捕获节点

从Blender相机捕获单帧,并显示详细的相机元数据。

流量控制:

  • exec_in -控制顺序的流量输入
  • exec_out -控制顺序的流量输出

参数:

  • cameras_input -连接到相机列表节点以获取动态相机数据(可选)
  • camera_name -Blender场景中的相机名称(下拉列表会自动更新)
  • resolution_x -图像宽度(像素)(64-4096,默认值:1920)
  • resolution_y -图像高度(像素)(64-4096,默认值:1080)
  • output_format -PNG或JPEG(默认值:PNG)
  • quality -JPEG质量1-100(默认值:90)

摄影机元数据标签(显示在摄影机下拉列表下):

  • Status -显示摄影机是否为活动场景摄影机
  • Focal Length -镜头焦距(mm)
  • Sensor -传感器尺寸、安装模式和摄像头类型
  • Depth of Field -DOF设置,包括焦距和光圈
  • Transform -相机位置和旋转坐标

输出:

  • image_output -捕获的图像为ImageUrlArtifact
  • status_output -渲染信息和时间

特征:

  • 动态摄像头下拉菜单 -连接到相机列表节点时自动更新
  • 丰富的元数据显示 -实时显示详细的相机属性
  • 增强的摄像头数据 -访问Blender相机的全面属性
  • 自动摄像头验证 -如果选择无效,则切换到可用摄像头

相机列表节点

列出当前Blender场景中具有全面元数据的所有摄影机。

流量控制:

  • exec_in -控制顺序的流量输入
  • exec_out -控制顺序的流量输出

特征:

  • 始终重新评估 -在每次工作流程运行时获取新的相机数据
  • 全面的摄像头数据 -通过Blender API收集详细的相机属性
  • 自动回退 -如果增强收集失败,则返回基本数据

输出:

  • cameras_output -详细的相机信息,包括元数据(ListArtifact)
  • camera_count -找到的摄像机总数
  • status_output -操作状态和连接信息

收集的增强型相机数据:

  • 基本转换: 位置、旋转、比例、活动状态
  • 镜头特性: 焦距、传感器尺寸、传感器安装模式
  • 摄像头类型: 透视、正交、全景
  • 视野: 用于框架计算的角度测量
  • 剪切距离: 近和远渲染边界
  • 景深: 焦距、光圈f值设置
  • 组成: 用于透视校正的相机移位
  • 矩阵数据: 全4x4变换矩阵,用于精确定位

工作流集成

互联工作流(推荐)

为了获得最佳体验,请连接相机列表节点→ 相机捕获节点:

┌─────────────────┐ cameras_output ┌──────────────────────┐
│ Camera List     │────────────────→│ Camera Capture      │
│                 │                 │                      │
│ • Always fresh  │                 │ • Dynamic dropdown  │
│ • Detailed data │                 │ • Metadata labels   │
│ • Flow control  │                 │ • Auto validation   │
└─────────────────┘                 └──────────────────────┘

优点:

  • 相机下拉列表会自动更新 当场景发生变化时
  • 丰富的元数据显示 在相机选择下
  • 始终为最新数据 -相机列表始终会重新评估
  • 无缝流量控制 -两个节点都支持exec输入/输出

独立使用

相机捕获节点独立工作,但功能有限:

  • 静态相机下拉列表(在节点创建时填充)
  • 基本状态消息,而不是详细的元数据
  • 场景更改需要手动刷新

套接字服务器命令

服务器在端口8765上响应这些JSON命令:

健康检查

{"command": "health_check"}

场景信息

{"command": "get_scene_info"}

列出摄像机

{"command": "list_cameras"}

渲染摄影机

{
  "command": "render_camera",
  "params": {
    "camera_name": "Camera",
    "width": 1920,
    "height": 1080,
    "format_type": "PNG",
    "quality": 90
  }
}

执行代码(增强型摄像头数据)

{
  "command": "execute_code", 
  "params": {
    "code": "import bpy; cameras = [{'name': obj.name, 'focal_length': obj.data.lens} for obj in bpy.data.objects if obj.type == 'CAMERA']"
  }
}

发动机操纵

服务器自动处理渲染引擎问题:

  • Eevee下一篇 → 切换到Cycles CPU(无头稳定性)
  • 循环 → 强制CPU渲染(避免GPU上下文问题)
  • 其他发动机 → CPU仅用于最大程度的稳定性

优势与MCP方法

  • 无异步上下文问题 -简单的插座连接
  • 持久服务器 -在Blender内运行,保持灵敏
  • 易于调试 -清晰的JSON通信
  • 没有复杂的依赖关系 -只有Python套接字
  • 更好的性能 -直接bpy访问,无进程生成

故障排除

“无法连接到本地主机:8765的Blender服务器”

  1. 确保Blender正在运行 使用套接字服务器脚本
  2. 检查服务器状态 在Blender控制台中: server_status()
  3. 重新启动服务器 如果需要: stop_server() 然后 start_server()
  4. 检查端口可用性 -确保没有其他东西在使用端口8765

“PIL不适用于PNG编码”

服务器需要PIL进行图像编码。在Blender的Python中安装:

/Applications/Blender.app/Contents/Resources/4.4/python/bin/python3.11 -m pip install Pillow

套接字服务器未启动

  1. 检查搅拌机控制台 用于错误消息
  2. 验证脚本是否在Blender中运行 (非外部Python)
  3. 尝试其他端口 通过编辑脚本: BlenderSocketServer(port=8766)

渲染问题

  • 服务器强制CPU渲染以确保稳定性
  • 自动切换有问题的引擎(Eevee Next)
  • 检查Blender控制台是否有渲染错误消息

需求

  • 搅拌机3.0+ (用4.4.3测试)
  • Python 3.8+ (包含在Blender中)
  • 枕头 (对于图像编码,请安装在Blender的Python中)

无外部依赖关系

与之前的MCP方法不同,这种基于套接字的解决方案在Griptape环境中不需要外部Python包。所有通信都是通过标准Python套接字进行的。

目录标签

目录标签

工作流自动化Python设计3D渲染本地部署Blender集成相机捕捉实时数据

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP