XScene-UEPlugin:3步把3D高斯泼溅送进UE5
2026/8/23 14:10:10 网站建设 项目流程

XScene-UEPlugin:3步把3D高斯泼溅送进UE5

【免费下载链接】XScene-UEPluginA Unreal Engine 5 (UE5) based plugin aiming to provide real-time visulization, management, editing, and scalable hybrid rendering of Guassian Splatting model.项目地址: https://gitcode.com/gh_mirrors/xv/XScene-UEPlugin

XScene-UEPlugin 把训练好的 3D 高斯泼溅模型直接送进 UE5,做实时渲染、管理与混合编辑。

🧭 此前:泼溅场景怎么进引擎

通常的做法是训练出 .ply,用作者自带的 web viewer 查看——能看到,但没有灯光、没有资产管线,进不了产品;或者导出成网格,3D Gaussian Splatting(下称 splat)主打的高帧率优势也就没了。本项目的切点是把 splat 渲染架在 UE5 的 Niagara 粒子系统上:导入、LOD、裁剪、动态光照都在编辑器内完成,结果可与引擎资产同框,也能打包成可执行程序。

⚙️ 启动条件与最小路径

硬性依赖:

  • Windows 10/11,插件与训练工具均为 Win64
  • Unreal Engine 5.1.x 至 5.5.x
  • 纯渲染无显卡硬性要求;若本地训练需 NVIDIA GPU 与 CUDA 11+
  • 预留数 GB 磁盘:.ply 及导入生成的 buffer 资产可达 GB 级

最小路径三步:

  1. 拉取源码:
git clone https://gitcode.com/gh_mirrors/xv/XScene-UEPlugin
  1. 仓库自带示例工程,直接双击UEPlugin/XV3DGS.uproject打开,插件已内置启用。
  2. 要接入自己的工程,把UEPlugin/Plugins/XV3dGS/拷进项目Plugins/目录并启用 XV3dGS。

看到什么算成功:打开 demo 关卡后,视口里直接渲染出 splat 场景,鼠标可环绕、缩放,帧率可用。

🎬 能力实测:导入、编辑与混合渲染

从 .ply 到视口

输入是一份标准 splat .ply(v1.1.3 起支持多文件拖入批量导入)。插件读取后自动把数据拆成 buffer 资产并计算 LOD——单个 Niagara 有 200 万粒子的上限,大场景靠 LOD 拆分才跑得动。输出是内容浏览器里的一组资产,拖进关卡视口即可作为高斯 Actor 参与渲染,TRS 操作与普通 Actor 一致。

demo 关卡视口:资产拖入即渲染

裁剪出一块给特效

选中关卡里的 GS Actor,勾选 Clip Volume Component 得到裁剪体积,移动、缩放这个 volume,把 Crop Type 设为保留体积内或体积外,再点 Crop GSPoints,会直接产出一个干净的 Niagara System,可直接进粒子管线二次加工。输入是完整场景,操作是挪一个体积,输出是可喂给特效的材质源。

用裁剪体积切出干净的 Niagara

混合渲染与动态光照

默认场景不接受动态光;勾选 With Relighting 后支持 UE 全部光源类型,点光源移到哪里,splat 表面的高光跟到哪里。AlbedoTint 参数可做整体调色,让扫描场景的色调贴近关卡风格。泼溅资产与引擎网格、Niagara 可以同框,最终按仓库内打包文档输出 Windows 可执行程序。

📈 训练耗时与质量数据

官方 README 给出的训练耗时参考(测试机:Windows 10、CUDA 11、RTX 2080 8GB、i9-9900):

| 素材 | 采样帧率 | 耗时 | | -- | -- | -- | | 10 秒视频 | 5fps | 约 5 分钟 | | 430 秒视频 | 1fps | 约 40 分钟 |

提速有两个开关:--optimizer_type sparse_adam(Sparse Adam 只更新活跃参数)与加速光栅化器。开启全部特性时,sparse adam 配置的耗时明显低于默认配置。

Sparse Adam 明显压缩训练耗时

质量侧是公开基准(仓库自带对比图,自行车场景):

| 方法 | 训练耗时 | PSNR | 渲染帧率 | | -- | -- | -- | -- | | InstantNGP | 7 min | 22.1 | 9.2 fps | | Plenoxels | 26 min | 21.9 | 8.2 fps | | Mip-NeRF360 | 48 h | 24.3 | 0.071 fps | | 3DGS(6 分钟档) | 6 min | 23.6 | 135 fps | | 3DGS(51 分钟档) | 51 min | 25.2 | 93 fps |

自行车场景:训练时间、PSNR 与帧率逐法对比

训练端还加了深度正则化,用来压掉重建里的重影与边缘毛刺,开关前后差异肉眼可见:

左右为有无深度正则化的渲染结果

🧩 边界与进阶

参数调优入口

训练默认 30000 轮迭代,视频输入的采样密度由--fps控制(0.5 即每两秒取一帧):

python run.py --video_path <视频路径> --fps 0.5

常用开关:--post_process走一轮 3dconverter 后处理去浮点,--train_test_exp启用逐图曝光补偿,适合曝光跳变大的素材。插件侧日常要碰的主要是 LOD 层级(VisWhichLOD)与裁剪参数。

二次开发切点与工具链衔接

插件源码拆成三个 C++ 模块:GSRuntime(运行时渲染,会进游戏包)、GSImporter(编辑器端解析 .ply 并生成资产)、GSEditor(工具窗口界面)。整体 Blueprint 友好,编辑器工作流用蓝图即可扩展。Training/gaussian-splatting/ 是完整训练管线,pack.py能把"视频到 .ply"整条流程打成独立 exe——Windows 训练工具 XV3DTools 就是这么产出的,可交给非程序美术使用;注意工具与插件需版本对齐(插件 1.1.5 对应工具 1.1.2)。引擎侧主体在 UEPlugin/Plugins/XV3dGS/,示例资产与材质在 UEPlugin/Content/。

🛠 避坑速查

  • 路径含中文或特殊字符 → 训练工具只认 ASCII 路径,报错卡死多半是它,改成纯英文数字路径。
  • 视频帧率低于 20 → 训练入口不接受该素材,重新拍摄或转码到 20fps 以上;拍摄时锁 1080P、30fps 较稳。

拍素材:锁 1080P,帧率至少 30fps

  • 导入后视口点稀、性能仍不理想 → 单个 Niagara 200 万点上限会逼默认 LOD 取较激进一级,用 VisWhichLOD 强制指定想要的层级。
  • --post_process后场景只剩残片 → 该后处理容易误删场景主体结构,官方建议仅对单体物体重建启用,大场景勿开。

🗺 代码地图

算法与引擎完全分家:训练相关全在 Training 下,引擎相关全在 UEPlugin 下;插件侧三个 C++ 模块分别负责运行时、导入与编辑,窗口界面是蓝图资产。

XScene-UEPlugin ├─ Training/gaussian-splatting/ # 训练主体:视频/图片 → .ply │ └─ submodules/ # 光栅化等 CUDA 子模块 ├─ UEPlugin/Plugins/XV3dGS/ # 插件主体:GSRuntime/GSImporter/GSEditor ├─ UEPlugin/Content/ # 示例资产、材质与 demo 关卡 └─ UEPlugin/XV3DGS.uproject # 示例 UE5 工程

📍 落地场景

  • 虚拟制片:扫描实景与 CG 元素实时合拍,动态光照让现场先验光。
  • 建筑地产 walkthrough:巡楼视频直接变可走查场景,比传统建模快且省。
  • VFX 管线:裁剪出独立 Niagara 喂给粒子系统做二次加工。
  • 文物与商品数字化:单体训练配合后处理去浮点,拿到接近可用的资产。

项目当前处于 EA 阶段:插件主链路已可日常使用,流式加载、资产压缩与自动碰撞生成仍在 Roadmap 上。评估它的成本很低——clone 仓库、打开 demo 关卡,再把一份自己的 .ply 拖进内容浏览器即可。

【免费下载链接】XScene-UEPluginA Unreal Engine 5 (UE5) based plugin aiming to provide real-time visulization, management, editing, and scalable hybrid rendering of Guassian Splatting model.项目地址: https://gitcode.com/gh_mirrors/xv/XScene-UEPlugin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询