Pan Tilt CHOP
Оператор, который считает углы поворота головы на цель — и делает это без флипов и лишних оборотов.
Навести движущуюся голову на точку — задача тригонометрии, у которой есть неприятные краевые случаи. В TouchDesigner для неё есть отдельный оператор.
Что делает Pan Tilt CHOP
Оператор рассчитывает значения pan и tilt для набора платформ типа
движущейся головы. На вход подаётся относительное положение цели
относительно прибора: каналы tx, ty, tz или полный набор
трансформаций, какой выдаёт Object CHOP.
Ключевая особенность: углы считаются так, чтобы минимизировать флипы и угловое перемещение от кадра к кадру. Это то, что отличает рабочий инструмент от формулы из учебника.
Почему это важно
У головы pan обычно 540 градусов — то есть одну и ту же точку она может
показать в двух разных положениях. Наивный расчёт через atan2 регулярно
выбирает другое положение, и голова совершает полный оборот в момент,
когда луч должен был сдвинуться на сантиметр.
На сцене это выглядит как рывок через весь зал. Оператор решает именно эту задачу.
Схема
цель (Null COMP в сцене) ──▶ object CHOP ──▶ pan tilt CHOP ──▶ 16 бит ──▶ dmx
прибор (Null COMP) ──▶ (относительно)
- Позиции приборов — из таблицы патча или из DMX Fixture POP.
- Цель — точка в сцене, которую можно двигать чем угодно: рукой, трекингом, анимацией.
Object CHOPдаёт относительное положение.Pan Tilt CHOPсчитает углы.- Углы переводятся в диапазон прибора и раскладываются на 16 бит.
Из углов в DMX
Диапазоны у приборов разные: 540° по pan и 270° по tilt — типично, но не универсально. Приведение:
pan_dmx = (pan_deg + 270) / 540
tilt_dmx = (tilt_deg + 135) / 270
Значения из мануала прибора, а не из головы. Ошибка здесь даёт систематическое смещение, которое потом «чинят» калибровкой — Калибровка.
Ориентация прибора
Голова, висящая вверх ногами на ферме, и голова, стоящая на полу, дают разные знаки. Поворот прибора относительно мировых осей должен быть частью описания в патче: без него расчёт корректен, но результат зеркален.
Ограничения
- Оператор не знает о препятствиях: он не объедет ферму и не остановится перед колонкой.
- Он не знает о физической скорости прибора — за это отвечаете вы, Скорость и физика.
- Он не решает, куда светить: цель задаёте вы.
Сначала одна голова и одна цель, которую вы двигаете мышью в сцене. Пока не поверите глазам, не масштабируйте на двадцать приборов.