С чего начинать
Семейства, ссылки, кук, картинка, компоненты, вывод — именно в таком порядке. Плюс официальный вводный урок, сниппеты и где в программе справка.
Учить TouchDesigner по кнопкам бесполезно, интерфейс тут почти ничего не значит. Учится модель данных, и в ней пять-шесть понятий, которые лучше проходить по порядку.
Сначала первый патч — пятнадцать минут, после которых остальное понятнее. Дальше:
- Семейства операторов: TOP, CHOP, SOP, DAT, MAT, COMP, POP. Без них дальше смысла нет.
- Ссылки и выражения — как параметр берёт значение из другого узла. Это язык программы.
- Кук — почему узел считается или нет. От этого зависит вся производительность.
- Картинка: разрешение, формат пикселя, композитинг.
- Свои компоненты и параметры — кусок сети в блоке с параметрами.
- Вывод: Perform-окно и экраны.
3D, частицы, GLSL и нейросети — потом. Они интереснее, но без первых четырёх пунктов получается сборка чужих туториалов вместо своих проектов.
Где учиться
Первый вечер — официальный урок «First Things to Know about TouchDesigner»
на docs.derivative.ca: два-три часа про навигацию, флаги, параметры,
экспорт и выражения. Там же документация каждого оператора — туда смотреть
первым делом — и списки Sweet 16, по шестнадцать самых нужных операторов
на семейство. В самой программе Help → Operator Snippets открывает окно
с сотнями маленьких примеров по операторам, Help → Python Examples —
примеры кода. Нестандартные случаи и баги ищут на форуме Derivative
по симптому.
Справка по конкретному узлу — кнопка Operator Help внизу панели
параметров. С зажатым Alt наведите курсор на имя параметра — всплывёт
его описание. Alt+H открывает справку целиком.
F1 прячет редактор и оставляет окно вывода, справку он не открывает.
Назад — Esc.
Компоненты палитры открыты. Зайдите внутрь audioAnalysis или
kantanMapper и посмотрите, как они собраны: такой учебник уже
установлен и ничего не стоит.
На чём спотыкаются все
Собирают красивое без понимания, почему оно работает, — и через неделю патч уже невозможно править. Не ставят Null — и любая правка ломает полсети. Не следят за разрешением, и половина сети считается в 4K там, где хватило бы 512. Держат всё в одной плоской сети, где через месяц триста узлов без единого комментария. Пишут Python там, где хватило бы операторов: скрипт на каждом кадре почти всегда означает ошибку в устройстве патча — Python. И проверяют производительность за сутки до монтажа, хотя следить за ней надо с первого дня — Производительность.
Пять первых проектов
Каждый закрывает свой кусок модели и заканчивается работающей вещью: аудиореактивная фигура (звук → параметр → геометрия), фидбэк с камерой, мэппинг на настоящий предмет, инсталляция с кнопкой на Arduino или клавише и патч, который сам перезапускается утром — автозапуск.
Нашли в статье ошибку, устаревшее или непонятное место?