指南Stefan VaskevichStefan Vaskevich

在虚幻引擎 5 中跑 3D 高斯泼溅:免费本地生成世界与物体

面向虚幻引擎 5 的免费本地 3DGS 工具链:渲染泼溅的插件、生成碰撞体的命令行工具,以及在哪里免费生成世界与物体。

眼下 3D Gaussian Splatting 正在经历一场真正的革命。仅仅在过去几个月里, 就涌现出一批开源、可本地运行的工具,它们能把 物体和整个世界 都生成为 splat,免费、跑在你自己的 GPU 上,不需要扫描设备,也不依赖云端。而我们终于可以把这一切直接 塞进 Unreal Engine 5,并且它真的能正常渲染,还不会把你的 FPS 拖垮。

这是一份精简、链接密集的全流程指南:在 UE5 里渲染 splat 的插件、负责转换格式并生成碰撞体的 CLI、用来清理 splat 的浏览器编辑器,以及究竟去哪里免费地在本地生成世界和物体。所有链接都汇总 在文末的列表里。

top3d.ai 新功能:不只比较网格,还能比较 splat
我们刚刚把 3D Gaussian Splatting 加入了 Compare 工具,首批约有 10 个 splat, 同时覆盖 物体和世界,这样你就能在浏览器里把它们并排转一转,再决定把哪一个用进 你的项目。来 3DGS Compare 页面亲自试试吧。

观看完整搭建过程

完整的视频讲解会在上线当天放到这里。

视频即将上线视频正式发布后,我们会在这里嵌入完整的 YouTube 讲解。
一辆霓虹赛博朋克跑车,作为 3D Gaussian Splat 生成,运行在 Unreal Engine 5 中,下方还有一个独立的碰撞网格
一辆 splat 跑车被用 NanoGS 放进了 Unreal Engine 5,并配有一个独立的碰撞网格(那个白色团块),这样你才能真正绕着它开。整套流程免费且本地运行。

1. 在 Unreal Engine 5 中渲染 splat:插件

Unreal Engine 默认并不支持 splat 文件(.ply .sog),所以你需要一个插件。这类小型实验性插件 有很多;我测试了最热门的三个,下面给你一份实诚的对比。

  • NanoGS - 我现在的首选。专为较新的 Unreal 版本(5.7)打造,安装最简单,star 更多,英文文档更好,而且仍在积极维护。目前只支持 .ply(希望很快会支持 SOG)。
  • MLSLabs Renderer - 唯一一个还支持 4DGS 的插件(splat 序列,即动画/体积化捕捉)。分为 Lite 版(仅 PLY)和 Pro 版(增加了压缩的 SOG 格式),但 Pro 目前还只是测试版,会在视口里打上水印。尽管 GitHub 页面写的是 5.5,但 Google Drive 上的发布版里其实包含了 5.7 的构建。
  • XScene (XVerse) - 最早的一批之一,但它最高只支持到 Unreal Engine 5.5,所以对于跑在 5.7/5.8 上的新项目我会跳过它。
MLSLabs Gaussian Splatting Renderer 的 GitHub 页面,显示支持 3DGS 和 4DGS、Apache 2.0 许可证,以及一个神庙场景 splat
如果你想要 4DGS,MLSLabs 就是要拿的那个。其余所有情况下,NanoGS 都是更简单的选择:把插件丢进项目的 Plugins 文件夹,重启,启用,然后把任意 .ply 当作 Gaussian Splat actor 导入即可。
NanoGS 安装,简而言之
下载对应的发布版(例如 NanoGS UE5.7), 在你的项目里新建一个 Plugins 文件夹(首字母大写 P), 把它解压到那里,重启 Unreal,然后在 Plugins 里启用 NanoGS。接着 导入任意 .ply 并把它拖进场景。 MLSLabs 更重一些:它会安装进引擎目录,并在首次运行时拉取 PyTorch 依赖。

2. 转换格式、添加碰撞体并清理 splat

splat 有好几种格式,而 Unreal 只吃其中的少数几种,所以你会需要一个工具来回转换,更重要的是用它来生成碰撞体,因为原始的 splat 只是悬浮的颜色,没有任何可以站立或行驶的几何体。 这个工具就是 splat-transform, PlayCanvas 出的 CLI。如果你装了 Node.js,它就是一行命令的安装(ChatGPT 会帮你针对你的文件写出 确切的命令),它既能转换格式,又能把碰撞网格导出为.glb

# install (needs Node.js)
npm install -g @playcanvas/splat-transform

# convert a raw .ply into compressed SOG
splat-transform scan.ply scan.sog

# export a collision mesh (.glb) from a splat
splat-transform car.ply car-collider.glb

把这个碰撞体 .glb 导入 Unreal,让它和 splat 对齐,把它的碰撞设置为 Use Complex Collision As Simple,勾选 Actor Hidden In Game,你就得到了一个可以行走、驾驶或落在其上的 splat。 对物体和对整个世界,做法是一样的。

格式速览
.ply 是原始、笨重的 splat 格式。SOG 是高度压缩的版本 (想象一个约 300 MB 的 PLY 缩小到约 20 MB),正在迅速成为新标准。SPZ 是另一种 压缩/流式的格式。根据你工具的需要,用 splat-transform 在它们之间互转即可。

要真正 编辑 一个 splat,比如修掉杂物、切掉你不需要的部分,最简单的选择是 SuperSplat, 一个直接在浏览器里运行的免费编辑器。把 splat 拖进去,用套索框选你想删掉的部分,删除,导出。 目前你还没法在 Blender 里做这件事,所以做清理时,这就是首选工具。

SuperSplat 浏览器编辑器,里面是一个草莓 splat,部分内容被黄色选中,准备删除
SuperSplat 在浏览器里运行:选中游离的 splat(黄色)并删除,就能在素材进入引擎之前,把你生成或下载的内容清理干净。

3. 去哪里生成 splat:世界和物体,全免费

你可以从 SuperSplat 这样的素材库里抓现成的 splat(其中一些在署名后可免费使用),但有意思的部分 是生成你真正需要的东西。两个开源模型恰好覆盖了这两大类,而且你既可以在本地跑它们,也可以直接用 它们的免费网站。

世界 - Hunyuan World 2.0

Hunyuan World 2.0 能把一张地点照片变成一个完整的 3D 世界 splat。它以 Apache 许可证发布,附带全部代码和权重(GitHub),所以一块强力 GPU(约 24 GB VRAM)就能在本地运行它,或者干脆免费用它的网站。单次生成可能要花上 20 分钟甚至更久,因为它还会顺便为你生成一个干净的 碰撞体,这真是个不错的附赠。 付费的替代方案是 Marble (World Labs), 它也有免费档位并能导出 GLB,但 Hunyuan 的表现毫不逊色,有时甚至更好。

一个中世纪石砌庭院,在 Hunyuan World 2.0 中作为 3D 世界 splat 生成
一张图进,一个完整的 splat 世界出。Hunyuan 会生成一张全景图,围绕它构建出 splat 场景,还顺手给你一个碰撞体。这类世界目前仍以相机为锚点,所以你离起始点越远,瑕疵就越多。

物体 - TripoSplat

TripoSplat 是生成物体的省心之选:它只需要约 8 GB 的 VRAM,而且最新版的 ComfyUI 原生支持它, 装好 ComfyUI,搜索 TripoSplat 模板,安装缺失的依赖,把输出设为 PLY,开跑即可。一次生成大约一分钟就 能出结果(如果你不想折腾 ComfyUI,那个 Hugging Face demo 还更快)。把结果丢进 Unreal,只要你不把它推到上百万个 gaussian,它本身就已经相当优化了。

TripoSplat 在 ComfyUI 中运行,把一盆花生成为 3D Gaussian Splat 物体
ComfyUI 里的 TripoSplat:一张图进,约一分钟出一个 splat 物体,仅需 8 GB VRAM。通过控制 gaussian 数量,在质量和性能之间取舍。

性能:到底什么撑得住

两个插件都号称能以 60 FPS 渲染数百万个 splat,在物体和整洁的场景上,它确实很流畅。实诚的上限是: 一旦超过约 1000 万个 splat,它仍然是瓶颈,因为 Unreal 目前还没有针对 splat 的流式格式。把一个场景 保持在 总计约 100 万个 splat 以内,通常就没问题。

两条让 FPS 活下去的规则
  • 在生成时就 控制 gaussian 数量。对于一个环境道具来说,32k 个 splat 看起来可以 几乎和 262k 一样好,渲染开销却便宜得多。
  • 把大物件拆成多个部分,不要做成一个巨大的 splat 物体。NanoGS 的开发者就建议这么做, 因为单个超大 splat 不会被剔除(移出屏幕时隐藏),所以它远比把同样内容拆成小块要重得多。
Unreal Engine 中的内容浏览器,满是 TripoSplat 生成的 splat 物体——水母、蘑菇、花、一辆赛博朋克跑车
一整库用 TripoSplat 生成、导入 Unreal 的物体。splat 本身是静态的,但它们能以经典网格做不到的方式承载照片级的细节,而这正是布置场景时的魔力所在。

所有链接

在 Unreal Engine 中渲染
处理与编辑
生成 splat

喂给这类工作流的全新 AI 3D 工具层出不穷。它们一出现,就会直接进入 3DGS Compare Arena,这样你就能在投入使用前先测试它们。想了解更多引擎工作流,可以看 Claude Code + Unreal Engine 5 以及 让 splat 变得可玩的指南

想亲自比较这些工具?来试试我们的3D AI竞技场。

在虚幻引擎 5 中跑 3D 高斯泼溅:免费本地生成世界与物体 | Top 3D AI