SuperSplat Editor Documentation

repository·main·Indexed 27 days ago

https://github.com/playcanvas/supersplat

An open-source, browser-based 3D Gaussian Splat Editor for inspecting, editing, optimizing, and publishing splats. The tool supports loading and exporting .ply files, GPU-accelerated processing via the DataProcessor class, and various selection and transformation operations. It includes features for merging multiple splat files, visualizing geometry in Centers and Rings modes, and managing scene hierarchy and animations.

Tokens
4.4K
Snippets
9
Records
43
Agent score
94%

What's inside SuperSplat

  1. Transform splats

    main

    To translate, rotate, or scale splats:

    1. Select a splat in the Scene Manager.
    2. Activate a gizmo via the horizontal icon bar.
    3. For fine-grained control, use the TRANSFORM panel located below the Scene Manager.

    Tip: Double-click anywhere in the 3D view to set the origin for the currently active gizmo.

  2. Select and delete splats

    main

    Use the following selection tools to pick Gaussians for editing or removal:

    • Picker Select: Click to select a single splat, or click and drag to perform a rectangular selection.
    • Brush Select: Click and drag a selection circle. Use the [ and ] keys to resize the brush.
    • Sphere Select: Activate a sphere volume to add or remove splats. Double-click a splat to reposition the sphere volume.

    Once selected, press the Delete key to remove the splats.

  3. Add a new language to SuperSplat

    main

    To support a new language in the editor, you must provide a translation file and register it in the localization logic:

    1. Create a new <locale>.json file and place it in the static/locales directory.
    2. Register the new locale in src/ui/localization.ts.
  4. Control the camera

    main

    Use the following controls to navigate the 3D view:

    ControlDescription
    Left Mouse Button or Shift + Right Mouse ButtonOrbit camera
    Middle Mouse Button or Alt + Right Mouse ButtonDolly camera
    Right Mouse ButtonPan camera
    Left/Right Arrow KeysStrafe camera left/right
    Up/Down Arrow KeysDolly camera forwards/backwards
    F KeyFrame selection

    Tip: Double-click anywhere in the 3D view to set the target point for orbiting.

  5. Merge multiple splat files

    main
    You can combine multiple .ply files into a single output. Load all desired .ply files into the Scene Manager, perform any necessary transformations or edits, and then use Scene > Save to export the combined result as a single .ply file.
  6. Inspect splat data with the Data Panel

    main

    The Data Panel provides histogram displays of various scene properties.

    • Open/Close: Click the panel header or press the D key.
    • Selection via Histogram: Drag on the histogram view to select splats directly.
    • Selection Modifiers: Use Shift to add to the current selection or Ctrl to remove from the current selection.
  7. Test translations in the local development server

    main

    After adding a new language, you can preview it by appending the language code as a query parameter to your local development URL.

    1. Start the development server using npm run develop.
    2. Navigate to http://localhost:3000/?lng=<locale>, replacing <locale> with your language code (e.g., fr, de, or es).
  8. Save and Export splats

    main

    To save your work, use the Scene > Save or Save As menu items to download a .ply file.

    For optimized output, use the Scene > Export sub-menu to choose between:

    • Compressed Ply: A lightweight format that quantizes data and removes spherical harmonics to significantly reduce file size.
    • Splat File: An alternative compressed format (less efficient than Compressed Ply).
  9. Visualize splats in different modes

    main

    You can toggle between two rendering modes to inspect Gaussian geometry:

    • Centers Mode: Renders a blue dot at the center of each Gaussian.
    • Rings Mode: Renders a ring at the outer boundary of each Gaussian.

    Controls:

    • Press Space to toggle the visibility of centers or rings (depending on the active mode) to view the scene normally.
    • Adjust the pixel size of center dots in the VIEW OPTIONS panel.
  10. Load .ply splat files

    main

    SuperSplat loads 3D Gaussian Splat data from .ply files. You can load files using one of these three methods:

    1. Drag and Drop: Drag one or more .ply files from your file system into the SuperSplat client area.
    2. Menu: Select Scene > Open and choose your .ply files.
    3. URL Parameter: Append a load query parameter to the editor URL to load a specific file directly. This is useful for sharing specific scenes via links.
    https://playcanvas.com/supersplat/editor?load=https://raw.githubusercontent.com/willeastcott/assets/main/dragon.compressed.ply
  11. Set up a local development environment for SuperSplat

    main

    To develop SuperSplat locally, you need Node.js 18 or later. Follow these steps to clone the repository, install dependencies, and start the development server.

    Important: When running locally, ensure network caching is disabled and application caches are cleared in your browser to avoid issues with Service Workers.

    • Safari: Use Cmd+Option+e or Develop -> Empty Caches.
    • Chrome: In the Application -> Service workers tab, enable "Update on reload" and "Bypass for network".