ComfyUI-PHRenderFormerWrapper:在ComfyUI中体验微软RenderFormer的3D渲染能力

插件5个月前发布 小马良
220 0

你是否曾希望在 ComfyUI 中直接使用微软的 RenderFormer 模型进行高质量的3D渲染?现在,这个愿望可以实现了!

由开发者 paulh4x 创建的开源项目 ComfyUI-PHRenderFormerWrapper,为 ComfyUI 提供了一套自定义节点封装,使用户能够直接在图形化界面中加载、编辑和渲染具有物理基础材质(PBR)和全局光照(Global Illumination)的复杂3D场景。

虽然该项目尚处于实验性开发阶段,但它已经实现了从建模到渲染的完整流程,并支持静态图像与动态视频输出,为创意工作者和研究人员提供了一个全新的探索方向。

项目简介

ComfyUI-PHRenderFormerWrapper 是一个面向 ComfyUI 的插件包,封装了微软开源的 RenderFormer 模型,提供模块化节点接口,支持以下核心功能:

  • 🎨 端到端3D渲染流程
  • ⚙️ 灵活的节点式工作流
  • 🎥 支持动画与视频输出
  • 💡 灯光、材质、相机的高级控制
  • 🔧 网格处理、合并与重网格化
  • ↔️ 完整的物体变换控制(平移、旋转、缩放)

主要功能一览

功能类别说明
渲染流程支持从模型加载、网格处理、灯光设置到最终渲染的全流程
动画支持支持关键帧插值,生成相机、灯光、物体的动画序列
节点模块化每个渲染步骤为独立节点,支持灵活组合与复用
材质与灯光支持PBR材质属性(漫反射、镜面反射、粗糙度等)和多光源控制
输出兼容性渲染结果可直接接入 ComfyUI 原生视频保存节点

安装指南(适用于英伟达/苹果M系列设备)

✅ 安装前提

  • Git(用于克隆仓库)
  • Python(与 ComfyUI 和 PyTorch 2.0+ 兼容)
  • PyTorch(建议使用与硬件匹配的版本,如 CUDA 12.6)
  • ComfyUI(已配置运行环境)

🧰 安装步骤

# 进入 ComfyUI 的 custom_nodes 目录
cd ComfyUI/custom_nodes/

# 克隆项目
git clone https://github.com/paulh4x/ComfyUI_PHRenderFormerWrapper.git

# 进入目录
cd ComfyUI_PHRenderFormerWrapper

# 克隆微软 RenderFormer 官方仓库(注意目录名)
git clone https://github.com/microsoft/renderformer.git renderformer

# 安装依赖
pip install -r requirements.txt

# 下载 HDR 图像处理插件
python -c "import imageio; imageio.plugins.freeimage.download()"

安装完成后重启 ComfyUI 即可使用。

使用方式:从建模到渲染的完整流程

🧭 基础工作流示例(ph_renderformer_basic_01.json)

  1. 加载模型:使用 RenderFormer Model Loader 节点加载预训练模型。
  2. 定义场景元素
    • 使用 RenderFormer Mesh Loader 加载 .obj 文件,设置材质与变换。
    • 使用 RenderFormer Camera 定义视角与视野。
    • 使用 RenderFormer Lighting 添加光源。
  3. 构建场景:将网格、相机、灯光输入 RenderFormer Scene Builder 组装为完整场景。
  4. 执行渲染:通过 RenderFormer Sampler 生成最终图像。
  5. 保存输出:将图像连接到 Save Image 节点保存结果。

🎬 动画制作流程

  • 使用 RenderFormer Camera Target 创建相机动画序列
  • 使用 RenderFormer Lighting Target 实现灯光动画
  • 使用 RenderFormer Mesh Target 实现物体动画
  • RenderFormer Scene Builder 自动处理时间序列
  • RenderFormer Sampler 输出图像批次,可用于生成视频

高级用法:构建复杂场景与多物体动画

进阶工作流(如 ph_renderformer_advanced_01.json)展示了如何:

  • 使用多个 Mesh Loader 加载多个3D模型
  • 通过 Remesh  Random Colors 对模型进行优化与材质处理
  • 合并多个物体为统一网格列表
  • 设置相机与灯光的起始与结束状态,生成动画序列
  • 最终通过 RenderFormer Sampler 渲染为视频输出

节点分类一览

🧱 核心流水线节点

  • RenderFormer Model Loader
  • RenderFormer Scene Builder
  • RenderFormer Sampler

🎨 场景组件节点

  • RenderFormer Mesh Loader
  • RenderFormer Camera
  • RenderFormer Lighting

🎥 动画节点

  • RenderFormer Camera Target
  • RenderFormer Lighting Target
  • RenderFormer Mesh Target

🔧 实用工具节点

  • RenderFormer Mesh Combine
  • RenderFormer Lighting Combine
  • RenderFormer Remesh
  • RenderFormer Random Colors

🧪 高级实验节点

  • RenderFormer From JSON
  • RenderFormer Example Scene

当前限制与注意事项

限制项说明
网格复杂度支持最多 8192 个多边形的网格
灯光数量最多支持 8 个光源,发光颜色目前限于白色
输出分辨率推荐使用 512x512 至 1024x1024 分辨率,更高分辨率可能导致质量下降
动画闪烁当前相机动画在高反射材质下可能出现轻微闪烁

开发进展与未来计划

✅ 已实现功能

  • 完整静态渲染流程
  • 支持动画序列与视频输出
  • 多光源与灯光动画
  • 网格合并、重网格化与随机颜色处理
  • 自定义UI颜色与进度条反馈
  • 多网格动画与材质属性动画

📋 待改进方向

  • 修复动画闪烁问题
  • 支持 .glb  .fbx 格式导入
  • 与 ComfyUI 标准 3D 节点集成相机控制
  • 开发材质预设系统
  • 支持多关键帧与贝塞尔曲线插值动画
© 版权声明

相关文章

暂无评论

none
暂无评论...