This media is not supported in your browser
VIEW IN TELEGRAM
Риг для катящегося круга и квадрата.
Катящийся круг
Применить к rotation, анимировать position:
transform.position[0]-(content("Ellipse 1").content("Ellipse Path 1").size[0]/2)-transform.position[0]/2
Катящийся квадрат
Работает как с шейпами, так и со слоями и композициями. Если квадрат катится неправильно — изменить значение Slider Control.
Добавить на слой с экспрешном эффект Slider Control. Применить экспрешн к position, анимировать rotation:
targetLayer = thisLayer;
squareSize = targetLayer.sourceRectAtTime().width;
squareDiag = (Math.sqrt(2)*squareSize)/2/3.5;
try{
squareOffset = effect("Slider Control")("Slider");
}
catch(err) {
squareOffset = 0;
}
rot=transform.rotation;
scl=transform.scale[0]/100;
w=(squareSize/2)*scl;
r=(degreesToRadians(rot))*2;
t=transform.position;
[t[0]+w*rot/45,t[1]-(Math.abs((squareDiag+squareOffset)*Math.sin(r)))*scl];
#expressions
Катящийся круг
Применить к rotation, анимировать position:
transform.position[0]-(content("Ellipse 1").content("Ellipse Path 1").size[0]/2)-transform.position[0]/2
Катящийся квадрат
Работает как с шейпами, так и со слоями и композициями. Если квадрат катится неправильно — изменить значение Slider Control.
Добавить на слой с экспрешном эффект Slider Control. Применить экспрешн к position, анимировать rotation:
targetLayer = thisLayer;
squareSize = targetLayer.sourceRectAtTime().width;
squareDiag = (Math.sqrt(2)*squareSize)/2/3.5;
try{
squareOffset = effect("Slider Control")("Slider");
}
catch(err) {
squareOffset = 0;
}
rot=transform.rotation;
scl=transform.scale[0]/100;
w=(squareSize/2)*scl;
r=(degreesToRadians(rot))*2;
t=transform.position;
[t[0]+w*rot/45,t[1]-(Math.abs((squareDiag+squareOffset)*Math.sin(r)))*scl];
#expressions
👍59🔥8❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Ежесекундные ступенчатые повороты.
Замена time*n. Только вместо плавного поворота — ступенчатый. Чаще всего пригождается, чтобы сделать анимацию секундной стрелки, шестерёнок или других похожих механизмов.
Применить к rotation:
angle = 15; // Угол поворота в секунду
rotateDuration = 10; // Длительность поворота в кадрах
Замена time*n. Только вместо плавного поворота — ступенчатый. Чаще всего пригождается, чтобы сделать анимацию секундной стрелки, шестерёнок или других похожих механизмов.
Применить к rotation:
angle = 15; // Угол поворота в секунду
rotateDuration = 10; // Длительность поворота в кадрах
rotateDurationFr = rotateDuration/(1/thisComp.frameDuration);
wholeSecond = Math.floor(time);
startAngle = wholeSecond * angle;
ease(time, wholeSecond, wholeSecond + rotateDurationFr, startAngle, startAngle + angle)
#expressions❤62👍17🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Выражение масштаба сжатия и растяжения.
Добавление пропорционального масштабирования (по принципу сжатия&растяжения) к шейпам или изображениям.
☝️ Применять выражение к параметру scale. Анимация работает от начала слоя.
Добавление пропорционального масштабирования (по принципу сжатия&растяжения) к шейпам или изображениям.
☝️ Применять выражение к параметру scale. Анимация работает от начала слоя.
maxDev = 13; // max deviation in pixels
spd = 30; //speed of oscillation
decay = 1.0; //how fast it slows down
t = time - inPoint;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;
[x,y]
#expressions👍32❤1
Media is too big
VIEW IN TELEGRAM
👍7❤3💩2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Инерционный отскок.
Отличное выражение, которое нужно иметь под рукой, когда вы хотите создать эффект того, что что-то попадает в кадр с легким отскоком. Вы можете изменить код, чтобы создать впечатление более существенного или динамичного актива.
Отличное выражение, которое нужно иметь под рукой, когда вы хотите создать эффект того, что что-то попадает в кадр с легким отскоком. Вы можете изменить код, чтобы создать впечатление более существенного или динамичного актива.
n = 0;#expressions
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n–;
}
}
if (n == 0){
t = 0;
}else{
t = time – key(n).time;
}
if (n > 0){
v = velocityAtTime(key(n).time – thisComp.frameDuration/10);
amp = .05;
freq = 4.0;
decay = 2.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}
👍50🔥3
Всем привет, меня зовут Саша!
Открыт к удалённому проектному сотрудничеству по позиции Generalist. А ещё в съемки могу, поэтому в шоуриле не только 3дшечка.
- Showreel: youtu.be/uFK8E0WNwRY
- Behance: www.behance.net/blvckstance
- Instagram: @blvckstance
- Telegram: t.me/blvckstance
Base soft:
- Cinema 4d
- Redshift
- After Effetcs
Открыт к удалённому проектному сотрудничеству по позиции Generalist. А ещё в съемки могу, поэтому в шоуриле не только 3дшечка.
- Showreel: youtu.be/uFK8E0WNwRY
- Behance: www.behance.net/blvckstance
- Instagram: @blvckstance
- Telegram: t.me/blvckstance
Base soft:
- Cinema 4d
- Redshift
- After Effetcs
YouTube
Showreel 2022
www.blvckstance.com
🔥40👍8❤2