跳到主要内容

Gaussian Splat

编辑 Splat 界面

编辑Splat Open Gizmo 1

此按钮打开变换 Gizmo,提供移动、旋转和缩放所选 3D 模型的控件。详细说明请参阅 Gizmo 章节。

Upload/ Replace / Download 2

选择此选项可以上传新的 3D 对象文件,这将覆盖当前加载的模型。

Delete 3

使用此按钮可以从当前空间中完全删除所选的 3D 模型。

Splat 高级编辑选项

旋转速度

围绕 Y 轴旋转资源。正值将使资源顺时针旋转,负值将使资源逆时针旋转。

Splat 亮度

调整 Splat 的亮度。使用输入框或左右拖动滑块来增加或减少数值。

Splat 对比度

调整 Splat 的对比度。使用输入框或左右拖动滑块来增加或减少数值。

编辑 Splat (SuperSplat)

我们在 Arrival.Space 中提供了增强版的 SuperSplat。此集成允许您使用所有熟悉的 SuperSplat 操作。此外,您可以直接操作 .spz 文件,只需关闭 SuperSplat 窗口即可保存所有更改。

下表概述了 SuperSplat 中最常用的操作、其用途和典型使用场景。

操作用途典型使用场景
裁剪 / 修剪移除 Splat 中不需要的区域缩短加载时间、聚焦主体对象、移除空白或无关区域
合并 / 组合将多个 Splat 合并为一个简化渲染管线、在多个小 Splat 时提升性能、场景优化
浮点清理移除浮动/未连接的 Splat(噪声、扫描伪影)导入扫描数据后,减少视觉噪声并优化文件大小
版本管理创建和管理不同的资源版本/检查点进行重大编辑前、对比不同变体,或用于协作工作流
重新排列重新组织场景中的 Splat 或分组构建结构化场景、修正对象放置、改善编辑工作流
插入体积定义或放置一个体积(边界框/形状)以隔离或约束仅编辑 Splat 的一部分
信息

此选项仅适用于 Splat 文件(.SPZ.PLY.SPLAT.SOG)。

想了解更多关于 Splat 的知识?

我们创建了一个专门的空间,包含视频教程,讲解如何上传 Splat、使用 Gizmo 操作它们,以及合并多个 Splat 并将其传回 Arrival.Space。

碰撞

Splat 碰撞入口
Splat 碰撞已生成

碰撞是让 Splat 可行走的方式。您可以上传自己的碰撞文件,或使用我们的自动生成工具。

上传碰撞 1

上传您的 .glb 碰撞文件。

碰撞设置 1

打开碰撞设置以调整碰撞配置。如果您的 Splat 包含在自动碰撞生成时应忽略的浮点(floaters),尤其建议进行此设置。

可用选项如下:

  • 碰撞细节: 定义碰撞网格的细节级别。数值越高,碰撞越精细。但如果 Splat 地面存在空隙,也可能引入孔洞。
  • 包含半径 (m): 设置以质心为中心、用于碰撞生成时纳入点云的半径(米)。
  • 最小不透明度: 在生成碰撞前过滤较不明显的点。
  • 最大缩放: 在生成碰撞前过滤过大的点。
Generate Collision 1

点击此按钮可自动为上传的 Splat 生成碰撞网格。生成后此图标将变为 图标。

Show Collision 2

如果已上传或生成碰撞,点击此按钮将以紫色覆盖层显示碰撞网格。同时会打开一个 Gizmo 菜单,用于更改碰撞的位置。

Hide Collision 2

如果碰撞已完美放置,您可以使用此图标停用 Gizmo。

Download Collision Pro2

点击此按钮将下载当前碰撞网格。这使您可以在外部程序中优化碰撞边界,然后重新上传修改后的文件。

Delete Collision 2

此操作将删除您的碰撞。

启用 / 停用碰撞 2
生成或上传碰撞后,您可以使用此开关来启用或停用碰撞。

编辑后的碰撞对齐有问题?

如果您让 Arrival.Space 生成碰撞后下载并在其他程序中编辑,对齐可能不再匹配。 这通常发生在将 Arrival.Space 碰撞导入 Blender 时,因为 Blender 和 Arrival.Space 之间的 Y 轴和 Z 轴不同。

在 Blender 中,您可以在导出时的 Transform 部分启用 +Y Up。这样可以减少后续所需的旋转量。

如果问题仍然存在,请尝试将场景作为附加内容上传。在这种情况下,碰撞应该会被系统自动对齐。

高级技巧

如果碰撞包含超过 500k 索引,您需要简化或降低网格的复杂度。此外,碰撞网格不应超过 10 MB,以保持良好的性能。

有多种方法可以实现这一点,本指南提供了简单有效的方法来降低复杂度。本指南中的所有示例均使用 Blender 演示。

1. 导出时不包含法线和 UV

导出时,您可以调整多项设置以显著减少文件大小和复杂度。

Blender:导出文件
移除UV、法线并以Y+朝上导出

操作步骤:

  1. 打开 Blender
  2. 导入您的网格
  3. 转到 File > Export > glTF 1
  4. Transform 下,启用 +Y Up 2
  5. 打开 Data > Mesh 并禁用 UVsNormals 3
  6. 导出您的网格。

2. 删除无法到达的区域

在复杂场景中,碰撞通常存在于用户在正常相机模式下无法到达的区域。 例如,在森林场景中,树冠可能是无法到达的。 这些细节丰富的区域通常是网格中最复杂的部分,因此移除它们是降低碰撞复杂度最简单的方法。

更改选择模式
选择区域
删除顶点

操作步骤:

  1. 打开 Blender
  2. 导入您的网格
  3. 切换到建模模式 1
  4. 通过点击并拖动选择要移除的区域 2
  5. DELENTF 并选择 Vertices 3
  6. 您的网格现在已成功简化。

3. 按距离合并

在某些情况下,个别顶点可能距离极近——近到相互重叠。 这可能导致重复的碰撞区域。您可以使用 Merge by Distance 合并这些顶点。

打开清理
打开合并子菜单
更改合并距离设置

操作步骤:

  1. 打开 Blender
  2. 导入您的网格。
  3. 切换到建模模式
  4. A 全选。
  5. 在建模工具栏中,转到 Mesh > Clean Up > Merge by Distance 1
  6. 左下角会出现一个可展开的小菜单——打开它 2
  7. 距离设置为 10 cm 3。面板将显示合并了多少个顶点。

SOG (Spatially Ordered Gaussians) 压缩

Spatially Ordered Gaussians (SOG) 是一种用于 3D Gaussian Splatting 的开源文件格式。它扩展了之前的 SOGS 格式,将 Splat 数据(Gaussian)打包成针对 GPU 优化的布局:您可以将其存储为单个 .sog 文件,或存储为 meta.json.webp 图片。 通过此级别的压缩,您可以将场景大小缩减至原始文件的三分之一

创建 SOG

我们会从您的 PLY压缩 PLY 自动生成 SOG 文件。 但是,如果您希望更快地上传,可以在本地创建 SOG 文件并直接上传。 无论选择哪种方法,您之后都可以继续在 Arrival.Space SuperSplat 编辑器中编辑模型。

将 SOG 上传到 Arrival.Space

使用生成的 SOG 文件,将其作为主资源附加内容上传。

SOG 的碰撞生成

SOG 的碰撞与 PLY 文件的碰撞工作方式相同。使用碰撞生成 按钮,或上传您自己的自定义碰撞

LCC (Local Cluster Compression)

此压缩技术将邻近的 Gaussian 分组为局部簇,并减少冗余数据(相似的颜色、大小等)。此技术由 XGRIDS 使用,详细描述请参阅 XGRIDS 的白皮书

将 LCC 上传到 Arrival.Space

要在 Arrival.Space 中使用,请将包含以下文件的文件夹压缩为 zip:

- attrs.lcp
- data.bin, index.bin, environment.bin
- meta.lcc
- shcoef.bin(可选 — 如果存在,请包含)
- collision.lci(可选 - 如果存在,请包含)

压缩完成后(创建 zip 文件),您可以直接将 zip 文件夹作为附加内容上传。我们不支持在主资源中上传。

LCC 的碰撞生成

只需使用 图标,让系统自动生成碰撞。您也可以自行创建。在为 LCC 和 LOD 生成碰撞章节中可以找到分步指南。

LOD (Level of Detail) 优化

对于大型 Splat 文件,创建 LOD 结构可以显著提升加载性能,并确保在不同设备上流畅查看。了解如何为 Splat 文件创建优化的 LOD 层级结构:LOD 创建指南 - 使用 splat-transform 生成多级 LOD 结构的分步说明,或阅读分步指南了解手动生成多级 LOD 的方法。