neely3d-rgb/ViewGen
GitHub: neely3d-rgb/ViewGen
ViewGen 是一款 Unreal Engine 编辑器插件,通过集成 ComfyUI、Gemini、Kling 和 Meshy 等多种生成式 AI 后端,让开发者在引擎内直接进行图像与 3D 模型的 AI 生成及工作流编辑。
Stars: 9 | Forks: 2
# ViewGen — Unreal Engine 的 AI 视口生成器
这是一个 Unreal Engine 5.7 编辑器插件,能捕获视口和深度缓冲区,作为生成式 AI 工作流的输入。支持多种 AI 后端(ComfyUI、Gemini、Kling、Meshy),提供简化的选项卡式界面、可视化节点图编辑器、LoRA 支持以及实时预览。

## 功能
- **视口和深度捕获** — 一键捕获编辑器视口和引擎深度缓冲区,为 img2img 和 ControlNet pipeline 做好准备。
- **多种生成模式** — img2img(视口 + prompt)、Depth + Prompt(ControlNet)、Prompt Only(txt2img)、Gemini(Nano Banana 2)和 Kling(Image 3.0)。
- **ComfyUI 集成** — 可视化节点图工作流编辑器,直接映射到 ComfyUI API 工作流。内置 30 多个即用型工作流模板。自动检测 Flux 模型并切换到正确的 split-loader 路径。支持较新节点(ByteDance Seedance 等)的 V3 动态嵌套输入。
- **Gemini 和 Kling 支持** — 直接集成 Google Gemini 和 Kling AI 图像生成功能,提供针对模型选择、宽高比和图像保真度的特定模式设置。需要 ComfyUI Platform API 密钥(可在 https://platform.comfy.org 生成)。
- **Meshy 3D 生成** — 通过 Meshy API 进行 Text-to-3D 和 Image-to-3D 模型生成,并在编辑器内提供预览。
- **拖拽到节点图** — 将结果缩略图直接拖拽到节点图编辑器上,即可创建 LoadImage 或 LoadVideo 节点,并自动预加载文件路径和应用预览缩略图。节点图编辑器选项卡底部会出现一个水平图库条,以便快速访问。
- **UE Prompt 遵循节点** — 一个图级别的控制节点,可以通过单个滑块全局调整各节点的生成参数,包括 KSampler 节点(CFG、steps、denoise)、Kling Image 节点(image_fidelity、human_fidelity)以及 Kling Video 节点(cfg_scale)。
- **GLB 提取与重新打包 Pipeline** — 加载 AI 生成的 GLB 模型,提取纹理以通过 ComfyUI 工作流进行放大,然后将替换后的纹理重新打包成新的 GLB 文件。支持 DIFFUSE、ORM(通道打包的 Occlusion/Roughness/Metallic)和 NORMAL 贴图引脚。
- **UV 重新打包 (xatlas)** — 针对人工智能生成的 3D 模型,提供基于 xatlas 的可选 UV 图集重新打包功能。生成清晰的 UV 布局,通过带有边缘填充扩展的软件光栅化技术,将纹理从旧 UV 烘焙到新 UV,以防止接缝瑕疵。包含带有逐步反馈的进度对话框。
- **分割捕获** — 提供对象和材质分割遮罩,用于目标修复和合成。
- **LoRA 支持** — 从你的 ComfyUI 安装目录中选择并应用 LoRA 模型,且强度可调。
- **Hi-Res Fix** — 可选的放大处理,用于生成更高分辨率的输出。
- **预设系统** — 保存和加载生成预设,包括 prompt、checkpoint、分辨率以及所有特定模式的设置。
- **会话持久化** — 视口捕获、深度图、生成结果、节点图编辑器缩略图和 LoadImage 节点预览在编辑器重启后依然会保留。恢复缓存数据无需连接 ComfyUI。捕获的图像会以 PNG 格式保存到 `{ProjectSaved}/ViewGen/`,结果历史记录将序列化为 JSON。
- **3D 节点兼容性** — 节点图编辑器能够理解 ComfyUI 的 3D 文件类型族(FILE_3D、FILE_3D_GLB、FILE_3D_OBJ、FILE_3D_FBX 等)以及逗号分隔的多类型输入,允许在之前需要严格类型匹配的 3D 生成节点(例如 Tripo → SaveGLB)之间进行连接。
- **可调整大小的 Prompt 字段** — 节点详情面板中的多行文本区域会根据内容自动调整大小,并可以通过拖动每个字段下方的握把来自由调整尺寸。
- **视频节点的运行到节点** — SaveVideo 和 VHS_VideoCombine 节点在标题栏中显示一个播放按钮,允许你像 SaveImage 节点一样直接执行连接的子图。
- **边缘自动滚动** — 在节点图编辑器的任何边缘附近拖动节点、连接、分组或框选时,画布会自动向该方向滚动,并具有随着光标靠近边缘而增加的平滑加速度。
- **快速渲染 (Sequencer)** — 可直接从插件面板一键调用 Movie Render Graph,对活动的 Level Sequence 进行渲染。
- **StoryTools 菜单** — 统一的顶级编辑器菜单,将 ViewGen 与配套插件(SceneBreak、Gaussian Splat Generator)集成在一起。
## UI 布局
ViewGen 采用选项卡式界面,顶部为视口捕获和结果面板,下方有三个选项卡:
- **Basic** — 提供对艺术家友好的控制选项,包括 prompt、生成模式、checkpoint/LoRA 选择、分辨率、steps、seed 以及“生成”按钮。特定模式的设置(Gemini、Kling)会根据条件显示。Advanced 部分提供了对深度/ControlNet、Hi-Res Fix、默认值和预设的访问。
- **Graph Editor** — 完整的可视化节点图编辑器,用于构建和编辑 ComfyUI 工作流。包含一个节点详情面板、用于直接将图提交给 ComfyUI 生成的工具栏,以及一个用于拖放创建节点的水平结果库条。
- **Connection** — 服务器配置(ComfyUI URL、API 密钥、超时、模型路径),包含“测试连接”和“刷新模型”按钮。
## 环境要求
- Unreal Engine 5.7+
- Windows、Linux 或 macOS
- 正在运行的 ComfyUI 实例(用于 ComfyUI 生成模式)
- Google Gemini API 密钥(可选,用于 Gemini 生成)
- Kling API 密钥(可选,用于 Kling 生成)
- Meshy API 密钥(可选,用于 3D 生成)
## 安装说明
1. 将此仓库克隆或下载到你项目的 `Plugins/` 文件夹中:
YourProject/
└── Plugins/
└── ViewGen/
├── Source/
│ └── ViewGen/
│ ├── Private/
│ ├── Public/
│ └── ThirdParty/
│ ├── tinygltf/ (GLB/glTF parsing — MIT)
│ └── xatlas/ (UV atlas generation — MIT)
├── Workflows/
├── ViewGen.uplugin
└── ...
2. 重新生成项目文件(右键点击你的 `.uproject` → Generate Visual Studio project files)。
3. 构建并启动编辑器。
4. **StoryTools** 菜单将出现在主菜单栏中。点击 **StoryTools → ViewGen** 打开面板。
## 配置说明
1. 通过 **StoryTools → ViewGen** 打开 ViewGen 面板。
2. 切换到 **Connection** 选项卡,输入你的 ComfyUI 服务器地址(默认:`http://127.0.0.1:8188`)。
3. 点击 **Test Connection** 验证连接并填充模型列表。
4. 根据需要输入 Gemini、Kling 或 Meshy 的 API 密钥。
5. 对于 **Gemini (Nano Banana 2)** 和 **Kling** 节点:这些是 ComfyUI API 节点,而不是标准的自定义节点。它们需要 ComfyUI Platform API 密钥 — 请在 https://platform.comfy.org 注册,生成一个密钥,并在 Connection 选项卡下的“ComfyUI API Key”中输入。它们不会显示在 ComfyUI Manager 中。
6. 切换到 **Basic** 选项卡以选择生成模式、checkpoint,并开始生成。
## 内置工作流
`Workflows/` 文件夹包含 30 多个 ComfyUI 工作流模板,涵盖了常见的生成式 AI pipeline,包括 img2img、ControlNet depth、vid2vid、seed dance、background removal、image-to-3D 等。这些是兼容 ComfyUI API 格式的 JSON 文件。
## 配套插件
ViewGen 是 **StoryTools** 套件的一部分。这些配套插件是可选的,并拥有它们自己的代码仓库:
- **SceneBreak** — 利用 AI 从参考图像中进行场景分解和资产发现。
- **Gaussian Splat Generator** — 从图像生成并导入 Gaussian splat 点云。
## 第三方库
ViewGen 包含以下基于 MIT 许可证的库,打包在 `Source/ViewGen/ThirdParty/` 中:
- **tinygltf** — 由 Syoyo Fujita 开发的仅包含头文件的 glTF 2.0 / GLB 加载器/写入器。用于在提取/重新打包 pipeline 中解析和重建 GLB 二进制文件。
- **xatlas** — 由 Jonathan Young 开发的 UV 图集生成库。用于 UV Repack 功能中的 UV 展开和图表打包。
这两个库都作为 ViewGen 模块的一部分进行编译(不需要单独的构建步骤)。请参阅 ThirdParty 目录中它们各自的 `LICENSE` 文件。
## 许可证
本项目基于 MIT 许可证授权 — 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 作者
Creative Story Lab Inc
标签:ComfyUI, Unreal Engine, 图生3D, 文生图, 游戏开发, 生成式AI, 索引