Gaussian Splat in Omniverse Streaming kit

Operating System:
☑ Windows
Linux
Kit Version:
☑ 110 (Kit App Template)
109 (Kit App Template)
108 (Kit App Template)
107 (Kit App Template)
106 (Kit App Template)
105 (Launcher)
Kit Template:
☑ USD Composer
USD Explorer
☑ USD Viewer
Custom
GPU Hardware:
A series (Blackwell)
☑ A series (ADA)
A series
50 series
40 series
30 series
GPU Driver:
☑ Latest
Recommended (573.xx)
Other
Work Flow:
We are working on a digital twin use case where we receive room-level scanned USDZ files containing Gaussian Splat data. Each room is delivered as an individual file, and together they form a full floor layout.

Our goal is to render the entire floor in Omniverse and stream it to a web application (React) using WebRTC streaming.

  • Each room is provided as a separate USDZ Gaussian Splat file
  • File sizes are very large
  • Currently, we:
  • Load one room at a time
  • Use a fixed camera view per room
  • Even with this approach:
  • Loading time is high
  • Not suitable for real-time full-floor visualization

Main Issue:

  • Large file sizes causing slow loading and rendering delays
  • Difficulty in loading multiple rooms together for a full-floor view
  • Lack of clarity on best practices for Gaussian Splat rendering in Omniverse streaming
  • Need for efficient streaming to a web-based React application

Question

We are working with room-level Gaussian Splat USDZ files (very large in size) and want to render a full floor view in Omniverse and stream it to a React app via WebRTC.

Currently, we load one room at a time, but load times are high and not scalable.

Looking for guidance on:

  1. Basic setup required for Gaussian Splat rendering + WebRTC streaming in Omniverse (Composer too)
  2. Recommended extensions for handling Gaussian Splat & large USD/USDZ + streaming
  3. Best way to optimize loading of multiple heavy files
  4. Any performance tips for large Gaussian Splat datasets in streaming workflows

Hi there and thanks for posting. My first question is situations like this is always to play devil’s advocate and ask why Omniverse? If you already have a GS file, there are plenty of online viewers available. Why specifically are you going with Omniverse?

Secondly, there is not much that can be done about large file sizes. If that is the detail of your scan, and that is the size of your file, and you have to stream it, the only solution is really fast machines, and great internet. There are companies already offering this service. Scanning people’s homes and offering an internet based 3D virtual tour.

Hi @Richard3D, We are trying do create the scenario based simulation with 3D Gaussian Splat in the shop floor using the Omniverse.

You are trying to create a simulation from a Gaussian Splat? That is not really possible at the moment. The raw scan data ideally needs turning into a mesh, and then the mesh can be used for viewing, and a much simpler low poly mesh can be used for any kind of simulation, acting like physical colliders. To answer further I would need more data. You can also “hide” dummy low poly geometry under the GS to act like a floor, or a wall, or a desk. That also works.