--- description: "Turn a webcam into an interactive installation with tdmcp — movement in front of the camera drives glowing particle trails you can perform and project." level: intermediate --- # A camera-interactive installation **Objective** — build a webcam installation where a viewer's movement spawns glowing particle trails, ready to project onto a wall. **What you'll see** — a dark, moody field of particles that light up and trail wherever motion happens in front of the camera. Stand still and it calms; move and the room paints itself. *The optical-flow particle field driven by a moving test clip — with your webcam, the particles churn wherever people move. Captured live from the recipe's own output.* **Before you start** - [tdmcp installed](/guide/install) for your AI client. - The [TouchDesigner bridge step](/guide/install) done, and `bridge running` in TouchDesigner's Textport. - A webcam. No webcam handy? Every prompt below can use a **synthetic test source** instead, so you can build and rehearse the whole look offline. ::: tip No Kinect required This uses a plain webcam and optical flow (motion detection). For depth cameras and full-body pose, see [MediaPipe adapters](/guide/mediapipe-adapters) and [Physical installations](/guide/physical-installations). ::: ## Steps Copy each prompt into your AI client, one at a time. Wait for each to finish before sending the next. 1. Confirm TouchDesigner is connected and see your webcam: ```text Check TouchDesigner is connected, then show me my webcam source. If no camera is available, use a synthetic test source instead. ``` → The AI confirms the bridge is live and brings up a camera (or test) image. 2. Build the motion-reactive base from the recipe: ```text Apply the optical_flow_particles recipe, driven by my webcam. Use the bundled test clip if my camera is not ready. ``` → You get a network that reads motion from the camera as an optical-flow field and feeds it straight into the particle render — motion in front of the camera already stirs the particles out of the box. 3. Make the reaction stronger and driftier: ```text Make the particles react more to movement and drift once they're stirred, so motion in front of the camera really paints them. ``` → The particles respond harder to motion and keep drifting after they're pushed, so the field feels alive rather than snapping back. 4. Set the installation mood: ```text Add trails to the particles and give it a dark, moody palette — deep blues and violet on near-black. ``` → Particles leave glowing trails and the scene reads as a gallery piece, not a technical demo. 5. Expose the two controls you'll actually perform: ```text Expose a Flow-sensitivity control and a Trail-length control so I can tune how reactive and how smeary it is. ``` → Two live knobs appear. Flow-sensitivity sets how easily motion triggers particles; Trail-length sets how long the trails linger. 6. Preview and take it fullscreen for the installation: ```text Show me a preview. Then tell me how to send this output fullscreen to my projector or second display for the installation. ``` → You see the result, plus steps to route the output to a projector. ## Expected result A left-to-right network: **camera → optical-flow field → particle render → output**, with a preview showing dark particles that ignite into glowing trails wherever someone moves. Flow-sensitivity and Trail-length are exposed as live knobs. Sending the output fullscreen turns any wall into the piece. ## If it goes wrong - **Webcam not found / black image** → ask for a synthetic test source, then swap the camera back in later. On macOS, grant camera access — see the [camera permission note](/guide/troubleshooting#macos-microphone-camera-permission). - **Too noisy — particles fire constantly** → lower Flow-sensitivity, or say *"only react to bigger movements."* - **Nothing reacts** → raise Flow-sensitivity, and make sure there's enough light and actual movement in frame. - **Projector / fullscreen setup** → see [Physical installations](/guide/physical-installations) for reliable projector, calibration and room-sensor workflows. - **Still stuck?** → [Troubleshooting](/guide/troubleshooting) and the [FAQ](/guide/faq).