Render.ru

вопрос по Expressions

mirlanius

Пользователь сайта
Рейтинг
4
#1
Привет!
вопрос такой:
можно ли изменить свойство другого слоя через экспрешион?

например, написать экспрешион в одном слое, которое изменяет параметры другого слоя, допустим position
в идеале это выглядело бы так:
layer("xxx").transform.position=[10,10]
 

monter

Знаток
Рейтинг
35
#2
можно конечно!
для этого Нулл слои и сучествуют в АЕ, через их свойства привязкой к другим слоям и изменяется.
 

mirlanius

Пользователь сайта
Рейтинг
4
#3
круто, круто))
а можно примерный код увидеть??
Очень был бы признателен
 
Рейтинг
54
#4
а можно примерный код увидеть??
"неее, тут идти надо". Примерно можешь увидеть, щелкнув на "часики" нужного параметра слоя с зажатыми "Alt+Shift" и зажав "появившийся" значок "улитки" протянуть до параметра другого слоя.
 

mirlanius

Пользователь сайта
Рейтинг
4
#5
все дошло))
получается Null как посредник, к которому потом можно соединить другие слои
это другой подход, но он тоже работает.
Спасибо чувак!!
 

Orbit

Пользователь сайта
Рейтинг
2
#6
Всем доброго дня!

люди помогите с элементарным выражением в Expressions.. че-то они мне тяжело даются. ВИдимо сказывается, что не учил раньше html ..(

В общем суть такая: есть слой, где я путем трекинга получил ключи.
Эти ключи нужны для повторения движения условного источника света (на новом слое) , а-ля LensFlare..
copy-paste.. все ок. НО. теперь мне нужно ВСЮ анимацию этого объекта подвинуть в нужное место. как?
пробовал в поле выражения после /position писать +n (где n-число смещения).. Получается, но смещение только по горизонтали.. сколько не бился, так и не смог сместить по другой оси.

помогите пожалуйста

заранее благодарю!
 

mazzza

Знаток
Рейтинг
22
#7
проще всего подвинуть, изменяя anchor point этого объекта.
можно припарентить к null object и двигать его.
Если с помощью экспрешна и вы знаете значение x,y, на которое нужно сдвинуть, то
value + [x,y]
 

МеняЗовутДмитрий

Пользователь сайта
Рейтинг
2
#9
Есть анимация с выражением bounce на каждый маркер:
n = 0;
t = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time) n--;
}
if (n > 0) t = time - marker.key(n).time;
amp = 15;
freq = 5;
decay = 3.0;

angle = freq * 2 * Math.PI * t;
scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100;
value * scaleFact;


как сделать, чтобы, например, амплитуда меняла значение по ходу анимации? То есть чтобы на следующем маркере амплитуда стала -15.
 

mazzza

Знаток
Рейтинг
22
#10
Например, добавьте Adjustment Layer c Slider Control, подсоедините к нему ваше выражение(выделяете значение amp и соединяете pick wipe c Slider Control (как на скрине)). И ставите на Slider Control нужные ключи
 

Вложения

  • 194,6 КБ Просмотров: 267
Сверху