资讯详情

资讯详情

XScene-UEPlugin:UE5 中 Gaussian Splatting 训练、导入与实时混合渲染的完整工作流

图形学3D渲染计算机视觉深度学习【免费下载链接】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点击查看免费下载本文以仓库总览文档 README_CN.md 为主体系统讲解 XScene-UEPlugin 的两大核心模块——基于原版 3D Gaussian Splatting3DGS的训练管线与基于 UE5 Niagara 的高斯渲染插件从视频/图片一键训练.ply高斯模型到导入 UE 场景、LOD 生成、体积裁剪、动态光照与混合渲染的完整路径并结合仓库源码说明关键参数与实现依据读完即可独立完成素材 → 训练 → 引擎内编辑的全流程。一、项目定位在 UE5 中打通 3DGS 的训练—渲染—编辑闭环XScene-UEPlugin 是基于 Unreal Engine 5UE5的混合编辑插件由 XVERSE Technology Inc.中国深圳开发目标是在 UE 中提供 Gaussian Splatting 模型的生成、呈现与混合编辑能力。Gaussian Splatting 是一种新兴的 3D 重建技术可从多张照片重建 3D 场景原理可参考 Inria 的 3D Gaussian Splatting 原始工作仓库 Training/gaussian-splatting 目录即基于该实现扩展。与单纯的渲染工具不同本项目同时开放了训练侧Python 脚本 Windows 一键训练工具 XV3DTools和引擎侧UE5 Niagara 渲染插件使开发者不必依赖第三方闭源服务即可完成从原始素材到引擎内可编辑资产的完整链路。项目采用 Apache 2.0 协议见 LICENSE。当前版本能力一览EA 阶段从 UEPlugin/README_CN.md 与版本记录v1.0.0 起综合来看插件当前开放的核心能力包括基于 Niagara 的高质量、实时 3DGS 渲染将原始 Gaussian Splatting 场景.ply文件导入并在 UE 场景中渲染与其他 UE 原生资产混合渲染旋转、平移、缩放TRS与 volume 裁剪支持裁剪出独立 Niagara 用于制作特效动态光照与整体调色AlbedoTint导入时自动生成 LOD克服单个 Niagara 200 万点云数量上限Windows 本地训练工具 XV3DTools给定 mp4 视频一键训练出高斯.ply。二、项目结构训练与插件双模块仓库在 v1.1.6 中调整了目录结构将3DGS 训练与UE 插件拆分为两个独立部分顶层结构如下来自 README_CN.md XScene-UEPlugin Training ├️ gaussian-splatting/ # 核心算法和训练脚本 ├️ README.md # 英文训练指南 └️ README_CN.md # 中文训练指南 UEPlugin ├️ Config/ # 插件配置预设 ├️ Content/ # 示例资源和 Niagara 效果 ├️ Media/ # 文档图片和视频 ├️ Plugin/ # 插件源码 ├️ README.md # 英文插件指南 └️ README_CN.md # 中文插件指南 └ LICENSE └ README.md # 总览文件两个模块各自有独立的完整指南深入使用时应分别阅读训练模块Training/README_CN.md、Training/README.md插件模块UEPlugin/README_CN.md、UEPlugin/README.md训练模块结构佐证从实际目录看Training/gaussian-splatting 保留了原版 3DGS 的完整代码骨架并叠加了项目自研扩展目录/文件作用run.py一键训练入口视频抽帧 → COLMAP 位姿估计 → 训练 → 可选去漂浮物后处理train.py训练主循环支持致密化densification与sparse_adam加速arguments/init.py模型/管线/优化三组命令行参数定义与默认值scene/数据加载、相机模型、COLMAP 解析与高斯模型含 SH 球谐系数gaussian_renderer/光栅化渲染与训练期 GUI 网络接口network_guisubmodules/CUDA 加速子模块diff-gaussian-rasterization、simple-knn、fused-ssimpack.py用 PyInstaller 将训练流程打包为 Windows 可执行文件utils/抽帧、COLMAP 调用、PSNR/SSIM 指标等工具函数插件侧的源码组织也可从构建脚本得到印证UEPlugin/Plugins/XV3dGS/XV3dGS.uplugin 声明了三个模块——运行时模块GSRuntime、编辑器导入模块GSImporter与编辑器扩展模块GSEditorEngineVersion为 5.1.0支持平台 Win64依赖Niagara与EditorScriptingUtilities两个引擎插件。从 GSImporter.Build.cs 的依赖列表还能看到它链接了LevelSequence、MovieScene、UMG、Slate等模块对应文档中提到的编辑器工具窗口、拖拽导入与关卡序列模板资产 LS_TemplateLevelSequence.uasset 相关的录制能力。三、训练模块从视频或图片到.ply高斯模型Training文件夹包含了从视频或多视图图片序列进行 3DGS 训练所需的全部文件与脚本。README 中列出的四大特性为数据处理多视角图片和视频转化、模型配置通过参数设置分辨率、点云数量和学习率、一键运行Windows 平台 XV3DTools.exe 与 Python 脚本、监控集成 TensorBoard 的 loss 曲线与 PSNR 等指标。3.1 环境安装按 Training/README_CN.md 给出的官方步骤conda env create --file environment.yml conda activate gaussian_splatting cd submodules/ python ./diff-gaussian-rasterization/setup.py install python ./simple-knn/setup.py install python ./fused-ssim/setup.py install对照仓库中的 Training/gaussian-splatting/environment.yml该环境的锁定版本为python3.7.13、pytorch1.12.1torchvision 0.13.1、torchaudio 0.12.1、cudatoolkit11.6并附带的 pip 依赖包括opencv-python、joblib、plyfile以及三个 CUDA 子模块。这里需要注意总览 README 中Python 3.8的说法与environment.yml中锁定的 3.7.13 存在出入实际以 conda 环境文件的锁定版本为准而使用 Windows 侧 XV3DTools 训练工具时则要求系统安装 CUDA 11 或更高版本。3.2 一键训练run.py训练脚本刻意简化了输入——只需一个视频或一组图片cd gaussian-splatting # fps0.5 表示每两秒抽取视频的一帧 python run.py --video_path /path/of/video --fps 0.5 # 或 python run.py --image_path /path/of/images从 run.py 源码可看到完整处理链路与参数细节输入校验--video_path与--image_path二者必须且只能提供其一未指定--model_path时默认输出到output/{时间戳}目录日志写入该目录下的train.log抽帧视频模式下调用extract_frames按--fps默认0.5即每 2 秒取一帧抽取图片到images/目录位姿估计自动调用 COLMAP可经--colmap_path指定可执行文件、--gpu指定 GPU 序号若输出目录中已存在sparse/结果则会复用缓存--camera_type支持PINHOLE、SIMPLE_PINHOLE、RADIAL、SIMPLE_RADIAL、OPENCV、FULL_OPENCV六种相机模型默认 PINHOLE--no_single_camera可切换单镜头假设--force_colmap强制重跑 COLMAP直接喂入已有 COLMAP 结果提供--input_colmap可跳过抽帧与位姿估计直接基于已有sparse/结果训练训练启动network_gui服务--ip/--port默认 6009 端口并进入 train.py 的训练循环可选后处理见 3.4 节。脚本还内置了参数兜底逻辑iterations至少 100sh_degree被钳制在 0~3 之间fps必须大于 0。3.3 关键训练参数来自源码默认值arguments/init.py 以ParamGroup机制把命令行参数分为三组README 中提到的通过配置文件设置分辨率、点云数量和学习率即通过这组参数实现。核心默认值摘录如下均可在命令行覆盖参数组参数默认值说明Loading--sh_degree3球谐SH阶数最高 3 阶Loading--resolution-1渲染分辨率缩放-1 为原分辨率Optimization--iterations30000训练迭代次数XV3DTools v1.1.1 起可调节Optimization--position_lr_init/--position_lr_final1.6e-4 / 1.6e-6位置学习率起止值Optimization--feature_lr/--opacity_lr/--scaling_lr/--rotation_lr2.5e-3 / 0.025 / 5e-3 / 1e-3各属性学习率Optimization--percent_dense/--densify_grad_threshold0.01 / 2e-4致密化密度比例与梯度阈值Optimization--densify_from_iter/--densify_until_iter500 / 15000致密化窗口区间Optimization--lambda_dssim0.2SSIM 损失权重Optimization--optimizer_typedefault优化器类型可选sparse_adam此外--test_iterations、--save_iterations、--checkpoint_iterations默认均为[7000, 30000]控制测试/存档/checkpoint 节奏。3.4 训练加速与后处理训练加速项目基于原版 gaussian-splatting 扩展因此支持稀疏 Adam 加速python run.py --video_path /path/of/video --optimizer_type sparse_adam从源码看GaussianModel在 scene/gaussian_model.py 中按optimizer_type分支初始化优化器default或sparse_adamtrain.py 在sparse_adam不可用对应扩展未编译时会告警并回退官方对比曲线保存在 Training/gaussian-splatting/assets/charts 目录accel_sparse_adam / accel_default 的 PSNR、SSIM、LPIPS 曲线。去漂浮物后处理为减少异常值和漂浮物floaters以提升渲染质量训练结束后可追加python run.py --video_path /path/of/video --post_processrun.py中的实现是调用第三方工具3dgsconverter--gsconverter可指定可执行名默认3dgsconverter对point_cloud/iteration_{N}/point_cloud.ply先--remove_flyers再转回3dgs格式输出为point_cloud_rm_floaters.ply。README 明确提示该方法对物体重建去漂浮物更有效但容易误删场景主体结构因此仅建议对物体实例使用。流程打包pack.py 将run.py经 PyInstaller 打包为 Windows 可执行文件注入cv2、torch.cuda隐藏导入并附带图标这正是 XV3DTools 一键训练工具的构建方式。四、UE 插件Niagara 驱动的高斯渲染与编辑4.1 插件构成与系统要求插件名XV3dGSXV3dGS.uplugin 中VersionName为 1.1.5FriendlyName为 XV3dGS三个模块GSRuntimeRuntime、GSImporterEditor、GSEditorEditor均限 Win64强制启用引擎插件Niagara、EditorScriptingUtilities内置XV3dGSLoc编辑器本地化目标含中英文.po/.locres见 UEPlugin/Plugins/XV3dGS/Content/Localization。系统要求见 UEPlugin/README_CN.mdWindows 10 或 11Unreal Engine 5.1.x / 5.2.x / 5.3.x / 5.4.x / 5.5.x若要使用 XV3DTools 训练工具需 CUDA 11 或更高。仓库自带一个可直接打开的示例工程 UEPlugin/XV3DGS.uprojectEngineAssociation 5.1其中包含demo关卡Content/demo.umap与一组导入好的示例高斯资产Content/XV3dGS/demo_fox_gs/含demo_fox_gs、demo_fox_gs_buffers及pos、quat、scale、sh_0等 Buffer 资产——可以看到高斯位置/四元数/尺度/SH 系数是以独立 Buffer 纹理资产管理的。4.2 导入流程.ply进 UE 并自动生成 LOD标准导入步骤UEPlugin/README_CN.md打开XV3DGS.uproject启动 UE打开demo关卡查看示例场景点击导航栏的加载资产按钮或菜单Window → XV3dgs打开工具窗口默认即 Import PLY 页点击Import PLY File在弹出的资源选择窗口中选择一个或多个.ply文件——v1.1.3 起支持直接拖动多个 ply 到 Content Browser 批量导入导入过程会自动计算 LOD 并生成对应 Buffer 资产将生成的资产拖入关卡视口Level Viewport即可实时渲染。其中 LOD 的关键设计是默认在不超过单个 Niagara 200 万点上限的前提下显式最大的一级 LOD也可用参数VisWhichLOD强制指定某一级 LOD 用于调试。4.3 编辑能力TRS、裁剪、动态光照与调色旋转/平移/缩放TRS在 Outliner 中选中拖入场景的 3D-GS Actor调整其 Transform 即可也可直接在视口中用 GIZMO 操作。高斯点云裁剪选中 Gaussian 模型蓝图选中 Clip Volume Component 并勾选 Visible通过 Transform 或 GIZMO 调整裁剪体积的位置、旋转与缩放在 Crop Type 中选择裁剪方案默认不裁剪可裁剪体积内或体积外的部分点击Crop GSPoints按钮可裁剪出一个干净的独立 Niagarav1.1.1 引入用于后续制作 VFX 特效。动态光照默认高斯场景不接受动态光照开启with Relighting按钮后即可接受 UE 全部光源类型点光、聚光等的实时重光照光源可任意移动——插件内容目录中对应的重光照材质为 M_GS_relight.uasset 系列资产。整体调色通过修改AlbedoTint参数实现整体颜色调整。以上能力与插件资产清单互相印证Content 目录中包含运行时材质M_GS_Runtime、M_GS_unlit、M_GS_unlit_2、调试材质YX3dGS_debug、特效材质YX3dGS_FX以及编辑器窗口蓝图window/BP/mainWindow、secondWindow_Tools、secondWindow_Training、secondWindow_importPLY分别对应主工具窗口、训练页调用 XV3DTools、导入页等界面。4.4 XV3DToolsWindows 本地一键训练插件与 Windows 侧训练工具 XV3DTools 的版本对应关系UEPlugin/README_CN.mdXV3DGS-UEPlugin 版本XV3DTools 版本1.0.0 ~ 1.1.41.1.11.1.5 ~ 1.1.5.11.1.2使用步骤从云盘下载与插件版本对齐的 XV3DTools 工具至本地打开工具切换到 Training 页面设置XV3DTools Folder为工具所在路径选择待训练 MP4 并设置Input MP4 Path要求视频帧率大于 20选择Output Folder点击 Start Training 开始训练完成后在输出目录中取得结果 ply。路径限制所有路径均不能是中文、不能包含#$%等特殊字符。官方给出的训练速度参考Windows 10 CUDA 11 RTX 2080 8GB i9-9900demo_fox.mp410 秒视频5fps 采样约 5 分钟demo_office.mp4430 秒视频1fps 采样约 40 分钟。4.5 关卡打包为可执行程序UEPlugin 侧提供打包文档 UEPlugin/Media/Pack_CN.md英文 Pack.md与关卡录制文档 UEPlugin/Media/CaptureDOC_CN.md可将含高斯场景的关卡打包为 Windows 可执行程序仓库媒体目录中附有打包流程的配图UEPlugin/Media/image/pack。五、快速开始1. 获取代码git clone https://github.com/xverse-engine/XScene-UEPlugin.git cd XScene-UEPlugin2. 安装依赖训练模块准备 Python 环境与 PyTorch推荐直接用 Training/gaussian-splatting/environment.yml 创建 conda 环境并安装三个 CUDA 子模块见第三节UE 插件安装 Unreal Engine 5.x确保Niagara插件处于启用状态插件 .uplugin 已声明自动启用。3. 构建与运行训练参见 Training/README_CN.md 中run.py用法插件本仓库即为完整示例工程直接打开 UEPlugin/XV3DGS.uproject 即可若需集成到自己的项目将UEPlugin/Plugins下的XV3dGS插件拷贝至项目Plugins/目录后在插件浏览器中启用。六、路线图与版本记录路线图未完成项支持编辑器和运行时的动态 LOD 渲染支持自动碰撞以及物理代理生成支持实时预览窗口便于快速调试支持交互式 3D-GS 资产编辑支持 3D-GS 资产压缩和流送版本记录摘录自 README_CN.md版本要点v1.1.6提供便捷易用的训练代码和脚本支持参数调整目录结构拆分为 3DGS 训练与 UE 插件两部分v1.1.5支持用户自定义训练参数修改 3DGS 致密化策略更关注重要区域支持对象重建后处理有效去除漂浮物支持 0~3 阶球谐系数的高斯模型导入渲染对比见文首配图v1.1.4支持 UE5.4v1.1.3支持拖动多个文件到 Content Browser 批量导入修复 buffer 资产位置不正确时的闪退修复 XV3DTools 错误路径提示v1.1.2支持更多类别的 ply 头文件修复移动物体闪烁更新 UIv1.1.1更新剪裁功能可剪裁出干净的 Niagara 做特效XV3DTools 支持调节训练迭代次数v1.1.0导入时自动生成 LOD克服单个 Niagara 200 万点云限制XV3DTools 实现 Windows 下 mp4 一键训练修复 transform 的 bugv1.0.1修复 v1.0.0 在 UE5.2/5.3 下打包的问题v1.0.0基于 Niagara 的实时 3DGS 渲染.ply导入渲染与 UE 资产混合渲染TRS、裁剪、动态光照、整体调色、VFX七、贡献指南fork 本仓库创建分支git checkout -b feature/my-feature提交修改git commit -m Add featurepush 到你的分支git push origin feature/my-feature提交 Pull Request。赞分享图形学3D渲染计算机视觉深度学习【免费下载链接】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从视频训练到 UE5 实时渲染的 Gaussian Splatting 全流程插件XScene UEPlugin从视频训练到 UE5 实时渲染的 Gaussian Splatting 全流程插件 XScene UEPlugin 是由 XVE图形学3D渲染计算机视觉深度学习hBlock 完全指南如何轻松配置系统级广告拦截hBlock 完全指南如何轻松配置系统级广告拦截 hBlock 是一款强大的系统级广告拦截工具通过创建自定义 hosts 文件来阻止广告、跟踪脚本和恶意软件网络安全Unity Gaussian Splatting实时3D渲染完整配置指南项目亮点速览 Unity Gaussian Splatting项目为您带来革命性的实时辐射场渲染体验。该项目基于SIGGRAPH 2023重磅论文3D Gau图形学3D渲染创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →