English | 中文
XVERSE 3D Gaussian Splatting (3D-GS)UE Plugin 是基于 Unreal Engine 5 (UE5) 的混合编辑插件,由 XVERSE Technology Inc. (Zhenshen, China) 开发,旨在UE中提供 Guassian Splatting 模型的生成、呈现、混合编辑能力。Guassian Splatting 是一项最近兴起的 3D 重建技术,用于从多张照片重建 3D 场景, 更多原理可以参考这里.
目前的插件是基于 UE5 Niagara 实现的,我们充分利用了 UE5 Niagara 提供的优势,实现了 Guassian Splatting 模型的高效渲染和管理。
目前我们处于EA阶段,当前开放的插件中,可用的功能总结如下:
- 基于 Niagara 的高质量且实时的 3D Gaussian Splatting 模型渲染
- 将原始 Gaussian Splatting 场景(.ply 文件)导入并在UE场景中渲染
- 与其他 UE 资产混合渲染
- 旋转, 平移, 缩放和 volume 裁剪
- 支持剪裁出独立的niagara用于做特效
- 动态光照和整体调色
- 导入时自动生成LOD,克服单个Niagara 200万点云数量限制
- Windows系统本地训练工具::使用XV3DTools,实现在windows平台下,给定mp4视频一键训练出Gaussian Splatting ply,使用细节见下文
我们后续将持续在本仓库中发布新功能,敬请期待。一些未来的更新将包含:
- 运行时动态切换Lod
- 自动生成碰撞
- preview窗口
- 交互式剪裁
- 3DGS资产压缩
B站(中文):
- [3DGS教程] 使用免费插件在UE5上轻松玩转3D Gaussian Splatting
- [3DGS教程] 将场景视频(.mp4)转为3D模型(.ply)的免费工具
- [3DGS教程] 3D Gaussian Splatting + VFX 打造惊艳特效!
youtube(English):
- [Free 3DGS Tutorial] 3D Gaussian Splatting in Unreal Engine 5 for Beginners
- [Free 3DGS Tutorial] Make your 3D Gaussian Splatting easily -Turning a VIDEO into 3D
- [Free 3DGS Tutorial] 3D Gaussian Splatting + VFX is AWESOME!
岗位职责:研发3D重建与生成领域的相关算法和应用,综合运用Gaussian Splatting、NeRF、IBR、SFM、深度估计等多种CVCG技术,依据产品需求进行组合创新和单点突破。将算法集成进图形引擎,持续打磨算法的性能和效果,追踪前沿算法的最新进展。
岗位要求:
- 1.硕士或以上学历,有扎实的计算机视觉或图形学功底,了解NeRF、Gaussian Splatting、IBR、SFM、深度估计等3D重建与生成方法中的至少一个子方向。
- 2.熟练掌握至少一种编程语言,如C++,Python等。
- 3.有顶级学术会议发表或编程竞赛优胜经验者有加分。
投递邮箱:xengine@xverse.cn
投递时请邮件标题标明申请正式员工or实习生岗位
- Windows 10 或 11
- Unreal Engine 5.1.x / 5.2.x / 5.3.x
- cuda11或更高(如果要使用XV3DTools训练工具)
- 打开github网址Release页面
- 下载和你使用的ue版本对应的插件压缩包,推荐使用最新版本
- 解压,把XV3dGS文件夹放在Plugins目录下
我们提供了两套测试数据: 百度网盘下载地址 谷歌云盘下载地址
其中:
- demo_fox_1080p.mp4和demo_office_1080p.mp4是两个示例mp4,用于测试XV3DTools本地训练
- demo_fox_gs.ply和demo_office_gs.ply是XV3DTools训练出来的3DGS模型,可以用本插件导入UE并实时渲染
本仓库已经提供了一个示例项目,其中包含一个示例关卡和场景以及我们的插件 可以通过如下指令下载
git clone https://github.com/xverse-engine/XV3DGS-UEPlugin.git
- 打开
XV3DGS.uproject
启动UE - 打开
demo
关卡
点击导航栏上的加载资产按钮,或者window/XV3dgs
会弹出一个工具整合页面,默认是import ply页面,点击 import ply file 按钮
会弹出一个资源选择窗口
选择你自己的 Guassian Splatting 场景 (.ply 格式),该场景会自动生成LOD并导入到内容浏览器中
想要在关卡中可视化场景,只需要将对应的资产拖进关卡视口(Level Viewport)即可
我们使用XV3DTools 实现将MP4视频训练出Gaussian Splatting ply
XV3DGS-UEPlugin 版本 | XV3DTools 版本 |
---|---|
1.0.0 ~ 1.1.4 | 1.1.1 |
1.1.5 | 1.1.2 |
请注意: 使用前需要预先安装CUDA 11或更高版本CUDA下载地址
- 从云盘下载XV3DTools工具(注意和插件版本对齐)至本地:
Version | Download Link | Preview |
---|---|---|
1.1.1 | Baidu Pan, Google Drive | |
1.1.2 | Baidu Pan, Google Drive |
- 点击图标,打开界面,切换到Training页面
-
点击参数右侧按钮,设置参数“XV3DTools Folder”为本地XV3DTools工具所在的路径,注意路径不能是中文,不能有特殊字符如#$%。
-
点击参数右侧按钮,选择要处理的MP4文件,并将其设置为参数“Input MP4 Path”(要求视频帧率大于20),注意路径不能是中文,不能有特殊字符如#$%。
-
点击参数右侧按钮,选择输出的文件夹,并设置为参数“Output Folder”,注意路径不能是中文,不能有特殊字符如#$%。
-
点击Start Training按钮即可开始训练
- 训练完成后,从输出的文件夹下找到训练结果ply
- 测试机配置:Windows 10,CUDA 11,GeForce RTX 2080(8GB显存),i9-9900处理器。
- demo_fox.mp4:视频总时长10秒,训练耗时5分钟 (采样帧率为5fps)
- demo_office.mp4:视频总时长430秒,训练耗时40分钟 (采样帧率为1fps)
参考下面的文档,实现把自己的ue关卡打包成windows上可以运行的exe文件
我们提供一个打包好的关卡示例,可以从github release下载pack_win_exe.zip
,解压后双击exe运行
在Outliner中选中拖入场景的 3D-GS actor,即可通过调整Transform来调整TRS
也可以在关卡视口中点击选中资产,通过控制GIZMO来旋转平移缩放模型
- 点击选中你的Gaussian模型蓝图,点击选中Clip Volume Component,并勾选Clip Volume Component中的Visble框
- 保持选中Clip Volume Component,你可以在窗口中看到一个体积Volume,你可以通过修改Transform来修改volume的旋转平移缩放,也可以通过键盘快捷键wer可视化的调整GIZMO来实现旋转平移缩放
- 保持选中Clip Volume Component,你可以在Crop Type中选择不同的剪裁方案,默认状态是不裁剪,你可以改成裁剪体积内或者体积外的部分。如图是剪裁掉体积外的部分
- 点击Crop GSPoints按钮,可以把上面的部分剪裁出一个干净的niagara
- 这个干净的niagara可以用于后续做特效,具体请参考我们的特效教程
默认是不接受动态光照 通过开启 with Relighting按钮启用接受动态光照
支持UE全部光源类型 如下图是添加点光源
光源可以任意移动
通过修改AlbedoTint参数实现整体修改颜色
对于导入的点云会自动计算LOD,默认是在不超过niagara的200万点上限的基础上显式最大的一级LOD。可以使用参数“VisWhichLOD”强制指定使用那一级LOD
- 支持用户自定义训练参数设置
- 修改3DGS致密化策略,更加关注重要领域
- 支持对象重建的后处理策略,可以有效地去除浮点数
- 支持导入0~3阶球谐系数的高斯模型
- 支持 UE5.4
- 支持拖动多个文件Content Browser并导入
- 修复 buffer资产位置不正确时候的闪退问题
- 修复 XV3DTools 错误路径提示
- 支持更多类别ply头文件
- 修复移动物体闪烁的bug
- 更新UI
- 更新剪裁功能,实现剪裁出一个干净的niagara来做特效
- XV3DTools v1.1.1:支持用户调节训练迭代次数
- 导入时自动生成LOD,克服单个Niagara 200万点云数量限制
- Windows本地训练环境:使用XV3DTools,实现在windows平台下,给定mp4视频一键训练出Gaussian Splatting ply
- 修复transform的bug
- 修复v1.0.0的bug:UE5.2和UE5.3下打包出现问题
- 基于 Niagara 的高质量且实时的 3D Gaussian Splatting 模型渲染
- 轻松将原始 Gaussian Splatting 场景(.ply 文件)导入并在UE场景中渲染
- 与其他 UE 资产混合渲染
- 旋转, 平移, 缩放
- 裁剪
- 动态光照
- 整体调色
- 制作VFX效果