Spring Layers...
Posted: Thu Sep 15, 2005 10:36 am
...HELLO!
I've recover this old script from AFX that makes a layer follow another layer with spring effect, very interesting! (really
) If somebody could addapt it to a LUA language for it can be work in Moho like embedded script... Like the "guts" and calcules are still made, I was wondering if something like this could be easily translated for someone interested and I've put it here (just in case...) CIAO & THANKS!


Code: Select all
// One spring - version 1.2
// This script attaches a spring between the 2 layers shown in the popups.
// Layer 1 keeps its original motion, while layer 2 is attached by a spring to it.
// LAYER PROPERTY CHANNEL
// ------ ---------- --------
// 1: Layer that moves doesn't matter doesn't matter
// 2: Layer attached to #1 by a spring doesn't matter doesn't matter
if (time() == start_time) {
rest_length = 10; // rest length of spring in pixels
damp = 0.95; // Damping (0 = infinite friction, 1 = none)
p1 = value(pop_layer(1), position);
p2 = value(pop_layer(2), position);
last_p1 = tmap(time() - step_time, value(pop_layer(1), position));
last_p2 = tmap(time() - step_time, value(pop_layer(2), position));
v1 = (p1 - last_p1);
v2 = (p2 - last_p2);
} else {
p1 = value(pop_layer(1), position);
delta = p2 - p1;
n_delta = normalize(delta);
a = 2 * n_delta * (length(delta) - rest_length) * step_time;
v2 = (v2 - a) * damp;
v1 = (v1 + a) * damp;
p1 = p1 + v1;
p2 = p2 + v2;
}
value(pop_layer(2), position) = p2;