Blender 5.3 原生导入和渲染高斯泼溅,但目前还不能导出
9 月 16 日,Sergey Sharybin 合并了让 Blender 原生支持高斯泼溅的拉取请求。Blender 5.3 现在可以从 PLY 或 SPZ 文件导入泼溅采集数据,将其存储为一种新类型的点云,并在 Workbench、EEVEE 和 Cycles 中渲染。Alpha 测试将持续到 9 月 30 日,正式版计划于 11 月 10 日发布。在此之前,要在 Blender 中使用泼溅,通常需要 BlendSplat 之类的插件,或通过几何节点为每个点绘制一个始终朝向相机的四边形;而点数超过几百万后,这种方案就难以承受。拉取请求,5.3 发行说明。

Blender 5.3 视口中的泼溅采集数据,来自发行说明。图片:Blender Foundation。
已实现的功能
这套设计很简单,但值得了解,因为它决定了泼溅进入场景后能做什么。泼溅本质上是点云。PointCloud 数据块新增了一个 Type 选项,包含 Points 和 3D Gaussian Splats 两个值;后者会为每个点携带额外属性:以向量表示的 scale、以四元数表示的 rotation、保存基础颜色和不透明度的 radiance:base,以及用于更高阶球谐频带的 radiance:sh_N 系列。正是这些球谐数据让泼溅从不同角度观察时呈现不同的外观。由于它属于点云,几何节点可以读取和写入所有这些数据。
导入功能支持 PLY,导入器会根据发现的属性判断文件是否为泼溅数据;同时也支持最高至第 4 版的所有 SPZ 文件。导入 SPZ 文件时,其坐标系会被转换为 Blender 的向上和向前约定。不过发行说明也提醒,并非所有工具都会严格按照规范写入 SPZ,因此你可能仍需手动旋转。在几何节点方面,新增了 Set Point Cloud Type 节点和 Import SPZ 节点;Import PLY 节点现在会在检测到泼溅时输出点云,否则输出网格。USD 导入也开始支持由 OpenUSD 标准化的高斯泼溅架构。
三种渲染引擎均可渲染泼溅。默认情况下,泼溅通过由其 radiance 属性驱动的自发光着色器进行渲染,你无需自行创建这种材质。不过你也可以替换它,而这正是带来创作可能性的部分。将该属性改为连接到 Diffuse BSDF 后,采集数据就能响应场景中的灯光。

为采集数据重新打光:radiance 属性输入 Diffuse BSDF,让场景灯光照射在扫描得到的桌面上。图片:Blender Foundation。
尚未实现的功能
目前无法导出。泼溅进入 Blender 后只能留在其中,或被渲染为像素。发行说明对此写得很明确,也记录了当前的其他限制:性能尚未达到团队的预期;管线以 sRGB 为前提,因此低不透明度、高辐亮度的泼溅可能会在 Cycles 和 EEVEE 中错误渲染;Apply Transform 目前也不会更新缩放、旋转或球谐属性,因此将变换烘焙进泼溅会破坏数据。设计任务的目标是轻松处理一千万个点,然后进一步提升到一亿个点;发行说明坦率地指出,5.3 只是迈向这一目标的第一步,而非终点。
设计任务还说明了未来的发展方向。泼溅点云类型最终会改变对象上变换和绑定的工作方式,这是我们第一次看到主流工具将“为泼溅绑定骨骼”列入路线图。格式选择也与其他领域正在进行的标准化工作相契合:Niantic 的 SPZ、Khronos 的 KHR_gaussian_splatting glTF 扩展,以及 OpenUSD 架构。设计任务 #159470。
这对我们意味着什么
短短约十八个月,泼溅就从研究演示发展为拥有完整工具链的格式,而这个月终于补齐了闭环。SuperSplat 3.0 可以通过 WebGPU 在浏览器中编辑泼溅。PlayCanvas 和 Babylon.js 可以在引擎中渲染它们。如今,Blender 可以将它们载入包含网格和灯光的同一个场景。目前缺少的是从 Blender 导出的路径,因此将泼溅用于网页游戏的实际流程仍然是“采集、SuperSplat、引擎”;Blender 更适合用于渲染和视觉开发,而不是作为管线中的中间环节。
对于使用我们 Blender 插件的创作者来说,眼下最直接的用途是布景。扫描房间或道具,将其放入场景,用自己的灯光照明,再以真实环境为背景渲染静帧和转台动画。至于把这些采集数据放进可玩的游戏,则是另一个问题。就目前的技术水平而言,泼溅仍然只是布景:你可以从旁边走过,但无法与它碰撞,也无法为它绑定骨骼。Blender 将绑定列入路线图,是后一点可能发生改变的首个迹象。
如果你通常使用 Blender 制作游戏,我们的 面向游戏美术师的 Blender 5 指南介绍了 5.x 系列中的变化,而插件指南则列出了哪些功能仍然需要插件、哪些已经不再需要。