跳到主要内容

Splat Transform 指南

本指南帮助您安装 splat-transform 并提供一组在不同场景中可使用的实用命令。

前提条件

要使用以下命令,您需要安装 npm。请使用官方指南为您的设备安装:

如果您已安装 npm,请打开 Shell 或终端,运行以下命令验证安装:

npm -v

如果输出显示版本号(如 11.4.2),说明 npm 已正确安装。如果命令无法识别,说明 npm 未正确安装。

此外,您还需要 PlayCanvas 的 SplatTransform CLI 工具。您可以使用以下命令全局安装 splat-transform

npm install -g @playcanvas/splat-transform

安装完成后,通过以下命令检查安装情况:

splat-transform --version

输出应同样是一个版本号,如 0.15

开始之前

在开始处理资源之前,请注意以下几点,以便更轻松地使用 CLI 工具:

  1. 文件夹和文件名中避免使用空格,这样就不必转义特殊字符。
  2. 目标文件夹内打开终端/Shell,这样就不需要输入完整路径 (Windows/macOS:右键单击 → 打开终端)。
  3. 尽量避免使用 -w 参数,因为它可能会覆盖您不打算替换的文件。

基本用法

splat-transform 的一般用法:

splat-transform input [ACTIONS BEFORE] output [ACTIONS AFTERWARDS]
  • ACTIONS BEFORE 是在转换或文件创建之前运行的所有过滤器或操作。
  • ACTIONS AFTERWARDS 是在转换或文件创建之后运行的所有过滤器或操作。

实用操作

查看参数概览

如果您需要在控制台中查看所有可用参数的概览,请使用以下命令:

splat-transform -h

过滤 NaN Gaussian

建议添加 --filter-nan-N 标志以移除包含 NaN 或 Inf 值的 Gaussian。

示例:

splat-transform your-file.ply -N  your-output-filename.ply

覆盖现有文件

如果您忘记了某个参数或需要快速替换已生成的文件或文件夹,可以手动删除它,也可以使用以下命令直接覆盖:

splat-transform your-file.ply -w your-file.ply

过滤球谐函数

在生成用于碰撞的低分辨率 PLY 时,建议移除所有球谐函数。 以下命令将剥离所有 SH 球谐函数:

splat-transform your-file.ply -H 0 your-output-file.ply
想了解更多?

SOG 生成

在当前目录中打开终端或 Shell,否则需要导航到 PLY 文件所在的文件夹。

以下命令将您的 PLY 转换为 SOG(需要在当前目录中执行):

splat-transform your-file.ply your-output-filename.sog

以下命令将您的 .compressed.ply 转换为 SOG(需要在当前目录中执行):

splat-transform your-file.compressed.ply your-output-filename.sog

LOD 生成

详细的分步指南请参阅 LOD 创建指南 章节。

为 LCC 和 LOD 生成碰撞

要创建碰撞体,目前需要一个临时解决方案,因为 .lci 碰撞文件的集成尚未实现。

important

此解决方案同时适用于 LODLCC

使用 LCC 数据集的解决方案:

  1. 在文本编辑器中打开 LCC(Windows:记事本,Mac:备忘录或 TextEdit)
  2. 搜索 totalLevel 一词
  3. 使用该数字并减去 1(例如 totalLevel: 7 则为 6)
  4. 使用以下命令生成低分辨率 PLY
splat-transform your-lcc-data.lcc -O 6 low-resolution.ply

可选:如果您还想包含环境,请使用此命令:

splat-transform your-lcc-data.lcc -O 6 -E environment.bin low-resolution.ply
  1. 将 Splat 的低分辨率版本作为单独的实体上传并生成碰撞
  2. 下载碰撞文件并将其添加到您的 LCC 中

使用 PLY 数据集的解决方案:

  1. 生成 Splat 的低分辨率版本。
  2. 将 Splat 的低分辨率版本(约 100-200 万个 Splat)作为单独的实体上传(最好在单独的空间中)
  3. 使用该实体上的 "Generate Collision" 按钮创建碰撞网格。
  4. 下载或找到生成的碰撞文件。
  5. 将此碰撞文件上传到您的 LOD 实体。