Efecto elástico

Hola amigos, vamos hoy con otra expresión bastante útil.  Recomiendo sobre este tema visitar un sitio MOTIONSCRIPT  en el cual encontrará expresiones y script más que interesante.
En una ocasión tenía que realizar una animación donde aparecieran carteles colgando y dieran una sensación "elástica".


No es el caso hacer un tutorial  de esta animación, sino de explicar la expresión usada, ya que puede ser útil en cualquier otra animación.
En esa ocasión me sirvió una expresión que encontré en dicho sitio, que en realidad tiene la función de mover 2 objetos,y  que el segundo siga al primero como unido por un elástico. Era lo mismo que necesitaba solo que tenía que ocultar el primer objeto.
Para aplicarla en este caso hice lo siguiente:

Para el caso del cartel "Este verano" (y para todos los demás es igual)

1) Creamos una composición en donde colocamos una primer capa llamada leader  (puede ser un sólido de cualquier color) y colocamos la segunda capa abajo ( en este caso el psd de "Este verano")

2) A la capa leader le apagamos el "ojito" para que no sea visible.

3) Vamos a la segunda capa y elegimos POSITION  . Hacemos Alt-click en el relojito para que se abra el espacio y poder escribir así nuestra expresión brindada por el sitio anteriormente mencionado:


restLength = 20;
damp = .95;
leader = thisComp.layer("leader");

fDur = thisComp.frameDuration;
currFrame = Math.round(time / fDur);

p2 = position.valueAtTime(0);
v2 = 0;
for (f = 0; f <= currFrame; f++){
  t  = f*fDur;
  p1 = leader.transform.position.valueAtTime(t);
  delta = p2 - p1;
  nDelta = normalize(delta);
  a = 2 * nDelta * (length(delta) - restLength) * fDur;
  v2 = (v2 - a) * damp;
  p2 += v2;
}
p2

4) Ahora sólo tenemos que animar la capa leader con Position y Rotation como querramos y veremos que nuestra segunda capa la sigue, pero con esa sensación "elástica".

Bueno espero que les haya servido.