TR
Size: a a a
TR
G
G
А
А
НТ
frq = 0.1;
amp = effect("amplitude")("Slider");
clamp_min = 80;
clamp_max = 250;
scale_wiggle = wiggle(frq, amp);
x = clamp(scale_wiggle[0], clamp_min, clamp_max);
y = value[1];
[x, y];
У тебя есть очень странная строчка:transform.scale[clp],[1]
Как она должна работать?А
frq = 0.1;
amp = effect("amplitude")("Slider");
clamp_min = 80;
clamp_max = 250;
scale_wiggle = wiggle(frq, amp);
x = clamp(scale_wiggle[0], clamp_min, clamp_max);
y = value[1];
[x, y];
У тебя есть очень странная строчка:transform.scale[clp],[1]
Как она должна работать?transform.scale[clp],[1]
" даже не знаю что сказать )) смотрел туторы увидел эту строчку. Я так понял она возвращает значение (в данном случае скейла) и первый индекс, т.е. "х" я поставил клемп, а "у" оставил как есть [1]. Я говорю в программировании не шарю )НТ
transform.scale[clp],[1]
" даже не знаю что сказать )) смотрел туторы увидел эту строчку. Я так понял она возвращает значение (в данном случае скейла) и первый индекс, т.е. "х" я поставил клемп, а "у" оставил как есть [1]. Я говорю в программировании не шарю )time * slider
. Обойти никак нельзя кроме просчета значений отдельно для каждого кадра.А
time * slider
. Обойти никак нельзя кроме просчета значений отдельно для каждого кадра.НТ
transform.scale[clp],[1]
" даже не знаю что сказать )) смотрел туторы увидел эту строчку. Я так понял она возвращает значение (в данном случае скейла) и первый индекс, т.е. "х" я поставил клемп, а "у" оставил как есть [1]. Я говорю в программировании не шарю )amp = 25; // амплитудаМожно поменять установив начало действия после последнего кейфрейма и до конца композиции.
frq = 2; // частота колебаний
timeToStart = 2; // начало анимации
timeToStop = 4; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
wiggle(frq, lin2);
amp = 25; // амплитудаСовмещаем первое выражение + второе
frq = 2; // частота колебаний
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
wiggle(frq, lin2);
frq = 20;Я проверил - у меня работает.
amp = effect("amplitude")("Slider");
clamp_min = 80;
clamp_max = 250;
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
scale_wiggle = wiggle(frq, lin2);
x = clamp(scale_wiggle[0], clamp_min, clamp_max);
y = value[1];
[x, y];
clamp()
неудачный так как фигура будет задерживаться максимумах и минумах амплитуды и ждать пока значение не снизится. Поэтому тут нужна интерполяция, что бы впихнуть всю амплитуду wiggle()
в нужные рамки для этого можно использовать linear()
. Вот то что тебе нужно без побочных эффектов:frq = 20;
amp = effect("amplitude")("Slider");
value_min = 80;
value_max = 250;
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
scale_wiggle = wiggle(frq, lin2);
x = linear(scale_wiggle[0], value[0] - amp, value[0] + amp, value_min, value_max)
y = value[1];
[x, y];
А
amp = 25; // амплитудаМожно поменять установив начало действия после последнего кейфрейма и до конца композиции.
frq = 2; // частота колебаний
timeToStart = 2; // начало анимации
timeToStop = 4; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
wiggle(frq, lin2);
amp = 25; // амплитудаСовмещаем первое выражение + второе
frq = 2; // частота колебаний
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
wiggle(frq, lin2);
frq = 20;Я проверил - у меня работает.
amp = effect("amplitude")("Slider");
clamp_min = 80;
clamp_max = 250;
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
scale_wiggle = wiggle(frq, lin2);
x = clamp(scale_wiggle[0], clamp_min, clamp_max);
y = value[1];
[x, y];
clamp()
неудачный так как фигура будет задерживаться максимумах и минумах амплитуды и ждать пока значение не снизится. Поэтому тут нужна интерполяция, что бы впихнуть всю амплитуду wiggle()
в нужные рамки для этого можно использовать linear()
. Вот то что тебе нужно без побочных эффектов:frq = 20;
amp = effect("amplitude")("Slider");
value_min = 80;
value_max = 250;
timeToStart = thisProperty.key(thisProperty.numKeys).time; // начало анимации
timeToStop = thisComp.duration + 1; // конец анимации
timeInOut = 1; // затухание (не = 0)
lin1 = linear(time, timeToStart, timeToStart + timeInOut, 0, amp);
lin2 = linear(time, timeToStop - timeInOut, timeToStop, lin1, 0);
scale_wiggle = wiggle(frq, lin2);
x = linear(scale_wiggle[0], value[0] - amp, value[0] + amp, value_min, value_max)
y = value[1];
[x, y];
DK
AM
B
DK
B
RK
DK
RK
DK