# Xgrids Gaussian Splat Export

All Xgrids scanners (PortalCam, L2 Pro, K1/K2) can produce a Gaussian Splat reconstruction via **Lixel CyberColor**. This page walks through the export steps and how to package the output for upload to Multiset.

{% hint style="info" %}
For the e57 point-cloud workflow, see [Xgrids Scans](/basics/third-party-scans/xgrids-scans.md) instead. The steps below are specific to the **Gaussian Splat** upload path.
{% endhint %}

#### You will need

* An Xgrids scan (PortalCam, L2 Pro, K1/K2).
* **Lixel CyberColor** (v1.12.1 or newer) — available from Xgrids support downloads.

## Step 1: Generate the Gaussian Splat model

1. Open **Lixel CyberColor** and click **Create** to start a new model.
2. Choose **Single Model** as the reconstruction type.
3. Give the project a name (e.g. `splats_for_vps`) and set the **Scan data** path to your captured `portalcam_capture_data` folder.
4. In the **Parameters** panel on the right:
   * **Reconstruction Settings**: choose **Slow** for the best quality suitable for VPS.
   * **Maximum Gaussian Splats**: leave at the recommended value (e.g. `28M`) or raise it for larger scenes.
   * **Portability**: **On**. This is important, it produces a metric-scaled, portable output that Multiset VPS can use.
   * Leave **Exposure Optimization** and **Low Memory Reconstruction** at defaults unless you have a specific reason to change them.
5. Click **Start** and let the reconstruction run.

<figure><img src="/files/fYglsF7GuZVcyY22AWyw" alt=""><figcaption><p>Lixel CyberColor — Generate Model with Portability On and Slow reconstruction.</p></figcaption></figure>

{% hint style="warning" %}
**Portability must be On.** Without it the Gaussian Splat will not be in metric scale and cannot be used for VPS.
{% endhint %}

## Step 2: Locate the exported `.ply`

Once the reconstruction finishes, Lixel CyberColor writes the point cloud (`.ply`) outputs under the project's output directory:

```
<output>\ply-result\point_cloud\iteration_100\
```

Inside `iteration_100` you will find files like:

* `point_cloud.ply` ← **this is the file you upload**
* `point_cloud_1.ply`, `point_cloud_2.ply`, `point_cloud_3.ply` (lower levels of detail)
* `environment.ply`

Use the top-level **`point_cloud.ply`** — it's the full-resolution Gaussian Splat.

<figure><img src="/files/6GXJUs8k1pKdhRXPVqU2" alt=""><figcaption><p>point_cloud.ply inside <code>output\ply-result\point_cloud\iteration_100</code>.</p></figcaption></figure>

## Step 3: Locate `poses.json`

The camera poses used to train the splat are written by Lixel CyberColor at:

```
<DATA>\<project-id>\output\render\assets\poses.json
```

<figure><img src="/files/969cswYlyvNZZ6By4yJk" alt=""><figcaption><p>poses.json inside <code>output\render\assets</code>.</p></figcaption></figure>

This file contains an array of per-frame poses (`ts`, translation `T`, rotation quaternion `R`) that Multiset uses to register the splat against query images.

## Step 4: Zip `.ply` and `poses.json` together

Multiset expects a **single zip** containing both files at the root:

```
my-xgrids-splat.zip
├── point_cloud.ply
└── poses.json
```

Select both files, right-click → **Compress** (macOS) or **Send to → Compressed (zipped) folder** (Windows).

{% hint style="warning" %}
Do not place the files inside a subfolder inside the zip. Multiset reads them from the root of the archive.
{% endhint %}

## Step 5: Upload to Multiset

On the Multiset developer portal:

1. Open **Upload Existing Map**.
2. **Select Provider** → **XGRIDS**.
3. **File Format** → **Gaussian Splat (ply and poses.json compressed in same zip)**.
4. Click **Next** and answer the configuration prompts:
   * *Is the Gaussian Splat metric scaled?* → **Yes** (because Portability was On in Step 1).
   * *Indoor or outdoor?* → pick the one that matches your capture.
   * *Does the Gaussian Splat have poses.json?* → **Yes**.
5. Upload the zip from Step 4.

<figure><img src="/files/mbHzhph1X6MEq5ph7O88" alt="" width="375"><figcaption><p>Upload Existing Map — XGRIDS + Gaussian Splat file format.</p></figcaption></figure>

<figure><img src="/files/KwpC0GfaeXPddbTw4hTy" alt="" width="375"><figcaption><p>Gaussian Splat configuration — metric-scaled / indoor-outdoor / poses.json.</p></figcaption></figure>

Once processing completes the map behaves like any other Multiset map — you can query it via the REST API, Unity SDK, or native SDKs.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.multiset.ai/basics/third-party-scans/gaussian-splat/xgrids-gaussian-splat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
