К содержанию
fohbook/ TouchDesigner
профи

Веб: HTTP, WebSocket, браузер

Web Client DAT, Web Server DAT и Web Render TOP: обмен с сервисами, панель управления в браузере, страница как текстура.

TouchDesigner умеет говорить по HTTP в обе стороны и показывать веб-страницы как текстуру. Это открывает и внешние сервисы, и удалённое управление.

Операторы

Оператор Для чего
Web Client DAT Запрос наружу: REST API, скачивание, вебхуки
Web Server DAT Свой HTTP- и WebSocket-сервер внутри проекта
WebSocket DAT Клиент WebSocket
Web Render TOP Рендер веб-страницы в текстуру
JSON DAT Разбор ответа в таблицу

Запрос наружу

Web Client DAT работает асинхронно: запрос уходит, ответ приходит в колбэк. Это важно — синхронный запрос заблокировал бы кадр.

def onConnect(webClientDAT, statusCode): return

def onResponse(webClientDAT, statusCode, headerDict, data):
    import json
    payload = json.loads(data)
    op('table_out')[1, 'value'] = payload['temperature']
    return

Применения: погода и время для инсталляции, данные с сервера площадки, вызов LLM и генеративных сервисов, отправка телеметрии.

Сеть отвалится — что покажет инсталляция?

Любой внешний запрос обязан иметь тайм-аут и поведение по умолчанию. Инсталляция, которая ждёт ответа сервера, чтобы показать картинку, — это инсталляция, которая однажды покажет пустой экран.

Свой сервер

Web Server DAT поднимает HTTP-сервер и WebSocket на указанном порту. Что на этом делают:

  • панель управления в браузере: телефон вместо VNC;
  • приём вебхуков от сторонних систем;
  • страница для зрителей: голосование, ввод текста, участие в инсталляции;
  • API проекта для других машин.
def onHTTPRequest(webServerDAT, request, response):
    response['statusCode'] = 200
    response['data'] = op('state').text
    return response

Web Render TOP

Рендерит веб-страницу в текстуру. Что это даёт:

  • готовые библиотеки визуализации (графики, карты) без переписывания;
  • сложную типографику и вёрстку, которую тяжело собрать в TOP;
  • живые дашборды и внешние сервисы прямо в картинке.

В 2025-й версии добавились управление DPI и произвольные заголовки запроса — можно рендерить страницы, требующие авторизации.

Стоимость заметная: это встроенный браузер. Для статичного контента рендерите один раз и держите результат.

Телефон как пульт за пять минут

Web Server DAT, простая HTML-страница со слайдерами, WebSocket на приём — и у оператора есть пульт без установки чего-либо. Работает лучше, чем кажется, и не требует ни MIDI, ни OSC-приложений.

рядом по смыслу