Шоу по таймкоду
Картинка, привязанная к общему времени: приём таймкода, список событий, репетиция и поведение при обрыве.
Шоу с фонограммой идёт по таймкоду: свет, видео и звук слушают одно время. Задача TouchDesigner — быть послушным приёмником.
Схема
источник таймкода ──▶ audio in ──▶ ltc in ──▶ timecode ──▶ null_tc
│
таблица событий ◀──────┤
индекс видео ◀──────┘
- Таймкод приходит аудиосигналом на вход звуковой карты — Таймкод.
LTC In CHOPдекодирует,Timecode CHOPприводит к удобному виду.- Из времени считается всё: кадр видео, номер сцены, значения параметров.
Список событий
Держите его таблицей, а не в коде:
tc action arg
00:01:12:00 scene intro
00:02:44:12 flash 1.0
00:03:20:00 scene chorus
00:05:01:00 blackout -
Колбэк на изменение времени сравнивает текущий таймкод с таблицей и выполняет то, что пора — Скрипты.
Таблица правится на репетиции без захода в сеть, и её видно — DAT.
Видео по таймкоду
Не «играть», а позиционировать: Play = 0, Index считается из
таймкода — Movie File In. Тогда видео не
уплывает за час шоу и одинаково стартует после любой перемотки.
index = (tc_seconds - clip_start_seconds) * clip_fps
Что делать при обрыве
Решите заранее и запишите в документацию:
| Событие | Поведение |
|---|---|
| Таймкод пропал | Замереть на месте / продолжить по внутренним часам / уйти в чёрное |
| Таймкод прыгнул назад | Перепозиционироваться (репетиция) |
| Таймкод прыгнул вперёд | Догнать состояние: применить все события до текущего момента |
| Таймкод не приходил с начала | Не запускаться, показывать «нет таймкода» |
Третий пункт — самый забываемый. При перемотке на середину шоу должно оказаться в правильном состоянии, а не «доиграть с начала».
Репетиция
- Соберите запись таймкода в файл и прогоняйте шоу без площадки — Репетиция.
- Отдельно прогоняйте переходы и стыки: именно там ломается.
- Прогоните целиком, глядя на счётчик пропущенных кадров.
Соблазн велик, но локальный таймлайн управляет куком многих вещей, и рывки будут. Таймкод — это данные, из которых считается положение всего остального.
Текущий таймкод, признак наличия сигнала, текущая сцена и следующее событие — крупно. В момент, когда что-то пошло не так, это отвечает на вопрос «стоит ли шоу или это мы».