> 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/create-local-tracking-areas.md).

# Create Local Tracking Areas

A single Point Cloud Volume can track people or objects across a large environment, while individual parts of an installation may only need data from a much smaller area.

For example, the same global tracking system may contain:

* An LED floor
* A projection area
* An interactive stage section
* Several independent installation zones

Instead of creating another sensor and clustering pipeline, use a regular **Volume** Object to select a local section of the final tracking result.

The basic workflow is:

**Point Cloud Volume → Volume Map Input → Local Volume → Volume Filter → Volume Map Output**

The Point Cloud Volume continues to produce the global tracking result, while each Volume Object can define its own local area and output.

***

### Add a Volume Object

To create a local tracking area:

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

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

The Volume initially defines a `1 × 1 × 1 m` area in the 3D environment.

At this stage it is not yet connected to the Point Cloud Volume.

***

### Add the Point Cloud Volume as an Input

Select the **Volume** Object.

1. Open **Maps** in the Inspector.
2. Locate **Volume Map Input**.
3. Click the **+** button.
4. Select **Volume / PointData**.
5. Drag the **Point Cloud Volume** from the Project Tree onto **Target**.

<div align="left"><figure><img src="/files/W2sQ7QTDBofLYS3AJh0K" alt="" width="312"><figcaption></figcaption></figure></div>

The Volume now receives the final tracked data from the Point Cloud Volume.

Initially, the same tracked objects are available in both places. The Volume has not yet restricted the data to its own physical area.

***

### Change the Input Transform to Global

By default, the incoming data is interpreted relative to the Volume Object.

This is not useful for a local tracking area that should be freely positioned in the existing global tracking environment. Moving the Volume would otherwise also transform the incoming tracking data.

Open **Transform** in the Volume Map Input and change:

* **Position** → **Global**
* **Rotation** → **Global**

<div align="left"><figure><img src="/files/4nd9g3Y1S1dqvWBOs7Q0" alt="" width="310"><figcaption></figcaption></figure></div>

The incoming cluster positions now remain in the global project coordinate system while the Volume itself can be moved independently.

{% hint style="warning" %}
Set **Position** and **Rotation** to **Global** before positioning the local Volume.

If the input remains relative, moving or rotating the Volume also changes the coordinate interpretation of the incoming tracking data instead of simply moving the area used to select it.
{% endhint %}

***

### Add a Volume Filter

Receiving the Point Cloud Volume data alone does not automatically restrict it to the physical size of the Volume.

To use the Volume itself as a local clipping area:

1. Select the **Volume**.
2. Open **Maps** in the Inspector.
3. Locate **Volume Filter**.
4. Click the **+** button.
5. Select **Filter / Clipping**.

<div align="left"><figure><img src="/files/f4HHLbJcv91KJGL03bPI" alt="" width="310"><figcaption></figcaption></figure></div>

The Clipping filter now uses the spatial dimensions of the Volume to determine which tracked objects belong to the local area.

Only the data inside the Volume remains available after this stage.

***

### Position and Size the Local Area

The Volume is `1 × 1 × 1 m` by default.

Position it over the physical area that should receive its own tracking data.

The Volume can be adjusted in two ways:

* Directly in the Viewport using the gizmos and resize handles
* Through **Size** in the Volume tab of the Inspector

<figure><img src="/files/lJrFBg0bS5H4hLEITG3h" alt=""><figcaption></figcaption></figure>

For interactive setup, the Viewport is usually the fastest way to match the Volume to the real installation.

For example, place the Volume slightly above and around an LED floor so that only people standing on the floor are included.

{% hint style="info" %}
The Volume does not perform another clustering pass.

It operates on the final tracking result produced by the Point Cloud Volume and selects only the objects that fall inside its local area.
{% endhint %}

***

### Verify the Local Cluster Count

The Volume exposes a read-only **Cluster Count** containing the number of tracked clusters currently inside its local area.

This makes it easy to verify the clipping result and can also be used directly in:

* Workflows
* Maps
* Interaction logic

For example:

**Global Point Cloud Volume Cluster Count:** `18`

**LED Floor Volume Cluster Count:** `4`

The same global tracking system can therefore provide both total occupancy and local occupancy information.

***

### Add a Local Map Output

Once the local Volume contains the correct tracked objects, add an output specifically for this area.

1. Select the **Volume**.
2. Open **Maps** in the Inspector.
3. Locate **Volume Maps Output**.
4. Click the **+** button.
5. Select the required supported protocol.

The output now operates only on the tracked objects that remain inside this Volume.

This allows different local areas to use independent outputs even though they originate from the same global tracking result.

***

### Choose the Output Coordinate Space

The Volume Map Output can provide positions in different coordinate spaces.

#### Global

**Global** keeps the positions in the shared Grid Studio project coordinate system.

Use this when the receiving system should know where the object exists within the complete tracked environment.

#### Relative

**Relative** expresses the position relative to the local Volume.

The Volume itself therefore becomes the coordinate reference for the receiving system.

This is useful when an external application should work specifically within the dimensions and orientation of this installation area rather than the entire venue.

#### UV

**UV** converts the position into a normalized two-dimensional coordinate space defined by the Volume.

The Volume itself determines the UV orientation.

For a normally oriented horizontal Volume:

* Bottom-left corresponds to approximately **0, 0**
* Top-right corresponds to approximately **1, 1**

The mapping follows the orientation of the Volume and its top view, using its left/right and front/back directions.

There is no separate XY, XZ, or YZ projection setting.

If the UV space should describe a differently oriented surface, rotate the **Volume Object** itself.

For example, for a vertical interaction surface, rotate the Volume by **90°** so that its local plane matches the physical surface.

{% hint style="success" %}
Think of the Volume itself as the coordinate frame for UV output.

Position, rotate, and scale the Volume so that it matches the physical interactive surface. The normalized UV coordinates then follow that orientation automatically.
{% endhint %}

***

### Create Multiple Local Areas

A single Point Cloud Volume can feed multiple independent Volume Objects.

For example:

**Point Cloud Volume** → LED Floor\
→ Projection Area\
→ Stage Left\
→ Stage Right

Each Volume can have its own:

* Position and size
* Clipping area
* Cluster Count
* Coordinate space
* Map Output

This allows one global tracking pipeline to serve many independent interactive areas without duplicating sensor processing or clustering.

***

### When to Use a Local Volume

Use a local Volume when the global tracking result is already correct, but an individual application only needs a subset of that result.

Typical examples include:

* Sending only people standing on an LED floor
* Converting positions on a projection surface into UV coordinates
* Creating individual outputs for separate stage areas
* Counting people inside a specific part of a larger venue
* Giving an external system its own local coordinate space

Do not create another Point Cloud Volume simply because an installation needs a different output coordinate system.

The existing final clusters can be reused through local Volume Objects.

***

### Verify the Local Output

Before continuing, verify that:

* The Volume Map Input targets the correct Point Cloud Volume.
* Input **Position** and **Rotation** are set to **Global**.
* The Volume is positioned and sized correctly.
* The Clipping Volume Filter is active.
* Only clusters inside the intended local area remain.
* Cluster Count reflects the expected number of objects.
* Global, Relative, or UV output behaves as intended.
* Moving the Volume changes the local selection area without moving the source tracking data.
* UV orientation matches the physical interactive surface.

You now have a local tracking area derived from the same global tracking environment.

Continue with **Generate Depth Images**.
