Mike Clasby
Forum Replies Created
-
This earlier post from Dan shows how:
https://forums.creativecow.net/cgi-bin/new_read_post.cgi?forumid=2&postid=881140
In your case, without the sliders:
freq = 20;
amp = 30;
w = wiggle(freq,amp);
[value[0],value[1],w[2]]and with sliders on a null named “freq” and “amp”:
freq = thisComp.layer(“Null 1”).effect(“freq”)(“Slider”);
amp = thisComp.layer(“Null 1”).effect(“amp”)(“Slider”);
w = wiggle(freq,amp);
[value[0],value[1],w[2]]or for a different wiggle for x,y and z, this:
xFreq = 7;
xAmp = 50;
yFreq = 3;
yAmp = 100;
zFreq = 20;
zAmp = 30;wX = wiggle(xFreq,xAmp);
wY = wiggle(yFreq,yAmp);
wZ = wiggle(zFreq,zAmp);
[wX[0],wY[1],wZ[2]]To connect these for sliders:
Layer>New>Null Object
then on the Null
Effect>Expression Controls>Slider Control
then select the “Slider Control” in the Effect Window, hit “Enter” and rename, “xFreq”,
select the “7” in the position expression (timeline window) then pickwhip (little box in the middle, looks like an “@” below the now red position numbers, drag it) to the Slider (“xFreq”) stopwatch. to get that line of the expression changed to;xFreq = thisComp.layer(“Null 1”).effect(“xFREQ”)(“Slider”);
now the slider controls the xFrequency, 0 means no wiggle, so you can turn it on or off with keyframes on the slider.
Have fun.
-
I lied about the squish and squash for the script.
-
I lied about the squish and squash for the script.
-
Scripts or expressions, both come with squish and squash.
There is a script call Gravity.jsx
Select the layer you want to apply gravity to,
File > Run Script > Choose File > and you should open up to the folder (demos)
Note: (demos) is a folder nested here (on a PC): C drive > Program Files > Adobe > After Effects 6.5 > Support Files > Scripts > Demos
there should be a file there named “Gravity.jsx”
select it.
Now when you click the “Run Simulation” in the Gravity script palette you’ll get keyframes of the chosen gravity attributes (chosen in the palette). Also a cool plus, if you keyframe position as in moving the ball (or whatever layer is selected when you open the script) you’ll get a nice moving ball bouncing, note two that the layer bounce around a box created in the palette, just click he “?” for details>And this for Gravity Expression from earlier posts:
Name: yikesmikes
Date: Mar 22, 2006 at 1:53:30 am
Subject: Re: GravityHere a set of expressions,very nice with squish a squash as the ball bounces, not as hairy as it looks if you can copy/paste expressions (Alt + Click the Stopwatch for the property you want to apply the expression to, then paste)
I just remembered Dan had a nice bouncing animation expression from this post:
Name: Dan Ebberts
Date: Sep 14, 2004 at 11:40:45 am
Subject: Re: bouncing animationHere are a couple of bounce simulation expressions. The first one is for position and the second is for scale. With the parameters set the way they are, your object will drop until it reaches y = 400 (“floor”) and then bounce. You can control everything with the parameters (even better- assign them to sliders). You can use Vx0 and Vy0 to give your object an initial velocity – turning it into a projectile. For best results, move the anchor point of your object to the bottom. Here’s the expression for poisition:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 100; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
floor = 400;
e = .85; //elasticityd = .03; //squash factor
spd= 10; //speed of squash oscillation
decay= 10.0; //how fast squash slows downb = floor – position.valueAtTime(0)[1];
h = b + Vy0*Vy0/(2*g);
T = Vy0/g + Math.sqrt(2*h/g);if (time < T){ x = scale[0]; y = scale[1]; }else{ Vy = -(Vy0 - g*T); while (true){ max_dev = e*Vy*d; Vy *= e; t = T; T += 2*Vy/g; if (time < T){ t = time - t; x=scale[0]+max_dev*Math.cos(spd*(t))/Math.exp(decay*t); y=scale[0]*scale[1]/x; break; }else if (T - t < thisComp.frameDuration){ x = scale[0]; y = scale[1]; break; } } } [x,y] And for scale: Vy0 = 0; //initial y velocity (pixels/second) Vx0 = 0; // initial x velocity (pixels/second) g = 2500; // gravity (pixels/second/second) floor = 400; e = .85; //elasticity d = .02; //squash factor spd= 10; //speed of squash oscillation decay= 10.0; //how fast squash slows down b = floor - position.valueAtTime(0)[1]; h = b + Vy0*Vy0/(2*g); T = Vy0/g + Math.sqrt(2*h/g); if (time < T){ x = scale[0]; y = scale[1]; }else{ Vy = -(Vy0 - g*T); while (true){ max_dev = e*Vy*d; Vy *= e; t = T; T += 2*Vy/g; if (time < T){ t = time - t; x=scale[0]+max_dev*Math.cos(spd*(t))/Math.exp(decay*t); y=scale[0]*scale[1]/x; break; }else if (T - t < thisComp.frameDuration){ x = scale[0]; y = scale[1]; break; } } } [x,y] Dan
-
Scripts or expressions, both come with squish and squash.
There is a script call Gravity.jsx
Select the layer you want to apply gravity to,
File > Run Script > Choose File > and you should open up to the folder (demos)
Note: (demos) is a folder nested here (on a PC): C drive > Program Files > Adobe > After Effects 6.5 > Support Files > Scripts > Demos
there should be a file there named “Gravity.jsx”
select it.
Now when you click the “Run Simulation” in the Gravity script palette you’ll get keyframes of the chosen gravity attributes (chosen in the palette). Also a cool plus, if you keyframe position as in moving the ball (or whatever layer is selected when you open the script) you’ll get a nice moving ball bouncing, note two that the layer bounce around a box created in the palette, just click he “?” for details>And this for Gravity Expression from earlier posts:
Name: yikesmikes
Date: Mar 22, 2006 at 1:53:30 am
Subject: Re: GravityHere a set of expressions,very nice with squish a squash as the ball bounces, not as hairy as it looks if you can copy/paste expressions (Alt + Click the Stopwatch for the property you want to apply the expression to, then paste)
I just remembered Dan had a nice bouncing animation expression from this post:
Name: Dan Ebberts
Date: Sep 14, 2004 at 11:40:45 am
Subject: Re: bouncing animationHere are a couple of bounce simulation expressions. The first one is for position and the second is for scale. With the parameters set the way they are, your object will drop until it reaches y = 400 (“floor”) and then bounce. You can control everything with the parameters (even better- assign them to sliders). You can use Vx0 and Vy0 to give your object an initial velocity – turning it into a projectile. For best results, move the anchor point of your object to the bottom. Here’s the expression for poisition:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 100; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
floor = 400;
e = .85; //elasticityd = .03; //squash factor
spd= 10; //speed of squash oscillation
decay= 10.0; //how fast squash slows downb = floor – position.valueAtTime(0)[1];
h = b + Vy0*Vy0/(2*g);
T = Vy0/g + Math.sqrt(2*h/g);if (time < T){ x = scale[0]; y = scale[1]; }else{ Vy = -(Vy0 - g*T); while (true){ max_dev = e*Vy*d; Vy *= e; t = T; T += 2*Vy/g; if (time < T){ t = time - t; x=scale[0]+max_dev*Math.cos(spd*(t))/Math.exp(decay*t); y=scale[0]*scale[1]/x; break; }else if (T - t < thisComp.frameDuration){ x = scale[0]; y = scale[1]; break; } } } [x,y] And for scale: Vy0 = 0; //initial y velocity (pixels/second) Vx0 = 0; // initial x velocity (pixels/second) g = 2500; // gravity (pixels/second/second) floor = 400; e = .85; //elasticity d = .02; //squash factor spd= 10; //speed of squash oscillation decay= 10.0; //how fast squash slows down b = floor - position.valueAtTime(0)[1]; h = b + Vy0*Vy0/(2*g); T = Vy0/g + Math.sqrt(2*h/g); if (time < T){ x = scale[0]; y = scale[1]; }else{ Vy = -(Vy0 - g*T); while (true){ max_dev = e*Vy*d; Vy *= e; t = T; T += 2*Vy/g; if (time < T){ t = time - t; x=scale[0]+max_dev*Math.cos(spd*(t))/Math.exp(decay*t); y=scale[0]*scale[1]/x; break; }else if (T - t < thisComp.frameDuration){ x = scale[0]; y = scale[1]; break; } } } [x,y] Dan
-
Mike Clasby
July 6, 2006 at 6:52 pm in reply to: Can I change an effect’s property in a compositions from another compositon?If the changes in the instances are incremental (all the same change, i.e. each one 10 degrees from the next) you might try this expression on the parameter “Color Phase” of one of the Comp A layers (in Comp B) Note:(within Glow I don’t see a start angle, “Color Phase” is the only angle I see, maybe you’re using a 3rd party Glow, but the principal that follows is the same so bear with me, por favor)
angleOffset = 10; // number of degrees each layer offset from layer above
value + index*angleOffset
This will cause the angle to be 10 degrees more on each layer down the layer stack, so the 4th down will have an angle of 40, the 5th an Angle of 50, etc.
———————–
If you wanted more control over the angleOffset, add a new null layer with angle control and pickwhipping the “10” to the angle control gets you:
angleOffset = thisComp.layer(“Null 1”).effect(“Angle Control”)(“Angle”); // number of degrees each layer offset from layer above
value + index*angleOffset
Now changing the angle control ripples all the way down through the stack of layers.
———————————-
I don’t see the parameter Amount for Glow, but if you mean Glow Intensity, as similar expression for the first one is:
Glow Intensity = 1; // amount of Intensity each layer offset from layer above
value + index*GlowIntensity
Now the Glow Intensity value of each layer will go up by 1 as you descend in the layer stack.
Similarly you could highlight the “1” above and pickwhip to a Slider Control in the Null layer.
————————————-
The Edit>Copy expression Only followed by selecting multiple othe layers then, Paste is a quick way to put an expression on many layers at once (you probably alredy know that. Or if you just dup the Comp A layer in Comp B, you’re good to go.
———————–
If you do have lots of layers to do and the results look to ordered or regular (you see that regular incremental differnce) you coul alway turn off the eyeball for some of the layers to put holes in the regularity of the look.
It seems like an Index expression should do what you want, or get close.
-
Mike Clasby
July 6, 2006 at 6:52 pm in reply to: Can I change an effect’s property in a compositions from another compositon?If the changes in the instances are incremental (all the same change, i.e. each one 10 degrees from the next) you might try this expression on the parameter “Color Phase” of one of the Comp A layers (in Comp B) Note:(within Glow I don’t see a start angle, “Color Phase” is the only angle I see, maybe you’re using a 3rd party Glow, but the principal that follows is the same so bear with me, por favor)
angleOffset = 10; // number of degrees each layer offset from layer above
value + index*angleOffset
This will cause the angle to be 10 degrees more on each layer down the layer stack, so the 4th down will have an angle of 40, the 5th an Angle of 50, etc.
———————–
If you wanted more control over the angleOffset, add a new null layer with angle control and pickwhipping the “10” to the angle control gets you:
angleOffset = thisComp.layer(“Null 1”).effect(“Angle Control”)(“Angle”); // number of degrees each layer offset from layer above
value + index*angleOffset
Now changing the angle control ripples all the way down through the stack of layers.
———————————-
I don’t see the parameter Amount for Glow, but if you mean Glow Intensity, as similar expression for the first one is:
Glow Intensity = 1; // amount of Intensity each layer offset from layer above
value + index*GlowIntensity
Now the Glow Intensity value of each layer will go up by 1 as you descend in the layer stack.
Similarly you could highlight the “1” above and pickwhip to a Slider Control in the Null layer.
————————————-
The Edit>Copy expression Only followed by selecting multiple othe layers then, Paste is a quick way to put an expression on many layers at once (you probably alredy know that. Or if you just dup the Comp A layer in Comp B, you’re good to go.
———————–
If you do have lots of layers to do and the results look to ordered or regular (you see that regular incremental differnce) you coul alway turn off the eyeball for some of the layers to put holes in the regularity of the look.
It seems like an Index expression should do what you want, or get close.
-
Mike Clasby
July 6, 2006 at 4:34 am in reply to: Particles – to weave their way thru layers alpha/brickwork.Hey, I dunno but I may have stumbled across what you need, not perfect but it tries real hard to work.
First, Dan’s expression for magnet repel from an earlier post:
https://forums.creativecow.net/cgi-bin/new_read_post.cgi?forumid=2&postid=729630&archive=T
p = thisComp.layer(“layer 1”).position;
r = 200000; //repulsion constant
dist = length(position,p);
dir = normalize(position – p);
offset = dir*r/(dist*dist);
value + offsetRead the post to see how to adjust the expression.
Anyway I made one particle, made it 3D, set keyframes for position to send it along a path. Later after I add the “layer 1″ (the Brick layer, your skin cells) I duped the particle layers and offset them in the timeline so I have a trail of layers following each other.
So for ‘layer 1” the brick layer, I used Shatter on a solid, brick pattern, I precomposed the layer sending the shatter with it. Anyway, using a still from the middle of the shatter (you could also up the viscosity a bunch to slow the shatter down to a crawl), when the brick aren’t widely spaced, I placed “layer 1” in the middle of the path, and sure enough the particle layers weave their way between the bricks… most of the time, a few go through the brick but I bought it. The particles take different ways through the brick field when I moves the brick layer up and down. I liked the look of the dodging particles, maybe it will work for you, pretty quick to test out.
-
Mike Clasby
July 6, 2006 at 4:34 am in reply to: Particles – to weave their way thru layers alpha/brickwork.Hey, I dunno but I may have stumbled across what you need, not perfect but it tries real hard to work.
First, Dan’s expression for magnet repel from an earlier post:
https://forums.creativecow.net/cgi-bin/new_read_post.cgi?forumid=2&postid=729630&archive=T
p = thisComp.layer(“layer 1”).position;
r = 200000; //repulsion constant
dist = length(position,p);
dir = normalize(position – p);
offset = dir*r/(dist*dist);
value + offsetRead the post to see how to adjust the expression.
Anyway I made one particle, made it 3D, set keyframes for position to send it along a path. Later after I add the “layer 1″ (the Brick layer, your skin cells) I duped the particle layers and offset them in the timeline so I have a trail of layers following each other.
So for ‘layer 1” the brick layer, I used Shatter on a solid, brick pattern, I precomposed the layer sending the shatter with it. Anyway, using a still from the middle of the shatter (you could also up the viscosity a bunch to slow the shatter down to a crawl), when the brick aren’t widely spaced, I placed “layer 1” in the middle of the path, and sure enough the particle layers weave their way between the bricks… most of the time, a few go through the brick but I bought it. The particles take different ways through the brick field when I moves the brick layer up and down. I liked the look of the dodging particles, maybe it will work for you, pretty quick to test out.
-
I think 300 dpi is a kind of standard, but I get Photo prints at Costco and they print at 265 dpi beautifully, so somewhere in that range. I hear of people printing at higher res but I don’t really believe they can see the difference, maybe I’m opening a can of worms here. (Go ahead and laugh in the back row, but Costco’s Fuji Crystal Archive Paper (75 years) and you can even get the Store’s Color Profile online and at $3 for a 11×14 or 12×18 print I feel like laughing when I open my wallet (barely open my wallet)).