Skip to content

Disguise (d3) Integration

BOTH

Disguise (formerly d3) is a media server platform used in virtual production for managing LED volumes and Unreal Engine environments. Flair can synchronise camera position data with Disguise over a UDP connection, allowing the virtual camera to match the physical camera's live position in real time.

Flair supports two protocols for this:

  • D3 (native Disguise protocol) — select D3 in Flair's serial devices setup
  • FreeD — an industry-standard tracking protocol; also accepted by Disguise and recommended by some operators as more reliable

In plain language, Flair repeatedly sends small network messages containing the camera position. D3 and FreeD are two message formats; UDP is the delivery method. The Disguise computer is the receiver, so the address entered in Flair must be the Disguise computer's address unless a step explicitly says otherwise.

Tested configuration

D3 protocol confirmed working on Flair 6.47 (April 2021). FreeD confirmed working as an alternative. Verify compatibility with your current Flair version.


Network Prerequisites

Both machines must be able to reach each other on the same network. In the simple documented arrangement, both addresses begin with the same first three groups—for example 192.168.1.20 and 192.168.1.30—and their final numbers are different. Do not copy these examples onto a working robot network without confirming that the addresses are unused.


Method 1: D3 Protocol (Native Disguise)

Step 1 — Connect the network

Connect an Ethernet cable from the Flair workstation to the Disguise workstation, or connect both to the intended network switch. In the simple documented arrangement, their addresses use the same first three groups, such as 192.168.1, and different final numbers.

If Flair is on an INtime-controlled EtherCAT network, connect the standard Ethernet port (not the EtherCAT port) to the Disguise network.

Step 2 — Configure Flair's serial device

Flair Classic: 1. Go to Setups > Serial Devices. 2. From the device dropdown, select D3. 3. Select UDP as the protocol. 4. Note the IP address shown in Flair — this is what you'll enter in Disguise.

Flair 7: 1. Go to Setups > External Devices > Data Output. 2. Select D3 from the output type dropdown. 3. Select UDP as the protocol. 4. Note the IP address shown — enter this in Disguise.

"Under setups serials devices select d3 on UDP for serial output and connect the Ethernet, add flair ip to disguise app and it was talking" — Mike Greenberg

Step 3 — Configure Disguise

In the Disguise application:

  1. Open the Disguise machine manager or input settings.
  2. Add a new tracking source and enter the IP address of the Flair workstation.
  3. Set the port to match what Flair is broadcasting on.
  4. Disguise should begin receiving camera tracking data.

Step 4 — Verify data is flowing

In Disguise, check that camera XYZ position values update as you browse the rig. If they do not, confirm that the two computers can reach each other, their addresses match the intended network arrangement, and Flair's data output is active.

Step 5 — Load Unreal environments on the Disguise timeline

Disguise allows multiple Unreal environments to be loaded onto a timeline, enabling fast scene switching during the shoot.


Method 2: FreeD Protocol (Alternative)

FreeD is an alternative tracking protocol that Disguise also accepts. Several operators report that it required less configuration on their systems, but the IP address, port, and data direction must still match.

Step 1 — Configure Flair

Flair Classic: 1. Go to Setups > Serial Devices. 2. Select FreeD from the device dropdown. 3. Select UDP as the protocol.

Flair 7: 1. Go to Setups > External Devices > Data Output. 2. Select FreeD from the output type dropdown. 3. Select UDP as the protocol. 4. Enter the IP address of the Disguise machine and the UDP port.

Step 2 — Configure Disguise for FreeD

In Disguise, configure the tracking input to receive FreeD data from the Flair workstation IP on the appropriate UDP port.

Step 3 — Verify

Move or browse the rig — Disguise should reflect the real-time camera position.

"We had success with Disguise changing the Data Output in Serial Network Setting to FreeD. Communicated easily after that. And as Gordon already mentioned, the IP address setup." — Vinny

"Exporting RT data works absolutely easy with FreeD, plug and play." — Heiko Matting


Frame Rate Limits

Max 60 fps for screen-matched shooting

When shooting against an LED volume driven by Disguise, the practical maximum frame rate is 60 fps. At 120 fps, the camera captures the screen update cycle, producing a visible jitter or flicker effect on the LED wall in camera.

The maximum rig movement speed is also limited by the rendering capability of the Disguise hardware. Fast moves may outpace the screen's ability to render, producing visible lag between rig position and the on-screen image.


Scene Switching

Disguise can load multiple Unreal Engine environments onto a timeline. Switching between environments is very fast — operators reported rapid scene switching as a key workflow advantage.


Troubleshooting

Symptom Likely cause Fix
Disguise receives no data IP address mismatch Confirm both machines on same subnet (e.g. 192.168.1.xxx)
Values not updating Wrong protocol selected Try FreeD if D3 is not working
Incorrect camera position Wrong port or IP entered in Disguise Re-enter Flair's IP address in Disguise
Data only works with rig powered INtime must be running Ensure EtherCAT/INtime is active before testing


Sources: Disguise (D3) Configuration — talk.mrmoco.com; WhatsApp community (2022)