Skip to main content

NVIDIA 3D Gaussian Splat to USD Converter

Project description

Omniverse Gaussian Splat Converter

A pip-installable Python package for converting 3D Gaussian Splat data (PLY and SPZ formats) to USD using the ParticleField3DGaussianSplat schema.

Installation

pip install gsplat2USD

For USD support (if not already installed):

pip install gsplat2USD[usd]

Building From Source

The converter package lives in source/python and builds with standard Python packaging tools.

Use Python 3.11 or 3.12. Python 3.10 is not compatible with the pinned numpy==2.3.1 dependency.

cd source/python
python -m pip install --upgrade pip build
python -m build

The build writes both source and wheel distributions to dist/:

dist/gsplat2usd-<version>.tar.gz
dist/gsplat2usd-<version>-py3-none-any.whl

Replace <version> with the package version generated by your build.

To install and smoke test the local source tree:

python -m venv .venv
source .venv/bin/activate  # Windows PowerShell: .\.venv\Scripts\Activate.ps1
python -m pip install ".[usd]"
python -m gsplat2USD --help
python -m gsplat2USD -i input.ply -o output.usda

You can also test the built wheel directly:

python -m pip install "dist/gsplat2usd-<version>-py3-none-any.whl[usd]"
gsplat2USD -i input.ply -o output.usda

Usage

Command Line

# Convert a PLY file to USDZ
gsplat2USD -i input.ply -o output.usdz

# Convert an SPZ file to USDA with Z-up axis
gsplat2USD -i input.spz -o output.usda --up-axis Z

# Generate spherical harmonics and scales from raw PLY
gsplat2USD -i input.ply -o output.usdz --generateSh --generateScales

You can also run via python -m:

python -m gsplat2USD -i input.ply -o output.usdz

Python API

from gsplat2USD import read_ply, read_spz, write_gaussian_splat_usd

# Read a PLY file
splat_data = read_ply("scene.ply")

# Write to USD
write_gaussian_splat_usd(splat_data, "scene.usdz", source_file="scene.ply")

# Read an SPZ file
splat_data = read_spz("scene.spz")

# Write to USD with options
write_gaussian_splat_usd(
    splat_data,
    "scene.usda",
    source_file="scene.spz",
    up_axis="Z",
    rotation_degrees=(90.0, 0.0, 0.0),
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gsplat2usd-0.1.5-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file gsplat2usd-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gsplat2usd-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for gsplat2usd-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3e6586123ec6c040dec728109d17232e213b354077cbb9677d29e0891f6198
MD5 17c17f0ad13126dff677b8f95fc37f2f
BLAKE2b-256 f28121289eab5c37ba011a3fcf38ffceac7597c18e1dfcb404c7296a2fa1bd58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page