Скейл движения

Очень полезно, когда вы работаете с таким маленьким движением, что максимальное приближение афтера не позволяет нормально с ним работать, или просто когда хотите скопировать и отскейлить путь, по которому движется объект. Вам потребуется создать Adjustment Layer, я назвал его control point, и кинуть на него Point Control («center»), это будет центр, относительно которого будет скейлиться движение. Затем скажем, создадим Null («slave»), копирующий движение мастер-Null’а («control_null»). На «slave» положим слайдер и назовем его «scale_factor». Пускай control null движется по произвольной траектории. Напишем в position «slave» следующее:

Если фактор будет больше 1, то движение будет уменьшаться, от 0 до 1 — увеличиваться. Если же перед фактором будет стоять знак минуса, то движение будет еще и зеркалиться.

Немного теории

Функция normalize выполняет нормализацию вектора, то есть приводит его к единичному вектору. Фактически, единичный вектор можно считать направлением. Если умножить нормализованный вектор на длину исходного вектора, получим тот же вектор. Эта идея используется для того, чтобы построить путь в N раз меньший. На каждом кадре мы откладываем в направлении нормализованного вектора новый, в N раз меньший. Почему Point Control надо ставить на Adjustment Layer, предлагаю подумать самим. Приятных экспериментов. Кстати, это — очередное выражение, появившееся в результате вопросов Михаила Кузнецова