let windSpeed = thisComp.layer("WIND CONTROLLER").effect("wind speed")("Slider");
let indexByPos = linear(position[0], 0, thisComp.width, 0.7, 1.7);
Math.sin((time-indexByPos)*Math.PI*windSpeed/10)*windSpeed*2;
/*
Expression by Francisco Giordano, August 2020.
Free for personal use and commercial use.
Instagram @ae.fran.giodano - frangiordano96@gmail.com
*/
For the Start and End properties, you'll have to apply different expressions depending on the type of your layer:
Code for Start property:
transform.position
Code for End property:
[position[0], position[1]-thisComp.height/2];
Code for Start property:
let myRect = sourceRectAtTime();
[myRect.width/2, myRect.height];
Code for End property:
let myRect = sourceRectAtTime();
[myRect.width/2, -myRect.height];
Code for Rotation property:
let windDirection = thisComp.layer("WIND CONTROLLER").effect("wind direction")("Angle");
let indexByPos = linear(position[0], 0, thisComp.width, 0.5, 1.5);
let windSpeed = thisComp.layer("WIND CONTROLLER").effect("wind speed")("Slider");
let sinRotation = Math.sin((time-indexByPos)*Math.PI*windSpeed/10)*windSpeed/2;
let windRotation = linear(windDirection.valueAtTime(time-indexByPos), 90, -90, windSpeed, -windSpeed);
sinRotation + windRotation;
/*
Expression by Francisco Giordano, August 2020.
Free for personal use and commercial use.
Instagram @ae.fran.giodano - frangiordano96@gmail.com
*/