> For the complete documentation index, see [llms.txt](https://stage-precision.gitbook.io/grid/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stage-precision.gitbook.io/grid/spatial-interactive-experiences/building-an-interactive-tracking-project/output-tracking-data.md).

# Output Tracking Data

Once clustering, Cluster Tracking, and Cluster Filters produce a reliable result, the final tracked clusters can be sent to external systems.

Tracking data is output through Grid Studio's mapping system:

**Final Clusters → Cluster Map Output → Protocol Object → External System**

A common example is OSC, but the output is not limited to a specific protocol. The available output types depend on the protocol objects that are present in the project and supported by the Cluster Map Output.

***

## Add a Protocol Object

Before creating the Cluster Map Output, add the protocol object that should carry the tracking data.

For example, to use OSC:

1. Right-click an empty area of the **Project Tree**, or click the **+** button.
2. Search for **OSC**.
3. Add the OSC Object to the project.

<div align="left"><figure><img src="/files/KyHjMOYK1Ne1bZ3kV1nV" alt="" width="253"><figcaption></figcaption></figure></div>

Configure the protocol object for the external system.

For OSC, this typically includes settings such as the destination address and port.

The exact configuration depends on the selected protocol and is covered in the corresponding protocol documentation.

***

## Add a Cluster Map Output

Cluster outputs are configured directly on the Point Cloud Volume.

To create an output:

1. Select the **Point Cloud Volume** in the Project Tree.
2. Open **Maps** in the Inspector.
3. Locate **Cluster Maps Output**.
4. Click the **+** button.
5. Select the required protocol from the list.

<div align="left"><figure><img src="/files/6PiExbs8eXxYAp1eqfgT" alt="" width="305"><figcaption></figcaption></figure></div>

The list only contains output types that are currently available and supported through protocol objects in the project.

For example, after adding an OSC Object, OSC becomes available as a Cluster Map Output target.

***

## What Data Is Output

Cluster Map Outputs operate on the **final clusters** produced by the Point Cloud Volume.

Raw point-cloud data is not sent through this output path.

The output represents the tracked objects after the complete processing pipeline:

**Point Cloud → Input Processing → Clustering → Cluster Tracking → Cluster Filters → Cluster Map Output**

For every final cluster, the map provides its spatial tracking information, including:

* Position
* Scale

Depending on the selected map and protocol, additional cluster information such as IDs can be used to organize the output.

{% hint style="info" %}
Cluster Map Outputs use the final tracked result. Changes made earlier in clustering, ID handling, or Cluster Filters are therefore reflected directly in the outgoing data.
{% endhint %}

***

## Choose the Coordinate Space

Cluster positions can be output in different coordinate spaces.

### Global

**Global** outputs the cluster position in the global Grid Studio project coordinate system.

The transform of the Point Cloud Volume does not redefine the coordinate origin of the outgoing data.

Use Global when the receiving system should work with the same shared coordinate system as the complete Grid Studio project.

### Relative

**Relative** outputs cluster positions relative to the transform of the **Point Cloud Volume**.

Moving or rotating the Point Cloud Volume therefore changes the coordinate frame used by the output.

This can be useful when the Point Cloud Volume itself represents the coordinate origin expected by the receiving system.

### UV

**UV** converts spatial positions into a normalized two-dimensional coordinate space.

For application-specific areas such as LED floors, projections, or interactive surfaces, it is usually better to create a dedicated local Volume and generate the UV output there.

Continue with **Create Local Tracking Areas** for this workflow.

{% hint style="info" %}
For whole-environment tracking, **Global** or **Relative** coordinates are typically the most useful choices.

Use dedicated local Volumes when an individual installation requires its own relative or UV coordinate system.
{% endhint %}

***

## Choose ID- or Index-Based Output

Cluster Maps can typically organize outgoing objects either by their tracked **ID** or by their current **Index**.

### ID-Based

ID-based output uses the IDs assigned through **Cluster Tracking**.

This is useful when the receiving system needs to recognize the same tracked object over time.

For example, a person with ID `3` can continue to be represented as object `3` while moving through the tracking area, as long as Cluster Tracking maintains that identity.

### Index-Based

Index-based output uses the current order of the clusters rather than their persistent tracking IDs.

This can be useful when the receiving system only needs a current list of detected objects and does not require persistent identity.

{% hint style="info" %}
Use ID-based output when object identity over time matters.

Use index-based output when the receiving system only needs the current set of tracked objects.
{% endhint %}

***

## Verify the Output

Once the Cluster Map Output has been configured, move one or more tracked objects through the tracking area and inspect the receiving system.

Verify that:

* Each expected cluster is being transmitted.
* Position values change continuously as the object moves.
* Scale corresponds to the tracked cluster.
* The selected Global or Relative coordinate space behaves as expected.
* IDs remain consistent when ID-based output is enabled.
* Objects appear and disappear correctly as clusters are created and removed.

If the outgoing values are unstable, verify the tracking result inside Grid Studio first.

The Cluster Map Output reflects the final clusters; it does not correct unstable clustering or ID assignment.

***

## One Tracking Environment, Multiple Outputs

A Point Cloud Volume can provide tracking data to multiple external systems or applications.

For example, the same global people-tracking result could provide:

* Global position data to one system
* Relative tracking data to another
* Local UV data for a specific interactive surface

For outputs that only need a particular physical section of the tracked environment, do not create another clustering pipeline.

Instead, use a local **Volume Object** to select the relevant final clusters and create a dedicated coordinate space and Map Output.

Continue with **Create Local Tracking Areas**.
