2025年3月18日

Evergine 中的 Gaussian Splatting 插件

Evergine 自豪地推出其新版本,其中包含 Gaussian Splatting 插件。在本文中,我们将以简单的方式解释这项创新技术是什么、其优势、支持的平台和格式、如何开始使用它以及未来的计划。

什么是 3D Gaussian Splatting?

3D Gaussian Splatting 是计算机图形学中的一项先进技术,通过将点云中的点(即“splats”)投影到 3D 空间中,并对每个 splat 使用高斯函数,来创建高保真、照片级逼真的 3D 场景。该技术支持复杂的视图依赖视觉效果,超越了传统的点云渲染,能够生成动态且栩栩如生的可视化效果。

今年在 SIGGRAPH 2023 上发表的一篇热门研究论文详细解释了用于实时辐射场渲染的 3D Gaussian Splatting 的技术细节(完整论文和 git 仓库已在线公开),引发了对此主题的新一轮关注。

3D 空间被定义为一组高斯分布,每个高斯的参数通过机器学习计算得出。这意味着:

  • 拥有描述场景的数据。
  • 在屏幕上渲染这些数据。

因此,它类似于计算机图形学中的三角形光栅化,后者用于在屏幕上绘制许多三角形。然而,这里不是绘制三角形,而是使用高斯。每个高斯由以下参数描述:

  • 位置: 其所在位置 (XYZ)
  • 协方差: 其拉伸/缩放方式(3×3 矩阵)
  • 颜色: RGB
  • Alpha: 其透明度 (α)

以下是一个包含 700 万个高斯 splats 的示例:

功能特性

将 3D Gaussian Splat 文件无缝集成到您的应用程序中。您可以轻松地从 Evergine Studio 添加它们,并使其与场景中的其他对象平滑融合,创建高度逼真且动态的视觉构图。

支持的格式

目前,此插件支持以下 3D Gaussian Splatting 格式:

压缩 PLY 格式 .ply

此格式是传统 .ply 格式的修改版,可概括如下:

  • 场景被分割成每块 256 个 splats 的块。
  • 对于每个块,位置和缩放的最小值和最大值 (x, y, z) 以浮点数存储。
  • 对于块中的每个 splat,存储位置、缩放(相对于块的范围)、方向和颜色的归一化和量化值。

Splat .splat

.splat 文件是一种简单格式,用于存储 Gaussian Splatting 中使用的参数和属性。它包含每个 splat 的打包信息(颜色、位置、旋转、缩放)。

开始在 Evergine 中使用 3D Gaussian Splatting 插件

1. 添加 Evergine.GaussianSplatting 插件

打开 Evergine Studio,将 Evergine.GaussianSplatting 插件添加到您的项目中。有关添加插件的说明,请参阅本指南:

2. 将 Splat 文件添加到项目

在 Evergine Studio 中,将受支持的 3D Gaussian Splatting 文件(.splat 或压缩的 .ply 文件)添加到您的项目:

3. 创建 Gaussian Splatting 实体

在您的场景中,创建一个新的空实体并添加 GaussianSplattingDrawable 组件。将 SplatPath 属性设置为 3D Gaussian Splat 文件的路径。

 

David avila
作者
David Ávila
Plain Concepts Research