Патч и маршрутизация
Патч хранится в таблице, а всё остальное строится из неё: адреса, профили, координаты, группы. Скрипт автоадресации, сверка с пультом и сеть из таблицы.
Патч держат в таблице, а не в параметрах узлов, и всё остальное строится из неё само.
id type universe address mode x y z rot
wash_01 wash_rgbw 1 1 4ch -4.0 5.0 2.0 0
wash_02 wash_rgbw 1 5 4ch -2.0 5.0 2.0 0
wash_03 wash_rgbw 1 9 4ch 0.0 5.0 2.0 0
beam_sl beam_16 2 1 16ch -6.0 6.5 0.0 0
beam_sr beam_16 2 17 16ch 6.0 6.5 0.0 0
strip_01 pixel_60 10 1 rgb 0.0 0.0 0.0 0
CSV рядом с проектом правят в любой электронной таблице, а читает его
Table DAT: путь в File, Load on Start перечитывает при запуске,
Sync to File держит DAT и файл одинаковыми в обе стороны,
DAT.
Без Sync to File или
Write on Toe Save скрипт правит только копию таблицы в проекте.
| Из таблицы | Куда |
|---|---|
universe, address |
Маршрутизация — Format и таблица |
type, mode |
Профиль — Профиль |
x, y, z |
Эффекты по геометрии, наведение, превью |
id |
Имена каналов и групп |
| Число строк | Число приборов — POP или репликатор |
Адреса руками — источник ошибок, их считает скрипт; footprint() — ваша
функция с числом каналов профиля:
t = op('fixtures')
addr, uni = 1, 1
for i in range(1, t.numRows):
fp = footprint(t[i, 'type'].val)
if addr + fp - 1 > 512: # прибор не влезает — в следующий юниверс
uni += 1
addr = 1
t[i, 'universe'] = uni
t[i, 'address'] = addr
addr += fp
Описываете, что и в каком порядке, а адреса появляются сами; вставили прибор в середину — пересчиталось всё.
На площадке приборы уже заадресованы, и не вами. Нужны два режима: «посчитать адреса» для проектирования и «читать из таблицы» для работы.
group members
front wash_01 wash_02 wash_03
back wash_04 wash_05
beams beam_sl beam_sr
all_wash wash_*
Вторая таблица — группы, и Select CHOP по шаблону собирает их каналы, Constant, Math, Limit. В логике шоу оперируют группами, а не приборами.
Если на площадке есть консоль, патч должен совпадать с её патчем, иначе свет пойдёт не туда.
Берут у художника по свету выгрузку патча, CSV или бумагу, приводят к своей таблице, сверяют построчно юниверс, адрес, тип и режим — и проверяют руками: включили прибор из TouchDesigner, загорелся ожидаемый. Последнее обязательно, совпадение таблиц ещё не значит, что на ферме висит тот прибор.
Сеть из таблицы строит Replicator COMP, по компоненту на строку, Репликатор. С ветки 2025.30000 приборы можно задать примитивами POP одного DMX Fixture POP, и репликатор не нужен.
CSV рядом с .toe, в системе контроля версий, с датой в имени — единственный
документ, который останется на объекте, когда вы уйдёте.
Нашли в статье ошибку, устаревшее или непонятное место?