GITAAA

Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描

Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描

资源介绍

通过3D高斯溅射技术,将真实场景引入Unity:利用照片重建的可探索型扫描数据。掉进一个。索格,。spz或3DGS。添加碰撞和游戏玩法,或将其移植到VR平台。内置、URP和HDRP均受支持。在固定的GPU预算下进行大规模捕获——包括城市级扫描。 包装内附有完整的使用说明书、故障排除表及调音指南,语言为英语和日语。上方图库中的演示视频。所有图库图片均为未经编辑的Unity截图。支持:请在此页面联系出版方。 导入:一步到位,三种格式 SOG (PlayCanvas / SuperSplat) 、SPZ (Niantic、v3 gzip和v4 NGSP zstd) 和3DGS层 (SH度0-3)。放下一个捆绑包。索格,。spz或 .直接导入到您的项目中,即可获得可直接渲染的GaussianSplatAsset——无需外部转换器,也无需命令行操作。未打包的SOG(即meta.json文件及其WebP图像文件)则通过编辑器菜单一次性导入。将superspl.at数据集原样导入。二进制格式的3DGS PLY文件也可以直接在编辑器中转换为流式烘焙。 渲染:每个管线,正确的合成 • 每个渲染管线。内置、URP(Unity 6渲染图,带有兼容模式回退)以及HDRP(自定义渲染通道)。着色器随包一同发布,并会自动包含在播放器构建中——无需启用“始终包含着色器”设置。 • GPU深度排序。计算中的基数排序会在相机移动时重新排序绘制顺序,从不在主线程上进行,自动后台CPU回退,其中计算排序不可用 (具体见技术细节)。 • 渲染比例。将splats绘制到缩小的屏幕外目标和复合: 填充成本随scale ² 大致下降,UI和几何保持全分辨率。XR有同一款手柄的立体声阵列版本。 • 正确的合成。Splats会与场景进行深度测试,因此扫描得到的物体内容会位于墙体和道具的后方,而不会悬浮在其上方。 • 视图相关颜色。每个视图评估捕获的SH带1-3,因此光泽度,玻璃和湿表面随记录的相机而变化; 每个对象可切换。线性项目的默认颜色模式为“培训”;“旧版”仍可使用。远距离广告牌保留SH颜色。 流式处理:固定预算下的城市级规模 大型捕获不适合GPU内存,因此SplatBridge在您设置一次的硬驻留预算下流式传输它们。如果在经过页面舍入和过渡预留后,所有最精细的完整切片都能容纳,则完整细节将自动保留在内存中。否则,屏幕空间LOD会在同一上限范围内进行自适应调整。 • 屏幕空间质量。Splat质量像素(τ)以屏幕像素为单位设置细节,默认值固定为2像素。可选的自动预设会根据平台选择相应的值。 • 更粗糙,从不打孔。该计划在细节上花费任何东西之前支付数据集的每个单元,因此通过绘制更粗糙的场景来吸收预算不足的预算,而不是通过删除部分场景。 • 货物发运前请先了解相关情况。烘焙日志和检查员报告了一个覆盖门判决: 即使对于最便宜的完整视图来说,预算也太小了,在编辑器中没有发现,在设备上没有发现。可选的调试日志会输出覆盖率、达成的质量指标、误差分布以及帧时间拐点,因此调优过程基于测量而非猜测。 • 修复了内存问题。最大居民涂痕数是一个严格的内存上限,也是影响性能的主要因素——τ 用于设置画质。GPU缓冲区以该大小一次性分配,并采用每帧上传预算、视锥体剔除以及无闪烁的分块交换机制。 • 已预先编译,因此运行时无需解码。一键烘焙 (.splatbake) 将流式SOG数据集转换为GPU就绪记录,因此运行时块加载是在循环中不进行图像解码的情况下进行的查找和读取。 • 在编辑器中实时操作。场景视图在播放之前运行真正的流循环-相同的工作人员,相同的预算,相同的LOD削减-并在收敛后闲置; 移动相机恢复。 在Unity中编辑扫描数据 在场景视图中选择区域,预览结果,然后进行分割、删除或提取。对SplatObject和烘焙的Streamer使用五种体积形状、套索或选区画笔。添加、减去并交集选区,按不透明度、大小或颜色进行筛选,并调整所选颜色/不透明度。在删除之前,请先审查孤立集群候选对象。合并对象并重建LOD,或导出SOG、流式SOG ZIP文件或PLY文件。镜像复制会创建镜像部件;分离后的部件是用于Unity动画的普通游戏对象。将二进制3DGS PLY直接转换为带有自动生成LOD的流式烘焙数据。克隆修复和运行时裁剪是受支持的编辑工具。 • 实时光影(URP/HDRP)。将阴影投射到Unity的光照网格上,并接收其阴影;提供独立的“投射阴影”和“接收阴影”开关,默认均处于关闭状态。这会添加阴影,但不会去除扫描中已捕捉到的光照。 把它变成一个游戏 • 碰撞。生成一个具有可调节网格大小和占用率的MeshCollider。体素为默认选项;平滑和曲面拟合为可选功能。将其与Unity物理系统和NavMesh打包功能一起使用。生成阶段会独立于显示的细节层次读取数据集,并且需要编辑器内存。这不是运行时流式加载的碰撞。 • 显示/隐藏动画。五种模式 (散射,FromPoint,雨,溶解,扫描) 在顶点着色器中动画实际的高斯-没有粒子到splat切换弹出,并且完全显示的帧完全是正常的渲染。它可以等到主播的首次全程直播,这样场景就能一次性完整呈现,而不是逐个弹出。 • 视觉特效图桥。从VFX Graph中采样实时点阵缓冲:在扫描表面上生成的粒子会继承该表面的颜色,并与揭示波同步。手册中提供了两份可直接粘贴的HLSL代码示例。 • 运行时加载。SplatRuntimeLoader.LoadFromFile(path) 加载 .索格/。斯皮兹/。ply在运行时; 错误表面为带有原因的类型异常 (无法识别的容器,不支持的版本,损坏的数据……),而不是无声的失败。 VR和实验性Meta Quest standalone PC VR (URP) 是一流的目标: 单通道实例化和多视图立体,已在Quest 3 over Link (OpenXR) 上验证。排序依据头部姿态进行,因此在您环视时,深度顺序依然保持一致。 SplatBridge还可以在Quest 3 standalone (Android、OpenXR、Vulkan、Multiview) 上运行-与台式机相同的导入器、streamer、GPU深度排序和立体声路径,并为您处理一次性StreamingAssets提取。它今天在设备上可以正常运行。 独立标记为实验目的。在独立硬件上的性能表现很大程度上取决于您的采集规模和设置,并且相关的调优工作仍在持续进行中。将其视为一个用于原型开发和度量的工具,而不是一个能够保证特定帧率的平台。 fill绑定的另一个杠杆: 一个选择的冒名顶替者将远场烘烤到广告牌中,因此现场抽奖仅支付近距离的费用。随附的Quest场景已将其启用并进行了调优。 使用随附的调整面板和手册的Quest设置指南来调整设备上的预算,渲染比例和splat大小。独立性能仍取决于具体场景。 包含的示例:3个现成场景 较小的演示下载包含源代码SOG。首先在编辑器中打开ClassroomDemo,然后等待流数据生成; 稍后打开会重用经过验证的缓存。然后按播放。 • 演示场景。一个室内教室 (1.0M splats,175 MB),准备播放: 流媒体,依赖于视图的颜色,扫描显示,相机推车和splat生成的对撞机上的物理球。 • 调谐面板。一个现成的VR场景,具有流/帧时遥测和控制器调整,用于预算,τ,渲染比例和四边形范围。 • 任务场景。专为独立运行而预配置的XR硬件平台、地面站和数据流系统。其README文件列出了所需的Android/OpenXR项目设置。两个XR场景均渲染教室场景。 每个打包的数据集均为我们自有内容,无需署名。 要求 • Unity 6000.x (在6000.3.25f1和6000.6.1f1上测试)。 • 内置、URP 17.x或HDRP 17.x。 • Windows/macOS桌面和Android (包括实验性Meta Quest 3单机版-见上文)。不支持WebGL(流式传输需要文件I/O和计算功能)。 • VR/XR: URP OpenXR; 支持HDRP OpenXR。内置XR不受支持。 已知限制 • Splats保留捕获的照明; 场景灯光和GI不会重新点亮它们。阴影接收会带来变暗效果,而非光照。HDRP曝光/色调映射会影响两种颜色模式; 明亮的HDR背景可能需要调整强度。 • Meta Quest 3独立支持是实验性的 (见上文): 预算时间来调整包含的面板并计划。 • SSOG/bake HTTP流需要范围,强大的etag和身份编码。普通SOG/SPZ/PLY支持全文件回退,需要临时磁盘空间,并保留完全解码的CPU数据直到停止。Live SSOG解码WebP; bake避免了这种成本。 • 区域编辑保留现有的lod; 使用合并或重新生成lod来重新生成它们。大规模导出操作需要临时的磁盘空间以及用于元数据和缓存的内存。套索/画笔工具支持前表面、贯穿深度以及手动深度选择。在进行大型扫描时,表面捕获可能需要更长时间。 • 运行时的裁剪会影响渲染,但不会重新生成碰撞体。 • 新的阴影路径在桌面金属上验证; XR和其他图形api仍然需要验证。不支持内置阴影集成。 路线图(未承诺具体日期,顺序可能调整) • 我们正在考虑对编辑工具进行进一步的优化与增强。 • 独立的Quest性能-继续优化移动GPU路径,旨在降低实验标签 • iOS(iPhone/iPad) 所有1.x版本的更新对购买者均免费。 支持的格式 • SOG(PlayCanvas/SuperSplat):已打包。sog和解绑的meta.json,格式版本2。在烘焙步骤中流式导入SOG(lod-meta.json)。 • SPZ (Niantic): v3 (gzip) 和v4 (NGSP zstd)。v1/v2会被拒绝,并显示明确的错误信息。 ·3DGS层: SH度0-3,二进制小端。 • 。splatbake: 预烘焙的GPU记录和叶表,由导入器或编辑器菜单生成。 • 轴约定: 源约定设置 (标准3DGS-PLY/SOG/SPZ默认-加上y-up右手,z-up右手和Unity本机) 以正确的方式将其他帧中写入的文件向上; 碰撞网格遵循它。 渲染 • SH频段1-3用于导入的资源和烘焙的流。在1.0.4中,训练颜色模式是项目范围内的默认值: 使用线性颜色空间进行训练空间合成和校正的splat投影。旧版渲染已可用。源图像使用额外的缓冲区和合成操作,以优先呈现源图像的外观。Legacy跳过了额外的合成步骤,可能会降低GPU开销,但颜色、亮度和透明度可能会有所差异。性能提升取决于场景、平台和渲染设置。线性模式是此更新的已验证配置。 • 远场广告牌烘焙会保留SH颜色,并在SH数据、频段或颜色模式发生变化时使缓存的视图失效。HDRP保留其实时远场路径。 • Unity 6000.x(已在6000.3.25f1和6000.6.1f1上测试)。 • 内置RP、URP 17.x(Unity 6渲染图,以及兼容模式回退)、HDRP 17.x(自定义通道)。着色器位于包内,并会自动随玩家构建一起发布。 • 深度排序: D3D12 / Vulkan/Metal上的GPU基数排序; 自动线程CPU计数-其他地方的排序回退。排序操作从不会阻塞主线程。每帧都会检查相机姿态;当位移或旋转超过某个小阈值时,会触发重新排序。 • 用于桌面的Splat渲染比例 (屏幕外复合) 和用于XR的单独的立体阵列版本,通过不透明场景深度选择遮挡。 虚拟现实/扩展现实 • URP OpenXR;HDRP OpenXR。不支持内置XR。 • 单遍实例化与多视图立体。PC VR已在Quest 3上通过链接 (D3D12) 和桌面OpenXR运行时验证。使用XR摄像机根节点和OpenXR插件。 • Meta Quest 3独立设备:实验性。IL2CPP/ARM64 / Vulkan/多视图;首次运行时,StreamingAssets资源会自动解压到设备存储中。随附一个耳机内置调音面板示例。 • 可选的远场冒名顶替者 (默认情况下为关闭): 常驻的远叶每隔几帧就会被烘焙成一个面向视图的广告牌阵列并进行合成,因此实时绘制仅覆盖附近区域。近/远半径是从屏幕空间视差误差预算 β (以像素为单位) 、焦距和头部移动预算导出的。没有距离阈值要设置。默认情况下,每眼立体烘焙; 可选的单声道烘焙写入一个视图和一个每像素深度通道,并通过它重新投影每只眼睛,成本是烘焙成本的一半。需要使用GPU排序路径。 流媒体 • 在考虑过渡储备后,当所有最细粒度的完整切片的页面舍入成本符合有效预算时,系统会自动将其全部选中。否则将应用自适应的屏幕空间LOD;内存上限保持不变。 • 硬驻留-splat预算 (单个预分配的GPU缓冲区); 具有覆盖的屏幕空间质量度量 (τ,尺度不变)-第一级选择-预算不足渲染得更粗糙而不是丢弃单元。 • 烘焙/检查员覆盖范围检查报告好,细化余量不满意 (细化余量很小) 或覆盖范围不可行 (提高预算或重新烘焙)。 • 每帧上传预算、带迟滞的视锥体剔除、无闪烁的分块切换、对垃圾回收友好的稳定状态。 • 本地文件和选择加入HTTP/HTTPS: 松散/ZIP/SSOG和。splatbake流选择的范围; 普通SOG/meta.json/SPZ/PLY完全解码。部分读取需要206、强etag和身份编码。普通格式可以回退到没有范围/强etag的完整临时下载 (需要磁盘空间; 没有持久重用)。有界的、可替换的持久性/会话缓存使用操作系统缓存路径,并在重新打开时在线验证。松散数据集需要不可变的版本控制目录和相对子url; 元数据查询不会被继承。 • 将二进制3DGS PLY直接转换为启用LOD的。具有基于块的读取和临时文件排序的splatbake。不需要外部转换工具。导入的SOG/SPZ/PLY场景对象也可以通过LOD重建进行转换 (资产快照仅限于800万spplats)。现有的流式SOG和lod-meta.json集保留其单独的烘焙工作流程。 • 编辑器预览 (GaussianSplatStreamer上的Inspector切换,基本部分,默认打开): 驱动相同的流工作人员,最大居民Splats预算和LOD从场景视图相机在播放模式之外削减。泵,直到收敛,然后闲置 (没有球员循环泵或重绘),并恢复相机或物体的运动。不会将场景标记为 “脏”。在编辑时也可以在游戏视图中看到,使用场景视图相机姿势作为LOD/排序的近似值。远场冒名顶替者在编辑器预览期间保持禁用状态 (仅限播放模式或设备)。如果对大型数据集进行编辑时感觉很重,请关闭切换-然后在外部播放模式下拖缆处于惰性状态。 游戏集成 • 从splats (编辑器上下文菜单或运行时API) 生成MeshCollider: 标准静态碰撞,与CharacterController,刚体,raycasts和NavMesh烘焙一起使用。 • 显示/隐藏动画 (5种模式) 在顶点着色器中的实际高斯上运行; VFX图形桥采样实时splat缓冲区; 运行时加载API与类型化异常。 编辑器编辑和阴影 • SplatObjects和烘焙彩带的共享场景视图选择: 五个形状,套索/画笔,有序添加/减去/相交和不透明度/大小/颜色过滤器。拆分/删除/提取,多轴镜像复制,选定的颜色/不透明度调整和隔离集群审查。套索/画笔支持前表面选择,通过所有深度和手动深度范围进行选择。套索可以选择中心或触摸投影椭圆; 笔刷选择中心。曲面选择使用所选目标的捕获视图,在大型扫描中可能需要更长的时间。 • 合并合并了完整的最精细数据,转换和SH,然后将空间分区和LODs重建为新的拖缆。单对象LOD重建也是可用的。本地烘焙输入使用临时磁盘文件; 渲染器合并快照保留800万的组合限制。合并需要统一的对象比例和兼容的渲染设置。不合并碰撞器/动画。 • SOG v2,流式SOG ZIP (可选的重建lod) 和二进制层导出不需要外部工具。本地烘焙导出读取有界块; 元数据,缓存和临时文件仍然需要内存/磁盘。渲染器导出复制其资源。SOG是量化的; 导出保留源本地属性,而不是场景照明或运行时裁剪。 • 克隆修复 (供体选择器和带有旋转/缩放/颜色控制的平面画笔) 和运行时剪辑可用。运行时剪辑具有独立的仅形状选择、目标适配、最多八个动画子区域、有序操作或/和以及可选的像素裁剪。它不重建对撞机。 • URP/HDRP实时阴影: 独立投射阴影/接收阴影,默认关闭。方向/点; HDRP也是矩形。铸造使用常驻splats; 接收默认的共享表面与自动生成的网格,直接也可用。共享曲面近似几何形状。接收绕过远场颜色缓存。成本取决于场景和阴影设置。没有烘焙的GI/阴影遮罩,光线跟踪阴影或内置阴影集成。捕获的照明仍然存在。桌面金属验证; 共享表面目标桌面单声道。阴影路径尚未在XR或其他图形api上验证。 依赖项和代码 • 纯C # 解码器 (包括WebP VP8L解码器)-没有本地插件,没有P/Invoke; 唯一捆绑的托管dll是ZstdSharp和System.Runtime.CompilerServices.Unsafe。包括第三方通知 (MIT)。 • 源代码包括-一切都安装到一个文件夹,资产/SplatBridge。程序集定义使运行时和编辑器保持分离。 • 所有捆绑的演示数据都是由发布者创建的原始内容: 一个合成场景 (从CC0 “教室” Blender演示文件渲染-公共领域,不需要归属-并使用我们自己的高斯喷溅管道进行重建) 和一个由我们制作的摄影捕获。包装中的任何内容都没有归属要求。在演示场景中包含一个归因覆盖帮助组件并预连线,用于您自己需要信用额度的捕获。 不支持 • WebGL (流需要文件IO和计算着色器)。 • AI修复和曲面克隆绘画。 • 视图相关颜色 (SH波段1-3) 在单独的缓冲区中每个驻留splat (fp16) 的成本为18/48/90字节; 它是每个对象可切换的,并且Quest示例将其运送。SH带0禁用视图依赖; 选择1-3启用它。频段更改适用于重新加载。加载前禁用可避免SH GPU缓冲区; 加载后关闭会保留该缓冲区。实时流式传输的SOG源仅流式传输基本颜色。 演示分发: 源SOG包含在编辑器下。第一个场景打开将其转换为经过验证的StreamingAssets烘焙,并在以后的打开中重复使用。不覆盖现有的不匹配文件。只有烘焙在玩家中使用。 文档: 软件包中的完整手册、疑难解答表和调整指南 (英语和日语)。

Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 2Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 3Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 4Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 5Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 6Splatbridge-3d高斯分割: 导入,流式传输和播放真实世界的扫描 7