Flair to Blender — Live OSC Rig View¶
Flair can stream real-time camera and rig position data via OSC (Open Sound Control) to Blender, enabling a live 3D rig view, on-set techvis, and previs verification. This guide covers the Blender-side setup using the free AddRoutes addon, and how to map OSC data to the rig model.
What You Can Drive¶
Flair's OSC XYZ output sends:
| OSC Address | Data |
|---|---|
/flair/camx |
Camera position X |
/flair/camy |
Camera position Y |
/flair/camz |
Camera position Z |
/flair/tarx |
Target position X |
/flair/tary |
Target position Y |
/flair/tarz |
Target position Z |
/flair/axisN |
Individual axis position (Axis N) |
You can bind these to a Blender camera location, a rig model FK chain, or any scene object.
Setup Overview¶
Step 1 — Enable Flair OSC output¶
- In Flair, go to Setups → Serial Devices Setup → Data Output.
- Select OSC XYZ.
- Tick UDP.
- Enter the IP address of the Blender computer (must be on the same 192.168.1.xxx subnet).
- Set Socket Port to
55535(or any agreed port). - Apply and Save.
Verify the output is working using the Serial Tester tool (download from MRMC cloud) — you should see OSC packets when jogging axes.
See also: Setting Up Flair Realtime Data Output (OSC/FreeD)
Step 2 — Install AddRoutes in Blender¶
AddRoutes is a free Blender addon that receives OSC messages and binds them to scene properties.
- Download AddRoutes from: https://github.com/ldo/addroutes
- In Blender: Edit → Preferences → Add-ons → Install.
- Browse to the downloaded zip and install.
- Enable the addon (checkbox next to "AddRoutes").
Step 3 — Verify OSC messages with Protokol¶
Before binding in Blender, use Protokol (free OSC monitor, available at Hexler.net) to confirm the OSC addresses and values coming from Flair:
- Open Protokol, select UDP input on the agreed port.
- Jog axes in Flair.
- Confirm you see messages like
/flair/camx,/flair/camy, etc. with numeric values.
"I downloaded Protokol so that I could read the OSC messages and Addresses. They were actually quite simple (/flair/camx, /flair/camy, /flair/camz, etc.)" — Ben.Sledge, 2023-11-11
Step 4 — Bind OSC to Blender objects¶
In AddRoutes:
- Add a new route for each OSC address you want to use.
- Set the Address to match (e.g.
/flair/camx). - Set the Target to the Blender object property you want to drive (e.g. Camera Location X).
- Start the OSC server — scene objects should update live as axes move in Flair.
Step 5 — FK rig model (advanced)¶
For a full FK rig model that mirrors the physical robot:
- Export a 3D scene from Flair (File → CGI Export → 3D Scene .blend) — this provides the rig mesh with each axis' pivot as an Empty.
- Import the
.blendfile into your working Blender scene. - In AddRoutes, bind each
/flair/axisNmessage to the corresponding Empty's rotation or location. - Parent the mesh pieces to their respective Empties.
"You can bind each message to the camera position, target position, and each rig's axis pivot locator accordingly. Thanks to MRMC and Simon's rig model, after some mathematical tweaking to match up Roll direction and camera constraint perfectly, I made a FK version of long arm Milo in Blender which can be driven by Flair." — hornhsu, 2021-06-19
"Planning to dive into the FK setup now that you can export a 3D scene as a .blend file from Flair. Should make it pretty straight forward to just link the empties for each axis to the OSC Axis data." — Ben.Sledge, 2023-11-11
Use Cases¶
- Pre-shoot techvis: Program moves in Flair and see camera path in Blender alongside a CG set.
- Live alignment: Place the track relative to set using Blender measurements for real-time accuracy checking.
- CG plate matching: Verify the physical rig matches the previs camera path before committing to set.
- QLab / live cue integration: Pipe OSC alongside Blender to trigger lights or music cues in QLab simultaneously.
- Real-time compositing: Render a CG background in Blender's EEVEE and feed to QTake for live chroma key.