UStackUStack
Nova3D icon

Nova3D

Nova3D 开源客户端:通过 Blender Python 脚本管线,从文本提示或参考图生成可编辑、部件感知的 3D 资产。

Nova3D

Nova3D 是什么?

Nova3D 是 nova3d.xyz 的开源客户端,它生成 3D 资产作为可执行的构建过程,而不是单一合并网格。它生成 Blender 原生 Python 脚本,并返回结构化的 GLB,其中部件已命名且可单独寻址。

该客户端的核心目的是(默认)连接托管的 Nova3D 管线,从而从文本提示或参考图像生成可编辑、部件感知的 3D 输出。

主要特性

  • 可编辑、部件感知的 3D 输出:管线输出结构化的 GLB,包含已命名、可单独寻址的部件,专为针对性编辑设计(例如,更改一个部件而无需重新生成全部)。
  • 脚本原生生成(prompt-to-code / image-to-code):不同于扩散式“image-to-3D”生成的单一合并网格,Nova3D 生成表示构建过程的 Blender Python 脚本。
  • 使用 Blender 场景图作为原生表示:客户端输出模型与 Blender 场景图对齐,支持逻辑层次结构和场景级编辑工作流。
  • 模型/LLM 无关的客户端工作流:生成框架可通过设置切换 LLM 后端(例如 Claude 3.5、GPT-4o 或 Gemini 1.5 Pro),验证/执行由管线处理。
  • 集成 Web 视口编辑器:内置 Three.js 编辑器,包含变换工具、对齐和材质编辑。
  • 参考图像引导:允许附加照片来引导生成脚本的空间逻辑。
  • 浏览器内本地缓存:模型在浏览器中缓存,即使远程 URL 过期也能查看历史记录。

如何使用 Nova3D

  1. 本地运行客户端:克隆仓库,安装依赖(flutter pub get),启动本地 Web UI。
    • 快速启动说明 端口 5555 用于 OAuth 重定向授权 是必需的。
  2. 登录:打开本地 URL,然后使用 Google 或 Email 登录。
  3. 在设置中添加 API 密钥:客户端支持为 OpenAI、Anthropic 或 Gemini 添加 API 密钥。
  4. 提供输入并生成:输入提示(可选附加参考图像)并运行生成流程。
  5. 编辑并审视结果:使用集成视口编辑器进行变换/对齐/材质编辑,并依赖本地缓存重访先前生成。

要部署静态托管的生产构建,仓库包含构建 Flutter Web 应用的命令(flutter build web --release)。

使用场景

  • 需要层次结构的编辑资产生成:生成 3D 模型,其中部件已命名并有父子关系,便于调整单个组件而无需重新生成完整结果。
  • 提示驱动或照片引导的 3D 创意:使用文本提示或附加参考图像影响生成构建脚本的空间逻辑。
  • PBR 导向的材质迭代映射工作流:处理专为支持材质映射设计的输出,而非依赖烘焙顶点颜色。
  • 浏览器内快速审视和调整:使用集成 Three.js 视口编辑器(变换工具、对齐和材质编辑),无需离开客户端。
  • 本地浏览先前生成:利用浏览器内缓存,即使远程 URL 过期也能保留查看历史。

常见问题

  • Nova3D 输出单一合并网格吗? 否。管线生成结构化的 GLB,包含 可单独寻址的部件,由 Blender 原生 Python 脚本生成。

  • 可以使用不同的 LLM 提供商吗? 是的。客户端为模型无关,支持通过设置切换后端,如 Claude 3.5、GPT-4o 或 Gemini 1.5 Pro

  • 登录需要什么本地设置? 快速启动说明 端口 5555 是必需的 用于 OAuth 重定向授权,并特别警告使用 localhost:5555 可能因 OAuth 来源策略导致 Google 登录失败。

  • 客户端默认将生成请求发送到哪里? 默认与托管的 nova3d.xyz API 通信。可通过 --dart-define 设置 API_BASE_URL 指向自定义后端。

  • 有办法用图像影响生成吗? 是的。客户端支持 参考图像,可附加照片引导生成脚本的空间逻辑。

替代方案

  • 输出单一合并网格的图像转 3D 扩散工具:这些工具倾向于生成一个整合的几何结果,与 Nova3D 的部件感知、可编辑输出不同。
  • 专注于实体建模的 OpenSCAD/CSG 风格系统:此类方法可能优先考虑流形实体,但会牺牲有机形状灵活性和详细的层次/材质可编辑性。
  • 提示转 CAD 或程序化 CAD 工具:如果您的主要目标是可编辑的程序化构建,请选择支持脚本式或参数化工作流程的工具,而不是纯生成网格输出。
  • 搭配可导入程序化结果的独立 3D 建模/编辑工具:对于已使用 Blender 或其他 DCC 工具的工作流程,您可以将 Nova3D 视为生成步骤,然后在建模环境中精炼输出——不过关键区别在于 Nova3D 生成 Blender 原生脚本和部件感知的 GLB 结构。