Kalleheikki Kannisto
Forum Replies Created
-
Kalleheikki Kannisto
August 24, 2018 at 9:44 am in reply to: if this then that random color expressionThe expression would go in the color value, so you need to set the color to another color. The easy way would be to pick it from another color value. Since you want an ease, you would have to calculate a percentage between two color value depending on how close the Soundkeys output is to 1. So if you wanted it to ease from 0.8 to 1, you’d calculate the mix using those two points as the 0-100 scale.
Another option is to animate the hue/saturation effect so that the color gets changed through effect strength. Or perhaps VCP Color Vibrance as an effect, that has the same color logic as Sabre, I believe.
Kalleheikki Kannisto
Senior Graphic Designer -
I’m not going to attempt to interpret the code, but from the looks of it, you need to add the new points (6 through 13) in a number of locations in the code. I marked the points where I saw you’d have to add code, using the same calculations but updating the variable names for each.
“… through…” means all values between following the same logic. You want to keep track of, on a piece of paper, the different variable namings. In one spot the points 6-12 are added instead 6-13. I guess the last interval is handled differently.
Theoretically this could work.
rSt=thisComp.layer(“EDIT”).effect(“StartRadius”)(“ADBE Slider Control-0001”);
rMid=thisComp.layer(“EDIT”).effect(“MiddleRadius”)(“ADBE Slider Control-0001”);
rEnd=thisComp.layer(“EDIT”).effect(“EndRadius”)(“ADBE Slider Control-0001”);SA=thisComp.layer(“EDIT”).effect(“StartAngle”)(“ADBE Angle Control-0001”);
EA=thisComp.layer(“EDIT”).effect(“EndAngle”)(“ADBE Angle Control-0001”);m1=thisComp.layer(“L3”).effect(“m1”)(“ADBE Slider Control-0001”);
m2=thisComp.layer(“L3”).effect(“m2”)(“ADBE Slider Control-0001”);
m3=thisComp.layer(“L3”).effect(“m3”)(“ADBE Slider Control-0001”);
m4=thisComp.layer(“L3”).effect(“m4”)(“ADBE Slider Control-0001”);
m5=thisComp.layer(“L3”).effect(“m5”)(“ADBE Slider Control-0001”);
m6=thisComp.layer(“L3”).effect(“m6”)(“ADBE Slider Control-0001”);
m7=… through
m13= …timeNew=thisComp.layer(“Marker”).effect(“Marker_0-5000”)(“ADBE Slider Control-0001”);
tN=ease(timeNew, m1, m13, [0], [1]);
Rad=Math.pow(1-tN, 2)*rSt+2*tN*(1-tN)*rMid+Math.pow(tN, 2)*rEnd;
P1=thisComp.layer(“P1”).transform.position;
P2=thisComp.layer(“P2”).transform.position;
P3=thisComp.layer(“P3”).transform.position;
P4=thisComp.layer(“P4”).transform.position;
P5=thisComp.layer(“P5”).transform.position;
P6=thisComp.layer(“P6”).transform.position;
P7=… through
P13=…P0=[P1[0]+Rad, P1[1]];
P02=[P13[0]-Rad, P13[1]];t11=easeIn(timeNew, m1, m2, [0], [1]);
t22=linear(timeNew, m2, m3, [0], [1]);
t33=linear(timeNew, m3, m4, [0], [1]);
t44=linear(timeNew, m4, m5, [0], [1]);
t55=easeOut(timeNew, m5, m6, [0], [1]);
t66 =… through
t1313 = …if(timeNew= m2 && timeNew=m3 && timeNew=m4 && timeNew=m5 && timeNew=m6 through timeNew =m12) t5=1 else t5=0;
t=t11*t1+t22*t2+t33*t3+t44*t4+t55*t5+t65*t6 through t1212*t12;
pM2=(P1+P2+P3+P4+P5+P6+P7 though P13)/13;
n1=thisComp.layer(“P1”).transform.position;
n2=thisComp.layer(“P2”).transform.position;
n3=thisComp.layer(“P3”).transform.position;
n4=thisComp.layer(“P4”).transform.position;
n5=thisComp.layer(“P5”).transform.position;
n6=thisComp.layer(“P6”).transform.position;
n7=… through
n13= ….
L1=length(P0, pM2);
L2=length(P0, P1);
L3=length(P1, pM2);L12=length(P02, pM2);
L22=length(P02, P13);
L32=length(P13, pM2);q=(Math.pow(L2, 2)+Math.pow(L3, 2)-Math.pow(L1, 2))/(2*L2*L3);
a=Math.acos(q);
a2=radiansToDegrees(a);
a3=ease(a2, 0, 180, [135+SA], [45+SA]);q22=(Math.pow(L22, 2)+Math.pow(L32, 2)-Math.pow(L12, 2))/(2*L22*L32);
a22=Math.acos(q22);
a222=radiansToDegrees(a22);
a322=ease(a222, 180, 0, [45+EA], [135+EA]);
u=ease(tN, 0, 1, [a3], [a322]);a4=degreesToRadians(u);
r1=[n1[0]+Rad*Math.cos(a4), n1[1]+Rad*Math.sin(a4)];
r2=[n2[0]+Rad*Math.cos(a4), n2[1]+Rad*Math.sin(a4)];
r3=[n3[0]+Rad*Math.cos(a4), n3[1]+Rad*Math.sin(a4)];
r4=[n4[0]+Rad*Math.cos(a4), n4[1]+Rad*Math.sin(a4)];
r5=[n5[0]+Rad*Math.cos(a4), n5[1]+Rad*Math.sin(a4)];
r6=[n6[0]+Rad*Math.cos(a4), n6[1]+Rad*Math.sin(a4)];
r7=… through
r13=…note: this will make a conflict with variable naming r12, so that variable name need to be changed here
r12=(r1+r2)/2;
r22=(r2+r3)/2;
r32=(r3+r4)/2;
r42=(r4+r5)/2;
r52=(r5+r6)/2;
r62=… through
r132=…r61=r52;
r21=2*r2-r22;
r31=2*r3-r32;
r41=2*r4-r42;
r51=2*r5-r52;
r61= through
r131=…rv11=(1-t11);
rv21=Math.pow(rv11, 2);
rv31=Math.pow(rv11, 3);
tp21=Math.pow(t11, 2);
tp31=Math.pow(t11, 3);
rv12=(1-t22);
rv22=Math.pow(rv12, 2);
rv32=Math.pow(rv12, 3);
tp22=Math.pow(t22, 2);
tp32=Math.pow(t22, 3);
rv13=(1-t33);
rv23=Math.pow(rv13, 2);
rv33=Math.pow(rv13, 3);
tp23=Math.pow(t33, 2);
tp33=Math.pow(t33, 3);
rv14=(1-t44);
rv24=Math.pow(rv14, 2);
rv34=Math.pow(rv14, 3);
tp24=Math.pow(t44, 2);
tp34=Math.pow(t44, 3);
rv15=(1-t55);
rv25=Math.pow(rv15, 2);
rv35=Math.pow(rv15, 3);
tp25=Math.pow(t55, 2);
tp35=Math.pow(t55, 3);
rv16=(1-t66);
rv26=Math.pow(rv16, 2);
rv36=Math.pow(rv16, 3);
tp26=Math.pow(t66, 2);
tp36=Math.pow(t66, 3); … throughtp313=Math.pow(t1313, 3);
rY1=rv31*r1+3*t11*rv21*r12+3*tp21*rv11*r21+tp31*r2;
rY2=rv32*r2+3*t22*rv22*r22+3*tp22*rv12*r31+tp32*r3;
rY3=rv33*r3+3*t33*rv23*r32+3*tp23*rv13*r41+tp33*r4;
rY4=rv34*r4+3*t44*rv24*r42+3*tp24*rv14*r51+tp34*r5;
rY5=rv35*r5+3*t55*rv25*r52+3*tp25*rv15*r61+tp35*r6;
rY6=… through
rY13=…r=t1*rY1+t2*rY2+t3*rY3+t4*rY4+t5*rY5+t6*rY6 through t13*rY13;
Kalleheikki Kannisto
Senior Graphic Designer -
I have attempted the same exact thing once myself in Photoshop. It was impossible to match up the first and the last frame, and other weird things happened, like the object (or camera) seemed to move differently to how I had set the keyframes up. The end result was that I gave up and went back to a 3D program. I kinda doubt PS 3D is ready for this level of control.
Kalleheikki Kannisto
Senior Graphic Designer -
Kalleheikki Kannisto
August 22, 2018 at 11:16 am in reply to: How to freeze an expression at a specific timeAdd a “value +” at the beginning of the last line of the expression. In that way the manual value of the property is added to the expression, frozen or not. (You may need to change the original value of the property for this to work as expected.)
Kalleheikki Kannisto
Senior Graphic Designer -
Works fine for me in CC2018. The slider values need to be integers; the expression on the slider should take care of that.
Chunk of text: You can’t span two lines with this code. The only thing you can (possibly) do is to use non-breaking spaces between some words so as to force them to highlight together. But they would have to be on the same line, nevertheless.
What would have to happen to be able to highlight a chunk of text on multiple lines is that you’d have have as many copies of this setup as the maximum number of words you needed to highlight, and a sliders to tell the first and the last word. The number of copies of the highlighting code that would be activate at a given moment would depend on the number of words between the first and the last. The existing setup is complex enough for me, so I wouldn’t want to try that.
Kalleheikki Kannisto
Senior Graphic Designer -
Kalleheikki Kannisto
August 22, 2018 at 10:47 am in reply to: Typewriter with blinking Cursor/ disable CursorUse the original expression.
Kalleheikki Kannisto
Senior Graphic Designer -
Kalleheikki Kannisto
August 22, 2018 at 10:27 am in reply to: Use different effects in text animatorThe brute force approach would be to have each letter in their own layer with its own turbulent displacement settings applied.
Kalleheikki Kannisto
Senior Graphic Designer -
No idea, but if you can send me the file I can take a look and see if there’s something that can be done.
Kalleheikki Kannisto
Senior Graphic Designer -
Kalleheikki Kannisto
August 19, 2018 at 5:02 pm in reply to: After Effect Composition background glitch?Purge memory and disk cache, restart After Effects, restart computer…
Kalleheikki Kannisto
Senior Graphic Designer -
Kalleheikki Kannisto
August 19, 2018 at 4:55 pm in reply to: Typewriter with blinking Cursor/ disable CursorThe simplest way would be to replace “time” with a slider that you can move forward and back so as to make time go backwards.
Kalleheikki Kannisto
Senior Graphic Designer