-
Add Ease in & Ease Out to Oscillation
Hi Again!
I had created an oscillator (thanks to Dan and Xavier). Im asking if i could add a Ease in and Ease Out to control my oscilation pulses. As you can see in this screenshot Pulses enter without ease in and out with an “ease out” but with no time control. It would be great add 2 expresion checker one for activate Ease In option and other to activate Ease Out option. And 2 sliders to control Ease in duration and other to control Ease out duration.
Here a screenshot of a manually recreation of desired oscillation (Ease in & Ease Out “checkers” activated of course)
Can you help me a little?
Thanks!!
/* ----------- OSCILACION ----------- */
/////////// EDEN COMENTA: ///////////
/*Esta expresión crea una función de oscilacion automática en función del tiempo.*/
/////////// VARIABLES ///////////
frecuencia=effect("Oscilador 2D")("Frecuencia Rotacion");
amplitud=effect("Oscilador 2D")("Amplitud Rotacion");
multiplicador=effect("Oscilador 2D")("Multiplicador Rotacion");
invertir=effect("Oscilador 2D")("Invertir Fase Rotacion").value
rozamiento=effect("Oscilador 2D")("Rozamiento Rotacion");
desfase=effect("Oscilador 2D")("Desfase Rotacion");
activar_rotacion=effect("Oscilador 2D")("Activar Rotacion").value;
activar_pulsos=effect("Oscilador 2D")("Pulsos Rotacion").value;
duracion=effect("Oscilador 2D")("Duracion de Pulsos (seg)");
periodo=effect("Oscilador 2D")("Periodo entre Pulsos (seg)");
tiempo_pulsos=time%(periodo+duracion)
/////////// FUNCIONES ///////////
function funcion_oscilacion (t, desfase, frecuencia, amplitud, rozamiento, invertir)
{
var sign= (invertir) ? -1 : +1;
return ((sign*Math.sin(desfase+t*(frecuencia))))*(amplitud)/Math.exp(rozamiento*t);
}
/////////// CODIGO ///////////
var oscilacion = (activar_rotacion) ? funcion_oscilacion (time, desfase, frecuencia, amplitud, rozamiento, invertir) : value;
var oscilacion_pulsos = funcion_oscilacion (tiempo_pulsos, desfase, frecuencia, amplitud, rozamiento, invertir)
var oscilacion_rotacion = (activar_pulsos) ? ease(tiempo_pulsos,0,duracion,oscilacion_pulsos,0) : oscilacion;
oscilacion_rotacion