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 工具:
- 文件夹和文件名中避免使用空格,这样就不必转义特殊字符。
- 在目标文件夹内打开终端/Shell,这样就不需要输入完整路径 (Windows/macOS:右键单击 → 打开终端)。
- 尽量避免使用
-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
更多参数说明请参阅 PlayCanvas 的 SplatTransform CLI 工具官方页面。
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 碰撞文件的集成尚未实现。
此解决方案同时适用于 LOD 和 LCC。
使用 LCC 数据集的解决方案:
- 在文本编辑器中打开 LCC(Windows:记事本,Mac:备忘录或 TextEdit)
- 搜索 totalLevel 一词
- 使用该数字并减去 1(例如 totalLevel: 7 则为 6)
- 使用以下命令生成低分辨率
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
- 将 Splat 的低分辨率版本作为单独的实体上传并生成碰撞
- 下载碰撞文件并将其添加到您的 LCC 中
使用 PLY 数据集的解决方案:
- 生成 Splat 的低分辨率版本。
- 将 Splat 的低分辨率版本(约 100-200 万个 Splat)作为单独的实体上传(最好在单独的空间中)
- 使用该实体上的 "Generate Collision" 按钮创建碰撞网格。
- 下载或找到生成的碰撞文件。
- 将此碰撞文件上传到您的 LOD 实体。