💬 Делаем субтитры
Задача: субтитры на подложке.
Но как сделать так, чтобы подложка всегда подстраивалась под размеры текстового слоя? Можно, конечно, подгонять на глаз или с помощью болванки-прямоугольника, а можно использовать экспрешн, который будет менять размер шейпа в зависимости от размера текста.
Мы, конечно, за второй вариант. Alt-кликаем на параметр Size шейпа и вводим экспрешн:
var textLayer = thisComp.layer("Your Text Layer Name"); // Правим название текстового слоя
var textRect = textLayer.sourceRectAtTime(time, false);
var paddingTop = 60;
var paddingSide = 80; // Тут можем изменить паддинги
var backgroundWidth = textRect.width + paddingSide * 2;
var backgroundHeight = textRect.height + paddingTop * 2;
[backgroundWidth, backgroundHeight]
Чтобы было легче ровнять текст по отношению к подложке, для anchor point текста вводим выражение, которое всегда возвращает якорную точку в центр слоя:
var rect = sourceRectAtTime(time, false);
var centerX = rect.left + rect.width / 2;
var centerY = rect.top + rect.height / 2;
[centerX, centerY]
Закрепляем позишн шейпа на определенном месте:
value,[0,0] //Вводим значение, которое указано у слоя
Теперь, когда мы будем ровнять текст с шейпом с помощью Align, субтитры всегда будут центрированы относительно подложки и будут оставаться на одном и том же месте кадра. Иногда позишн текста всё же придется двигать на пару пикселей вверх или вниз — используйте для этого холдовые ключи!
Пробуйте и пишите в комменты, если что-то не получается, будем тюнить этот способ вместе!🍌
#тутор_полторашка