La integración del sensor Microsoft Kinect (v1/v2) en TouchDesigner requiere un adaptador de hardware específico para la conversión de su conector propietario a USB, el cual necesita una fuente de alimentación externa. Existen diferencias técnicas fundamentales entre las versiones: el Kinect v1 opera a una resolución de 640×480 píxeles, utiliza tecnología de luz estructurada, rastrea un máximo de dos jugadores con 20 articulaciones y posee un campo de visión (FoV) de 57° horizontal y 43° vertical. En contraste, el Kinect v2 opera a 1920×1080, utiliza tecnología de Tiempo de Vuelo (Time-of-Flight), rastrea hasta seis jugadores con 26 articulaciones y tiene un FoV superior de 70° horizontal y 60° vertical. La operación es exclusiva de sistemas operativos Windows, ya que cada versión del sensor depende de un SDK específico de Microsoft (v1.8 para Kinect v1, v2.0 para Kinect v2), los cuales no disponen de compilaciones para macOS. El SDK provee herramientas de diagnóstico y desarrollo como el SDK Browser, para verificar la configuración y el estado del sensor (ej. reportando FPS bajos), y Kinect Studio. Este último permite el monitoreo en tiempo real de los flujos de datos (depth map, IR, skeleton 2D, point cloud 3D), la grabación de secuencias de datos en formato .xed para su posterior reproducción y análisis sin el hardware físico, y un registro de eventos del sistema.
En TouchDesigner, la adquisición de datos se gestiona a través de los operadores Kinect TOP y Kinect CHOP. El `Kinect TOP` se encarga de los flujos de datos de imagen. Su parámetro `Image` permite seleccionar entre diferentes tipos de textura, donde cada tipo posee un formato de píxel específico: `Depth` (16-bit fixed mono), `Color` (8-bit fixed RGBA), `Infrared` (16-bit fixed mono), `Player Index` (8-bit fixed mono, genera una máscara de silueta de los jugadores detectados), y `Depth Point Cloud`. Este último es crucial para la reconstrucción 3D, ya que codifica la información posicional XYZ de cada punto en el formato 32-bit float RGBA, donde los canales R, G y B corresponden a los ejes X, Y y Z respectivamente. Un mismo tipo de imagen no puede ser solicitado por múltiples operadores Kinect TOP simultáneamente. El `Kinect CHOP` gestiona los datos de esqueleto y gestos. Sus parámetros permiten seleccionar la versión de hardware, el modo de tracking (`Full` para cuerpos de pie, `Seated` para cuerpos sentados) y el número máximo de jugadores a rastrear, lo cual escala la cantidad de canales de salida. Los datos de salida se pueden activar a través de selectores, como `World Space Position` para obtener las coordenadas `tx`, `ty`, `tz` de cada articulación, y `Interactions` para obtener canales binarios correspondientes a estados de las manos (e.g., `p1/hand_r_open`, `p1/hand_r_closed`, `p1/hand_r_lasso`). La nomenclatura de canales sigue una estructura consistente (`p<N>/<articulación>:<eje>`), lo que facilita la selección selectiva mediante patrones con wildcards (`*`) en operadores `Select CHOP`.
La implementación práctica de una máscara de silueta a partir del `Player Index` requiere un procesamiento de imagen para generar un canal alfa. Dado que la fuente es monocromática de 8 bits, se debe convertir a un formato RGBA. Una técnica efectiva es usar un `Over TOP`, conectando la señal del Kinect a la primera entrada y una fuente `Constant TOP` (con el formato de píxel 8-bit RGBA deseado) a la segunda entrada. Esto fuerza al `Over TOP` a adoptar el formato de su segunda entrada. Posteriormente, se pueden utilizar operadores como `Invert TOP` y `Level TOP` para manipular el canal alfa (mediante el parámetro `Alpha Post` > `High` a 0) y así lograr la transparencia de la silueta para su composición sobre otros contenidos. Para el body tracking, se mapean los canales de posición XY del `Kinect CHOP` a los parámetros de transformación (`Translate`) de un `Over TOP` que compositea un elemento gráfico. Este proceso exige un remapeo de rangos de coordenadas mediante `Math CHOPs` para alinear el espacio de mundo del sensor (aprox. -1 a 1) con el espacio de textura normalizado del `Over TOP` (e.g., de -0.5 a 0.5 para una correspondencia 1:1). El parámetro `Mirror Image` del `Kinect TOP` se utiliza para corregir la inversión horizontal natural de la cámara. Las interacciones gestuales se logran exportando directamente los canales de `Interactions` (e.g., `p1/hand_r_open`) a parámetros de control, como la opacidad de un `Level TOP` o el pulso (`Pulse`) de un `Movie File In TOP` para disparar eventos. Se demuestra el uso del componente `Chroma Key` de la Paleta para integrar material de video pre-grabado, eliminando un fondo de color y utilizando los datos de tracking del Kinect para posicionar y disparar interactivamente dicho video en el espacio.