Свои компоненты и параметры
Customize Component превращает кусок сети в блок с тремя понятными ручками. Типы параметров, шесть правил переиспользуемого компонента и ярлыки вместо путей.
Компонент со своими параметрами — главная единица большого проекта: снаружи три понятные ручки, внутри сколько угодно узлов.
Кусок сети выделяют и сворачивают через RMB по пустому месту →
Collapse Selected, получается Base COMP. RMB по нему →
Customize Component открывает редактор, где добавляют страницу и
параметры с именем, типом, диапазоном и значением по умолчанию; страница
появляется на панели параметров. Внутри на них ссылаются
parent().par.Имя, а если задать компоненту Parent Shortcut, то
parent.Effect.par.Имя с любой глубины. Имена своих параметров пишутся
с большой буквы — так TouchDesigner отличает их от встроенных.
| Тип | Для чего |
|---|---|
| Float / Int | Числовые настройки |
| Toggle | Включатель |
| Pulse | Действие: сброс, перезапуск, «применить» |
| Menu / StrMenu | Выбор из вариантов; список задаётся или строится скриптом |
| Str | Имена, тексты, шаблоны |
| File / Folder | Пути; кнопка выбора появляется сама |
| OP, COMP, TOP, CHOP и другие | Ссылка на оператор — так компонент получает вход |
| RGB / RGBA | Цвет |
| XY / XYZ / WH | Векторы и размеры |
| Header | Подпись-разделитель на странице |
| Sequence | Повторяющийся блок параметров: «добавить ещё один слой» |
Чтобы им пользовались
Внутри никаких абсолютных путей: parent(), me, относительные пути,
ярлыки и параметры типа OP (Ссылки). Всё, что
настраивается, вынесено параметром — если приходится заходить внутрь,
компонент не готов. Где можно, один вход и один выход: In и Out делают
компонент обычным узлом цепочки. Значения по умолчанию разумные,
и компонент работает сразу после создания. Вместо ковыряния внутри —
методы (Extensions). А имя параметра — это API:
переименуете, и сломается всё, что на него опиралось.
На странице Common у компонента есть список Internal OP — имя и путь
к узлу внутри. Назовите конфигурационный узел Settings, и внутри
компонента везде пишется iop.Settings, а переименования и перестановки
ссылки больше не ломают — Компоненты.
Панель
Container COMP с кнопками, слайдерами и полями — тоже компонент. Button, Slider и Field отдают значения в Panel CHOP или вызывают Panel Execute, а Parameter COMP встраивает в панель настоящие параметры любого узла. Так собирают интерфейс оператора, который потом стоит в перформ-окне рядом с картинкой.
Создайте компонент в пустом проекте и попробуйте работать с ним, не заходя внутрь. Получилось — готов. Пришлось лезть внутрь — доделайте параметры.
Правки внутри клона пропадут при синхронизации с мастером. Настройки клона хранятся в его параметрах — Флаги.
Нашли в статье ошибку, устаревшее или непонятное место?