# DMX by UV

<figure><img src="/files/n5kwiMRIZizVOTBIlmio" alt=""><figcaption><p>Complex 3D DMX setup.<br>LightAct project file kindly provided by Nils Porrmann from <a href="https://dandelion-burdock.com/">Dandelion + Burdock</a></p></figcaption></figure>

**DMX by UV** is a very powerful feature that is particularly useful for complex 3D DMX setups like the one above.

```csv
x,y,universe,channel
0,0,1,1
1,0,1,4
2,0,1,7
3,0,1,10
4,0,1,13
5,0,1,16
6,0,1,19
7,0,1,22
8,0,1,25
```

How it works is that you provide a **CSV file** that matches a pixel coordinate of the incoming texture (the content) with DMX coordinate (universe and channel).

Usually this workflow includes:

1. **3D Model**: a UV mapped 3D model of the DMX setup (required only for visualisation in the Viewport)
2. **Content**: usually created as per the UV map above
3. **CSV file**: used to translate the pixels in the content into DMX coordinates (Universe & Channel)

## Workflow

<div align="left"><figure><img src="/files/wkKfemzejyp6RYdTsp8R" alt=""><figcaption></figcaption></figure></div>

In general the workflow is as follows:

1. you play back the content (either a video file or real-time content).
2. If you want to visualize it in the Viewport, you may want to import the 3D model of the DMX setup and render the content onto it.
3. you use the same content and use it in combination with **DMX by UV** node and CSV file to send the DMX values out.

### Using DMX by UV node

<div align="left"><figure><img src="/files/gdFnDVbdTqR8a3VRrD4i" alt=""><figcaption></figcaption></figure></div>

The inputs in the node are:

1. **Input**: texture that you want to use as the source of RGB values.
2. **CSV path:** path to the CSV file. You can use the **Browse** button in the *Node properties* on the right.
3. **Delimiter**: which delimiter is used in the CSV file
4. **Channel offset**: determines if you want to offset the channels in the CSV file
5. **Adapt resolution**: if this is checked and if the incoming texture has a different resolution than the CSV resolution, LightAct will use relative pixel coordinates.

In the *Node properties* dropdown menu, you can select a different **Pixel type** or even determine a custom one. It determines how many consecutive channels one pixel takes up.

<div align="left"><figure><img src="/files/PVt6w6kHqszWNiZIQRBL" alt=""><figcaption></figcaption></figure></div>

You can choose how the DMX value will be calculated based on the texture and its colors, from the **Method** dropdown menu.


---

# 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.lightact.com/dmx/dmx-out/dmx-by-uv.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.
