К содержанию
fohbookбета/ TouchDesigner

Цвет: уровни, кривые, пространство

Level по страницам, HSV Adjust для тона, LUT для палитры и рабочее цветовое пространство, которое появилось в 2025.30000 и включается на проект.

Ветка вашего пульта:1 фрагмент статьи для версий новее вашей1 фрагмент статьи для версий новее вашей
Быстрый выбор:

Цвет в 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, остался режимом по умолчанию, чтобы старые проекты не поменялись.

Появилось в 2025.30000 · в вашей версии этого нет

Теперь проекту можно задать рабочее пространство — в 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.

Художнику

Сначала свет и композиция кадра, потом цвет. Картинку без структуры цветокоррекция не исправит. Хорошую она легко испортит.

Нашли в статье ошибку, устаревшее или непонятное место?

рядом по смыслу