Цвет: уровни, кривые, пространство
Level по страницам, HSV Adjust для тона, LUT для палитры и рабочее цветовое пространство, которое появилось в 2025.30000 и включается на проект.
Цвет в TouchDesigner правят в основном Level TOP. Его параметры разложены по страницам ровно в том порядке, в каком применяются:
| Страница | Параметры | Что делает |
|---|---|---|
Pre |
Invert, Black Level, Brightness 1, Gamma 1, Contrast |
Инверсия, точка чёрного, умножение, степенная кривая, растяжка вокруг середины |
Range |
In Low, In High, Out Low, Out High |
Перевести диапазон входа в диапазон выхода |
RGBA |
Low и High для каждого канала |
То же по каналам: подтянуть синий, приглушить красный |
Step |
Apply Stepping, Step Size |
Постеризация ступенями |
Post |
Gamma 2, Brightness 2, Opacity, Clamp |
Вторая кривая и яркость после всего, прозрачность, обрезка |
Порядок внутри узла не меняется, поэтому сложную коррекцию иногда
собирают из двух Level подряд. Тона и насыщенности в Level нет: их держит
HSV Adjust TOP — Hue Offset, Saturation Multiplier,
Value Multiplier, а Start Color с диапазонами ограничивает правку
цветами, близкими к заданному. В генеративной графике цвет часто вообще
не задают числами, а меняют Hue Offset медленным LFO
или звуком.
Гамма
Файлы обычно записаны в sRGB, и их значения нелинейны относительно настоящей яркости. Сложение, размытие, смешивание и освещение верны только в линейном виде, иначе середина смеси двух картинок темнеет, а размытый яркий источник выглядит грязно. Пиксель на светодиоде к тому же ведёт себя иначе, чем на мониторе — Цвет и гамма.
Рабочее пространство
До ветки 2025.30000 цвет не учитывался вовсе: файлы читались, складывались и выводились как есть. Этот режим, Pass-Through, остался режимом по умолчанию, чтобы старые проекты не поменялись.
Теперь проекту можно задать рабочее пространство — в Edit → Preferences,
вкладка Color, или через project.workingColorSpace:
| Пространство | Что значит |
|---|---|
| Pass-Through | Как раньше: без преобразований |
| sRGB Linear | Цвета sRGB, вычисления в линейном виде; 8-битные TOP хранят данные с кривой sRGB, чтобы тёмным тонам хватало градаций |
| ACEScg | Широкий охват ACES, все TOP принудительно 16-битные float |
| DCI-P3 Linear, Rec.2020 Linear | Широкий охват для HDR и кино |
С включённым пространством Movie File In и Video Device In сами узнают
пространство источника — а не узнав, считают его sRGB — и переводят
в рабочее. На выходе, в Movie File Out или Video Device Out, вы говорите,
во что переводить. Цветовые параметры узлов переводятся тоже, как их
понимать, задаётся на Common.
Пространство задаётся каждому проекту и срабатывает после сохранения
и перезапуска .toe. Старые .tox, собранные под Pass-Through, в таком
проекте могут выглядеть иначе.
Без него линейный расчёт делают руками: перевести в линейный вид,
посчитать, вернуть кривую перед выводом. В GLSL для этого есть функции
вроде TDTransferSRGBToLinear — GLSL.
LUT
Lookup TOP берёт значение пикселя первого входа как координату во втором, обычно в градиенте Ramp TOP. Так получают цветовые схемы из чёрно-белого шума, жёсткие пороги и постеризацию, перекраску всей сцены одним градиентом — Ramp и Lookup.
Сверка с залом
Проектор, LED-экран и монитор показывают один файл по-разному. Правьте цвет на экране шоу и при его освещении.
Держите в проекте тестовую сетку — серый клин, чистые R, G, B, белый — и смотрите на экран из зала, а не с метра. У LED нижняя часть шкалы яркости обычно идёт ступеньками (LED-экран). Финальную коррекцию ставьте отдельным Level в самом конце цепочки: тогда она выключается одним bypass.
Сначала свет и композиция кадра, потом цвет. Картинку без структуры цветокоррекция не исправит. Хорошую она легко испортит.
Нашли в статье ошибку, устаревшее или непонятное место?