Jacob Roth
Forum Replies Created
-
Jacob Roth
June 21, 2018 at 5:46 pm in reply to: Expression to return last value when Checkbox is enabledDan you’re blowing my mind. I didn’t even know there were third and fourth parameters to the wiggle expression. What do they control?
-
If anybody still needs to have the feather stop, I figured it out with Dan’s help (meaning Dan figured it out).
You’ll need a null with a slider control that handles oscillation frequency and a checkbox control that starts and stops the fall.
Position:
yVelocity = 100; //pixels per second
oscFreq = thisComp.layer(“Null 1”)(“Effects”)(“Oscillation Frequency”)(“Slider”); //oscillations per second
oscDepth = 200; //oscillation depth (pixels)
drift = 25; // drift (wind?) (pixels per second: – = left, + = right)
chkBx = thisComp.layer(“Null 1”)(“Effects”)(“Fall”)(“Checkbox”);
n = 0;
if (chkBx.numKeys > 0){
n = chkBx.nearestKey(time).index;
if (chkBx.key(n).time > time) n–;
}
t = 0;
curTime = time;
if (n > 0){
for (i = n; i > 0; i–){
if (chkBx.key(i).value > 0){
t += (curTime – chkBx.key(i).time);
}
curTime = chkBx.key(i).time;
}
if ((curTime > 0) && (chkBx.key(1).value > 0)) t += curTime;
}else{
if (chkBx.value > 0) t = time;
}
value + [oscDepth*Math.sin(oscFreq*Math.PI*2*t) + drift*t,
yVelocity*t,0]Y Rotation:
oscFreq = thisComp.layer(“Null 1”).effect(“Oscillation Frequency”)(“Slider”);
maxTilt = 15; //degrees
chkBx = thisComp.layer(“Null 1”)(“Effects”)(“Fall”)(“Checkbox”);
n = 0;if (chkBx.numKeys > 0){
n = chkBx.nearestKey(time).index;
if (chkBx.key(n).time > time) n–;
}
t = 0;
curTime = time;
if (n > 0){
for (i = n; i > 0; i–){
if (chkBx.key(i).value > 0){
t += (curTime – chkBx.key(i).time);
}
curTime = chkBx.key(i).time;
}
if ((curTime > 0) && (chkBx.key(1).value > 0)) t += curTime;
}else{
if (chkBx.value > 0) t = time;
}maxTilt*Math.cos(oscFreq*Math.PI*2*t)
-
Jacob Roth
June 21, 2018 at 1:34 pm in reply to: Expression to return last value when Checkbox is enabledYep, that did it.
How translatable is the checkbox control for pausing an expression to other types of expressions. Like, if I want to be able to pause a wiggle?
-
Jacob Roth
June 13, 2018 at 6:26 pm in reply to: Black Flash Frame on RAM Preview with Dynamically linked footageFor further info – the problem resolves itself temporarily if I save, quit, and reopen the AE file.
-
You’ve gotten me to my answer, and it has nothing to do with sourceRect.
I just put the start point of the stroke on a slider, and I’ll slide the stroke into position. Not automatic, but close enough.
-
This almost works, unless the title is too long and makes the value go over 100%.
I think it would be better if I had two strokes around the title, with their x positions pegged to sourceRect. I’m not so worried that the length of the two strokes be identical to the top stroke.
Thanks for your help. I didn’t know about gap in expression language.
-
I wouldn’t want the outer points to move inward for shorter names, but outward for longer names would be good.
I have everything set up except the line’s lengths. I’ve tried getting the strokes just to change position with the title’s rectangle, but can’t seem to get it to work right.
A little more info. I’ve included a gif so that you can see further complications. The lines have trim paths on them with a linear expression attached to a null.
-
Jacob Roth
May 14, 2018 at 6:22 pm in reply to: Animation starts to work only when another property reaches an established valueI think you’ll want the linear expression hooked up to a expression slider on a null.
The linear expression works by taking one set of values doing the math to interpolate them to another set of values. So, you would want to put this expression on the range selector of each of your text layers
range = thisComp.layer(“YOUR NULL”).effect(“Slider Control”)(“Slider”);
linear(range, 0, 10, 0, 100); // Change the first two numbers to be the keyframed values you want for the slider for each layerEssentially what this is telling the range selector is “As the null slider goes from 0 to 10, change the range selector value from 0 to 100.
-
Even better than moving the layer is to use the loopOut expression. Here’s a video that will teach you all about it.
https://www.youtube.com/watch?v=QoOnfuEkz9M
Some contents or functionalities here are not available due to your cookie preferences!This happens because the functionality/content marked as “Google Youtube” uses cookies that you choosed to keep disabled. In order to view this content or use this functionality, please enable cookies: click here to open your cookie preferences.
-
Precisely this. Sorry if I was unclear.
