Render.ru

Изменить общий масштаб анимированного по масштабу слоя

Hector

Активный участник
Рейтинг
13
#1
Есть проект со множеством слоев. Все слои анимированы по масштабу. Но теперь общий масштаб каждого слоя нужно изменить, ну к примеру уменьшить весь слой в два раза. Как это сделать без того что б пересчитывать масштаб каждого ключевого кадра по каждому слою. Было б круто какой-то эффект применить, изменяющий масштаб, чтоб его на весь слой применить, но я такого не нашел
 

M.O.Z.G

Знаток
Рейтинг
50
#2
Эффект есть (Distort > Transform, как это не странно), но это не то же самое, что реальный масштаб, в ряде случаев могут возникать проблемы.
Лучше навесте на параметр Transform выражение вида:

var arg = 2;
[value[0]/arg, value[1]/arg] //Или три вектора для трехмерных слоев.


Это поделит масштаб Ваших слоёв в каждый момент времени.

А лучше, даже сделайте слайдер или объект, от которого все слои будут наследовать коэффициент, и его подставляйте в выражение. Удобнее будет управлять в будущем.
 

Мас Мортр

Активный участник
Рейтинг
8
#3
1. Дык можно создать null, к нему привязать, и масштабировать как хочешь, оставляя анимацию нетронутой...
2. Можно выделить все кейфрэймы нужной трансформации (в данном случае scale) и промасштабировать его (слой). Анимация останется пропорционально. Смотрите только, чтобы курсор стоял на любом кейфрейме.
 

mazzza

Знаток
Рейтинг
22
#4
1. Дык можно создать null, к нему привязать, и масштабировать как хочешь, оставляя анимацию нетронутой...
Если просто парентить нул к слоям, масштабирование будет происходить относительно нула, а не относительно anchor point слоев. Все равно нужно экспрешнами будет скэйл прибивать...
(По сути получится то же, что и M.O.Z.G написал.)
Второй вариант хорош для разовой правки, но через какое то время будет сложно понять смысл всех этих значений... Со слайдером или скэйлом нула как-то проще потом разобраться будет..
 

Мас Мортр

Активный участник
Рейтинг
8
#5
Второй вариант хорош для разовой правки, но через какое то время будет сложно понять смысл всех этих значений... Со слайдером или скэйлом нула как-то проще потом разобраться будет..
Для этого я и писал. Если надо один раз поправить три слоя, то можно быстро это сделать.
Если просто парентить нул к слоям, масштабирование будет происходить относительно нула, а не относительно anchor point слоев. Все равно нужно экспрешнами будет скэйл прибивать...
Да, я упустил опорную точку.
Нужно прямо в строке экспрешена к существующей анимации добавить привязку к null:
transform.scale+thisComp.layer("Null 1").transform.scale
 
Сверху