← BACK TO ARCHIVE
gaussian splatting 3DGS rendering nuke houdini pipeline vfx

Gaussian Splatting(3DGS)用于 VFX:一份诚实的指南

11.03.2026 • ADUCG RESEARCH

原文(英文):Gaussian Splatting (3DGS) for VFX: The Honest Guide 作者:Arvid Schneider(CG Lounge) 说明:本文为中文翻译版,技术术语保留英文;原文中课程推广与站内导流内容已移除,外部技术参考链接保留。

一种捕捉真实世界的新方式

2023 年 7 月,Inria 和 Max Planck Institute 的团队发表了一篇论文——“3D Gaussian Splatting for Real-Time Radiance Field Rendering”。短短几个月内,它改变了人们对捕捉和渲染真实环境的思考方式。论文提出的方法把 3D 场景表示为数百万个微小的半透明椭球体(称为 Gaussian),从普通照片训练而来,并能以每秒超过 100 帧的速度实时渲染。

到 2026 年初,Gaussian splatting 已经落地到生产工具中:Nuke 17 原生支持,Houdini 21 包含技术预览,OpenUSD 26.03 增加了一等公民的 schema,V-Ray 7 可以对 splat 做光线追踪。Framestore 更是用 4D Gaussian splatting 为《Superman》交付了约 40 个最终像素镜头。

这篇文章会把 Gaussian splatting 到底是什么、能做什么不能做什么、目前如何接入 VFX 工具,以及它在从采集到合成的生产管线中处于什么位置,讲清楚。

Gaussian Splatting 的原理

传统 3D 管线处理多边形,Photogrammetry 处理 mesh 和贴图,NeRF 处理神经网络。Gaussian splatting 处理的是另一种东西:由数百万个小型 3D 椭球体组成的点云,每一个都是空间中的一个 Gaussian 分布。

每个 Gaussian 存储五类属性:

属性控制什么
Position(x, y, z)在 3D 空间中的位置
Scale(3 个值)+ Rotation(四元数)椭球体的大小和朝向
Color(spherical harmonics)视角相关颜色:外观随观察角度变化,捕捉高光与光泽
Opacitysplat 的透明程度

其中视角相关颜色是关键。Spherical harmonics(SH)编码了每个 Gaussian 的颜色如何随观察角度变化,这正是 splat 看起来照片级真实而非扁平的原因。汽车引擎盖上的反射、木桌表面的光泽、走过窗前时窗户捕捉光线的方式变化——SH 全部能捕捉到。

训练。 你从一个场景的多角度照片开始。COLMAP(一个 Structure from Motion 工具)处理这些照片,估算相机位置并生成稀疏点云。每个点作为初始 Gaussian 的种子。然后一个可微分光栅化器把当前 Gaussian 渲染成图像,与原始照片比较,通过梯度下降调整 Gaussian 属性。经过数千次迭代,重建不足的区域会克隆出新的 Gaussian,单个 Gaussian 覆盖过多的地方会分裂,不透明度降到接近零的地方会被剪除。

输出是一个包含数百万 Gaussian 的 .ply 文件。在 RTX 3060 上训练大约需要 20-30 分钟。

渲染。 这是突破所在。渲染器不做光线追踪(在场景中投射光线),而是把每个 3D Gaussian 投影成 2D 屏幕上的 2D 椭圆,按深度排序,再从前往后合成。这与 GPU 光栅化硬件直接对应,所以在消费级 GPU 上 1080p 能跑到 100+ FPS。渲染时没有神经网络推理,没有 ray marching,只有快速的 alpha 合成。

来源:Kerbl et al., SIGGRAPH 2023

Gaussian Splatting 能做什么

实时新视角合成。 给定位置 A、B、C 拍摄的照片,训练好的模型可以从一个从未拍过的位置 D 渲染出照片级真实的画面。原论文在 1080p 下演示了 30+ FPS;目前的实现在 RTX 4060 级别的硬件上能达到 100+ FPS。

手机采集。 一部现代智能手机(iPhone 13+、Pixel 7+、Galaxy S22+)拍 20 到 200 张照片、帧间重叠率 70-80% 就够了。锁定曝光,使用主摄(不是超广角),从多个高度和角度覆盖被摄主体。

反光和半透明表面。 Photogrammetry 在处理光亮或半透明物体时很吃力,因为它假设表面是漫反射的。Gaussian splatting 处理得更好,因为 spherical harmonics 编码的是视角相关外观,而不是假设每个点只有一个固定颜色。

大型环境。 室外场景、建筑室内、影视布景。无人机或 DSLR 采集数千张照片,就能生成可漫游的照片级环境。Rotor Studios 在商业制作中用 4000-5000 张输入照片来采集汽车广告背景环境。

Gaussian Splatting 不能做什么

这一节比上一节更重要。

Relighting(重新打光)。 原始照片的光照被烘焙进了 spherical harmonic 系数。你不能加一盏 key light、去掉一个阴影、改变时间,或者匹配到光照不同的 plate 上。这是架构层面的限制,不是功能缺失。Gaussian 存储的是外观,不是材质属性。没有 BRDF,没有 diffuse/specular 分离,没有 PBR 着色模型。

可重光照 Gaussian splatting 的研究是存在的(Relightable 3D Gaussian,NeurIPS 2023;LumiGauss,WACV 2025),但它们需要特殊的训练管线,截至 2026 年 4 月尚未进入任何商业 DCC 工具。Volinga Plugin Pro(用于 Unreal Engine)可以通过 proxy geometry 实现 splat 的投影和接收阴影,但这是阴影交互,不是完整的基于材质的 relighting。

干净的 mesh 提取。 Gaussian 是空间中无结构的椭球体,不是表面。你不能把 splat 文件丢给模型师说”帮我 retopo 一下”。SuGaR(CVPR 2024)增加了让 Gaussian 对齐表面的正则化项,然后做 Poisson 重建,但生成的 mesh 有记录在案的质量问题:表面起伏不平、高曲率区域细节退化、对场景尺度敏感。

传统 AOV。 没有 diffuse、specular、shadow、ambient occlusion 或 material ID 通道。没有可分解的 PBR 着色模型。Nuke 17 的 SplatRender 能输出 depth、deep data 和 motion blur,但给不了你从 Arnold 或 Karma 渲染中得到的那套完整 AOV。

投射和接收阴影。 V-Ray 自己的文档写得很清楚:Gaussian splat “被视为自发光物体,无法直接接收其他物体的阴影”。渲染器对 splat 绕开了经典光线追踪。

动画。 标准 3DGS 捕捉的是静态场景。4D Gaussian Splatting(CVPR 2024)可以处理动态场景,但需要同步多相机采集阵列(不是单手持相机),并且在大幅度运动时会出现已知的时序跳变伪影。

透明和玻璃物体。 这是根本性限制。Alpha 混合模型无法分离透明几何体和它背后内容的贡献。镜子、玻璃板、水面会产生漂浮伪影或空洞。

边缘质量。 Gaussian 是柔软的椭球体。物体与背景的边界会产生半透明光晕,而不是硬边。对于需要 tight matte 的干净合成来说,这是真实的限制。

3DGS vs Photogrammetry vs NeRF

PhotogrammetryNeRF3DGS
输出Mesh + UV 贴图隐式神经网络显式 Gaussian
几何干净、可测量、可 retopo无法提取提取质量差(研究级)
渲染速度标准光栅化/光线追踪慢(秒级每帧)实时(100+ FPS)
训练时间无(算法处理,非训练)数小时到数天20-30 分钟
反光表面失败(高光被烘成贴图)尚可好(spherical harmonics)
透明物体失败差差(根本性限制)
Relighting可以(mesh + 材质 = 完整 PBR)仅研究阶段仅研究阶段
管线集成任意 DCC、任意渲染器专用查看器正在落地(Houdini、Nuke、UE5、Blender)
文件交接.obj、.fbx、.abc、.usd私有格式.ply、.splat、.spz、.usd(26.03)

一句话总结: Photogrammetry 给你可以重新打光、重新贴图、做动画的几何;3DGS 给你可以实时漫游的外观。它们解决的是不同的问题。在很多项目上,答案是两者都要:进入灯光管线的 hero asset 用 photogrammetry,环境采集、参考和背景 plate 用 Gaussian splatting。

来源:Teleport/Varjo 对比、Splatware、PyImageSearch NeRF vs 3DGS

它在 VFX 制作中的位置

Superman(2025):第一次最终像素应用

Framestore 在《Superman》中用 4D Gaussian splatting 交付了约 40 个最终像素镜头,用于 Kryptonian 全息影像(Bradley Cooper 和 Angela Sarafyan 饰演超人的生父母)。

采集管线使用 Infinite Realities 的 Deus Capture Stage,约 200 台同步相机组成球形阵列。受控光照下单次两分钟的拍摄。每次采集的 GPU 训练持续数天,输出 24fps 的 PLY 文件序列。

后期阶段,Framestore 用 Houdini + GSOPs 做创意加工:施加噪声场、变换、把 splat 体积切分成”损坏数据包”的片段。Nuke 负责合成,用 Irrealix splat 插件直接从 PLY 序列提取深度。SIBR Viewer(基于原始 3DGS 代码定制修改)通过命令行相机控制渲染最终帧。

一个值得注意的制作细节:切割 Gaussian 云产生的破碎椭球边缘,意外带来了一种有机的”传输错误”美感,Framestore 把它融进了全息影像的视觉效果里。限制变成了特性。

来源:Art of VFX、fxguide podcast、befores & afters

电影之外:MV 与广告

Gaussian splatting 也进入了 MV 和商业广告领域,这些领域对美学灵活性的要求高于照片级合成。

A$AP Rocky 的《Helicopter》使用了动态 Gaussian splatting,被描述为主流音乐发行中最大胆的动态 GS 实际应用之一。Perfume 的 MV(2026 年 2 月,东京 Crescent Inc.)首次使用 4DViews 的 HOLOSYS+ splatting 管线做体积捕捉。Tinie Tempah 的《Closer》则使用 Argus Rig 做 3DGS 采集。

广告方面,The Electric Lens Co. 制作了首个有记录的全 HDR Gaussian splatting 广告(“We Know Good Food”),4K ACES HDR 60fps,通过 Nuke + Irrealix 插件合成了 10 个各含 3000 万点的 splat 场景。这很有意义,因为它证明了在受控生产环境中,splat 是可以走通 ACES/线性色彩管线的。

目前实际可用的 VFX 场景

使用场景是否可用说明
布景/环境参考采集可以手机 + Scaniverse,免费。光照信息已包含在采集中
合成用背景 plate可以Nuke 17 SplatRender 带 depth,可在 plate 上做 Z 合成
Previs / techvis可以实时漫游采集的环境
受控舞台采集(Superman 模式)可以需要专用多相机阵列
LED volume 背景(虚拟制作)正在落地UE5 中的 Volinga,支持 ACES/OCIO。尚无一线项目确认案例
替代 CG 环境搭建不行无法 relight、无法艺术指导
Hero 角色不行静态、无动画、无 AOV

把 CG 物体放进 Gaussian Splat 里

这是每个 VFX 艺术家都会问的问题:我能不能把一个场地采集成 Gaussian splat,把 CG 角色或物体放进去,让 splat 环境为 CG 表面提供光照和反射?

简短的回答:目前的生产工具都做不到。

问题出在架构上。标准 Gaussian splatting 把光照烘焙进每个 Gaussian 的 spherical harmonic 颜色里。splat 是一个外观模型,不是一个可以提取光源的场景。从渲染器的角度看,没有可以反弹的灯光、没有可以反射的表面、没有可以采样的环境。

反射。 V-Ray 的文档确认 splat 在渲染器中是”自发光物体”。把 CG 铬球放进含 splat 的 V-Ray 场景,技术上它确实能在反射里看到 splat 几何体,但反射到的是烘焙好的外观,不是物理光照环境。GSOPs 的 Karma 路径则把 spherical harmonics 烘焙成扁平的 v@Cd 颜色以兼容光线追踪,明确放弃了视角相关效果。当你转动相机,CG 物体上的反射不会正确更新。

环境照明。 没有任何生产级 DCC 允许 Gaussian splat 充当 CG 物体的环境光或 HDRI dome。研究系统是有的:GaSLight(ICCV 2025)演示了在 Blender 的 Cycles 里把 HDR Gaussian 当作发光体,为插入的 CG 物体提供空间变化照明。GBake(SIGGRAPH 2025)从 splat 场景内部烘焙 cubemap 反射探针供 Unity 使用。两者都不是已发布的生产工具。

阴影。 CG 物体向 splat 投影是可行的,通过 shadow catcher proxy geometry(V-Ray 支持,Nuke 标准合成流程也可行)。splat 向 CG 物体投影则仅限于 Unreal Engine 中通过 GSX Shadows 的平行光实现。其他工具都不支持。

Z 深度合成是可行的。 Nuke 17 的 SplatRender 输出 depth 和 deep data。你可以用标准 Z 合成把 CG 元素正确地放在 splat 几何体的前面或后面。遮挡问题解决了,光照交互没有。

现实的折中方案

目前在采集环境中放置 CG 的生产工作流是这样的:

  1. 把场地采集成 Gaussian splat(作为背景 plate);
  2. 在同一拍摄现场,于插入点拍摄铬球和灰球,制作传统 HDRI;
  3. 在渲染器(Karma、Arnold、V-Ray)里用采集的 HDRI 为 CG 物体打光;
  4. 在 Nuke 17 中渲染 splat 背景并输出 depth;
  5. 用 Z 深度把 CG 渲染合成到 splat 背景上,保证正确遮挡;
  6. 用 shadow catcher proxy geometry 把 CG 阴影投到 splat 地面上。

splat 替代的是背景 plate,HDRI 负责 CG 的光照和反射。即使在 Gaussian splatting 时代,片场的铬球依然是必需品。

Houdini 集成

Houdini 21 原生支持(2025 年 8 月)

SideFX 在 Houdini 21 中加入了初步的 Gaussian splatting 支持:

  • Bake GSplat SOP:把标准 .ply 属性(f_dc、rot、opacity、scale、f_rest)转换为 Houdini 内部格式(Cd、scale、orient、GS_Alpha、GS_SPH 系数);
  • Solaris 导入:通过 SOP Import LOP 把烘焙好的 splat 带入 Solaris stage;
  • Karma XPU 渲染:重建 splat 唯一支持的渲染 delegate。Karma CPU 显示的是点云,不是重建图像;
  • 混合场景:splat 和传统几何体可以共存于同一个 Solaris stage。

SideFX 将其标注为”技术预览,非生产可用”。它适合做实验和研发,不适合仅靠原生路径输出最终帧。

来源:SideFX Karma H21 What’s New、Entagma 教程

GSOPs(v2.9,2026 年 1 月)

GSOPs(CG Nomads 出品,David Rhodes 和 Ruben Diaz)是 Houdini 目前最完整的 Gaussian splatting 工具集。采用 AGPL-3.0 许可(免费层级),Karma/Solaris 支持则需要付费的 Early Access 层级。

免费层级(SOPs):

  • 导入 .ply、.splat、.spz 文件(自动识别 3DGS 与 2DGS);
  • 裁剪、变换、对齐、锐化单个 Gaussian;
  • DBSCAN 聚类去除噪声和漂浮点;
  • 使用 HDRI 做近似 IBL relighting(预烘焙,非光线追踪);
  • 实时视口渲染,与传统几何体做深度合成;
  • 粗略 mesh 提取;
  • v2.9 新增属性桥接,可在 GSOPs 与 H21 原生约定之间转换。

Early Access 层级(LOPs):

  • gaussian_splats_import LOP 通过 proxy sphere + MaterialX shader 把 splat 注入 Solaris stage;
  • Karma 渲染,与 CG 几何体之间有正确的阴影和反射;
  • 这是需要 splat 与完整灯光设置集成的 Houdini 用户的生产级路径。

重要区分: 免费层级的 IBL relighting 是重烘焙外观的近似;Early Access 的 Karma/Solaris 路径则用 proxy geometry 实现真正的光线追踪阴影与反射交互。这是两种不同级别的集成。

来源:GSOPs GitHub、Digital Production、Radiance Fields

OpenUSD 26.03(2026 年 3 月)

Alliance for OpenUSD 增加了原生 Gaussian splatting schema:UsdVolParticleField3DGaussianSplat。它继承自 Gprim,意味着 splat 成为可组合的 USD primitive:可分层、可引用、可设 variant,和 mesh、volume prim 一样。

该版本包含用于一致性测试的参考 Hydra delegate 渲染器(hdParticleField),以及一个 PLY 转 USD 的 Python 脚本。Houdini 何时把 OpenUSD 26.03 集成进 Solaris,目前还没有公开时间表。

来源:AOUSD blog、CG Channel、OpenUSD schema 文档

Nuke 17:用 Splat 合成

Nuke 17.0(2026 年 2 月发布)是第一个原生支持 Gaussian splatting 的主流合成工具,所有版本(标准 Nuke、NukeX、Nuke Studio)均可用。

你能做什么:

节点功能
GeoImport / GeoReference把 .ply 和 .splat 文件导入 Nuke 的 3D 系统
SplatRender把 splat 渲染为 2D,带 depth 输出、deep 输出和 motion blur
GeoGrade对 splat 做非破坏性调色,支持基于 field 的遮罩
GeoDeletePoints删除不想要的 splat(漂浮点、噪声)
Field 节点FieldCrop、FieldRamp、FieldImage、SDF 形状,用于区域遮罩

在 plate 上合成: SplatRender 的输出直接进入 Nuke 的 2D 节点流。Depth 输出支持与 CG 元素或 plate 几何体做 Z 合成。Framestore 的 Superman 管线用的就是这种方式(Nuke 17 之前用第三方插件)从 PLY 序列提取深度,把全息元素合成到实拍画面上。

Nuke 17 做不到什么: relight splat、生成 normal 通道、拆分 diffuse/specular、生成 Cryptomatte。splat 是渲染好的外观,不是着色模型。

来源:Foundry 发布说明、Digital Production、Radiance Fields

Blender

Blender 社区是 Gaussian splatting 最活跃的采用者之一。

3DGS Render by KIRI Engine(v4.1,免费,Apache 2.0)是主力插件。它导入 .ply 文件,通过自定义 OpenGL/GLSL shader 在 EEVEE 中执行渲染。这不是 EEVEE 的标准材质管线,插件运行自己的 shader 来呈现 Gaussian 外观。

你能做什么:

  • 实时导入、查看和渲染 Gaussian splat;
  • 用 Blender 标准工具编辑 splat(选择、删除、变换);
  • 直接在 splat 上绘制图像纹理或纯色(v3.0+,2025 年 3 月);
  • 把 mesh 物体(.OBJ)转换为 Gaussian splat 的 .ply 格式;
  • 通过 “Combine with Native Render” 模式把 splat 和普通 Blender mesh 放在同一场景;
  • 应用几何节点修改器、裁剪盒、相机剔除。

你不能做什么:

  • 通过 Cycles 渲染(路径追踪 splat 渲染目前仅处于研究阶段);
  • 让 CG 物体接收来自 splat 环境的光照或反射(combine 模式是 2D 合成器合并,不是真正的 3D 集成);
  • 使用正交视口模式(splat 需要透视投影)。

“Combine with Native Render” 这个功能值得特别说明:它分别渲染 splat 和 mesh,然后合成在一起。你的 CG 角色和 splat 背景会有正确的深度排序(遮挡正常),但两者之间没有光传输。没有 GI 反弹、没有反射、没有阴影交互。这是合成,不是渲染。

SkySplat(v0.4,BlenderCon 2025 发布)针对的是另一种工作流:无人机视频转 splat,全程在 Blender 内完成。视频处理、COLMAP 重建和 splat 训练都在同一个界面里。

渲染引擎支持情况(2026 年 4 月)

渲染器Gaussian Splat 支持关键信息
Karma XPU技术预览H21 原生。Karma CPU 仅显示点云。SideFX 标注”非生产可用”
Karma(经 GSOPs)支持(付费 Early Access)Proxy sphere + MaterialX。与 CG 几何体有阴影和反射
V-Ray 7支持(原生,2025 年 1 月)首个支持的商业渲染器。光线追踪,带阴影 + 反射。v7.2 新增 splat 裁剪(2025 年 12 月)
Arnold不支持截至 2026 年 4 月没有任何公告或文档
RenderMan 27不支持未来可能通过 OpenUSD 26.03 schema 实现,但目前没有
Redshift仅第三方Gumroad 上有 TACTYC shader 插件,非原生
EEVEE(Blender)支持通过 KIRI Engine 3DGS Render 插件(v4.1,免费)。Cycles 不支持
Nuke SplatRender支持Depth、deep、motion blur。无完整 AOV

值得关注的缺口: Arnold 完全没有支持。对于以 Arnold 为主力管线的工作室,目前要用 Gaussian splatting,只能走 V-Ray 或 GSOPs 的 Karma 路径作为替代。

上手:采集与工具

采集设备

手机就行,真的。输入是照片,不是专业扫描数据。从多个角度拍 20 到 200 张重叠照片。锁定曝光(自动曝光会干扰 SfM 步骤),用主摄,从低、中、高不同角度覆盖主体。

更大的环境(房间、外景、布景)用 DSLR 或无人机拍 300-1000+ 张效果更好。Rotor Studios 为汽车环境采集 4000-5000 张照片。

软件管线

步骤工具成本
采集(手机)Scaniverse(Niantic)免费,端上处理,导出 .ply 和 .spz
采集(手机)Polycam免费增值,云端处理
训练(桌面)Postshot(Jawset)免费层级 / €17-39 每月。GUI 应用,建筑场景表现强
训练(开源)nerfstudio + splatfacto免费。需要 NVIDIA GPU(RTX 3060 8GB 起步),训练约 25 分钟
SfM(前置步骤)COLMAP免费。在 nerfstudio 内自动运行
清理(浏览器)SuperSplat(PlayCanvas)免费,MIT。选择、删除、遮罩、压缩,无需安装
HoudiniGSOPs + H21 Bake GSplat SOPGSOPs 免费层级(SOPs)/ 付费(Solaris)。H21 原生免费
NukeNuke 17.0 原生所有版本均包含
BlenderKIRI Engine 3DGS Render(v4.1)免费。导入、编辑、绘制、经 EEVEE 渲染

一个实际工作流

  1. 用手机上的 Scaniverse 采集一个场景(免费,端上处理);
  2. 在 SuperSplat 中清理 splat:去漂浮点、裁剪边界、调整朝向;
  3. 通过 GSOPs 或 Bake GSplat SOP 把 .ply 导入 Houdini;
  4. 在 Solaris 中与 CG 几何体组合(需要阴影/反射交互时用 GSOPs Early Access LOP);
  5. 通过 Karma XPU(原生)或 V-Ray 7(生产级阴影)渲染;
  6. 或者:直接通过 GeoImport 导入 Nuke 17,用 SplatRender 渲染,在 plate 上合成。

这对 VFX 意味着什么

Gaussian splatting 不是 CG 管线的替代品。你无法艺术指导烘焙好的光照,无法对 splat 点云做 retopo,无法生成供合成师逐灯调色的渲染通道。

它真正的定位是:一种快速、照片级真实的采集格式,填补传统管线处理缓慢的环节。 布景参考、背景环境、保留真实光照的现场数据、速度比控制更重要的前期可视化。

工具演进得很快。十八个月前,splat 还只存在于研究代码和网页查看器里;现在它已经进入 Nuke、Houdini、V-Ray、USD 和 Unreal。Arnold 和 RenderMan 还不支持,但 USD 26.03 给了两者可以构建的 schema。未来一年很可能会补上这个差距。

对于做灯光和合成的艺术家:这是一种正在进入你管线的新数据类型。 它不取代你今天做的任何事,但会与之并存。现场团队会采集场地的 splat,环境部门会把它们用作参考或背景 plate,合成师会收到 .ply 文件,需要知道 SplatRender 能给什么、不能给什么。

实际行动建议:下载 Scaniverse,拍点身边的东西,在 SuperSplat 里清理,导入你的 DCC。十分钟的动手实践,比任何文章都更有用。

End of Article