Выражения Методы rgbToHsl(rgbaArray) hslToRgb(hslaArray) After Effects

 

 

В Adobe After Effects методы rgbToHsl(rgbaArray) и hslToRgb(hslaArray) используются в выражениях для преобразования цветов между моделями RGBА и HSLА. Эти методы полезны для работы с цветами, например, для динамического управления оттенками, насыщенностью или яркостью.

 

Список эффектов и не только After Effects
Выражения After Effects список

 

 

hslToRgb(hslaArray) или rgbToHsl(rgbaArray) Преобразует цвет из формата HSLA в формат RGBА и наоборот

[h, s, l, a] — H (hue), S (saturation), L (lightness), A (alpha канал).значения в диапазоне [0, 1]

————-
1

Слой меняет оттенок цвета в зависимости от времени

var rgbColor = effect(«Заливка»)(3); // Получаем текущий цвет слоя
var hslColor = rgbToHsl(rgbColor); // Преобразуем в HSL
hslColor[0] = (time % 3) / 3; // Цикл оттенка каждые 3 секунды
hslToRgb(hslColor); // Преобразуем обратно в RGB

————
3

Анимацию, где оттенок цвета (hue) меняется со временем, но насыщенность и яркость остаются постоянными.

// Задаем HSL-значения
var hue = (time % 5) / 5; // Оттенок меняется от 0 до 1 за 5 секунд
var saturation = 0.8; // Насыщенность 80%
var lightness = 0.5; // Яркость 50%
var alpha = 1 // Альфа канал включен
var hslaArray = [hue, saturation, lightness, alpha];

hslToRgb(hslaArray); // Преобразуем HSL в RGB

——-
4

Цвет изменяется в зависимости от положения по оси X в композиции: от синего в начале до красного в конце, используя HSL для более гибкого контроля над оттенком.

transform.position + time * 100; //Выражение для свойства Положение по оси Х

//Выражение для свойства Цвет заливки Слой-фигура 1

xPos = thisLayer.transform.position[0];
normalizedPos = xPos / thisComp.width;
rgbColor = [normalizedPos, 0, 1 — normalizedPos, 1];
var hslColor = rgbToHsl(rgbColor);
hslToRgb(hslColor);

position[0]: Берёт координату X слоя.
thisComp.width: Определяет ширину композиции.
normalizedPos: Преобразует положение слоя в значение от 0 до 1 (0 — слева, 1 — справа).
rgbColor: Создаёт массив RGBA, где красный канал увеличивается, а синий уменьшается при движении слоя вправо (зелёный остаётся 0, альфа — 1).
rgbToHsl(rgbColor): Преобразует RGB в HSL, что даёт нам доступ к hue, saturation и lightness.
hslToRgb(hslColor): Возвращает цвет обратно в формат RGBA, который After Effects использует для установки цвета.