Kevin Camp
Forum Replies Created
-
you could use three actual keyframes and a valueAtTime() expression linked to the slider you described…
first, create the 3 position keyframes. then add this expression to the position property:
slider = effect("Slider Control")("Slider");
n = Math.max(1,Math.min(slider,numKeys));
valueAtTime(key(Math.floor(n)).time)if you’d rather enter in position values, you could type them into an array and use this expression:
slider = effect("Slider Control")("Slider");
posArray = [[100,100], [300,300], [500,500]];
n = Math.max(0,Math.min(slider,posArray.length-1));
posArray[n]the position values can be in 3 dimensions [x,y,z] if needed.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
it sounds like you don’t need it to repeat, so i omitted that part, but this should do it.
essentially it just uses the original expression until time exceeds the tStart time, then it does the modified expression.
choices = "GTCA";
str = "THIS IS THE TEXT STRING THAT APPEARS";
tStart = 1; //time at which the animation starts
tStop = 4; //time at which the animation stop
cps = 20; // characters per secondif (time < tStart){
seed = Math.floor(time*cps);
seedRandom(seed,true);
s = "";
for (i = 0; i < str.length; i++){
idx1 = Math.floor(random(choices.length));
s += choices[idx1];
}
}
else if (time >= tStart && time < tStop){
seed = Math.floor(time*cps);
seedRandom(seed,true);
s = "";
sRand = "";
for (i = 0; i < str.length; i++){
idx1 = Math.floor(random(choices.length));
idx2 = Math.floor(linear(time,tStart,tStop,0,1)*str.length);
sRand += choices[idx1];
s = str.substr(0,idx2) + sRand.substr(idx2,str.length);
}
}else{
s = str;
}
sKevin Camp
Art Director
KCPQ, KZJO & KRCW -
ole, i must apologize for not fully reading your post, where you had clearly stated that you were looking for something similar to that decoder preset that i recommended. (DOH!)
looking at the expression, i think you just need to combine substrings of the random string and the final string, something like this:
choices = "GTCA";
str = "THIS IS THE TEXT STRING THAT APPEARS";
tStart = 0; //time at which the animation starts
tStop = 3; //time at which the animation stop
cps = 20; // characters per second
tStartAgain = 4; //time at which the animation restarts
if ((time > tStart && time < tStop) || time > tStartAgain){
seed = Math.floor(time*cps);
seedRandom(seed,true);
s = ""
sRand = "";
for (i = 0; i < str.length; i++){
idx1 = Math.floor(random(choices.length));
idx2 = Math.floor(linear(time,tStart,tStop,0,1)*str.length);
sRand += choices[idx1];
s = str.substr(0,idx2) + sRand.substr(idx2,str.length);
}
}else{
s = str;
}
sKevin Camp
Art Director
KCPQ, KZJO & KRCW -
i’d try turbulent displace…
create a solid and add a simple straight line with the pen tool
add the stroke effect
add turbulent displace and animate the evolutions and possibly the offset.
add the echo effect, set number of echoes to 5-10, decay to .75 (or so) and adjust the echo time to suit, and you should be pretty close.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
you might try the text preset ‘decoder fade in’.
if you don’t want the fade in portino, twirl down the text properties to get to text>animator>opacity and either set it to 100% or delete it all together. (note if you remove the opacity change, you may want to use a fixed width/mono space font to prevent character overlap)
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
i think you are looking for the text preset ‘pistons’
from the effects & presets panel, twirl down animation preset>presets>text>mechanical (or type ‘pistons’ in the search field in the panel)
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
April 28, 2014 at 5:05 pm in reply to: Adding focus blur and depth of field to C4D file within After Effects[Bastian Beuttel] “I guess there is no effect that ships with After-Effects that can work with the velocity / motion vector pass?”
I haven’t used it, there is a ‘warp layer’ option in the motion blur settings of the timewarp effect that is for motion vectors.
if you have a motion vector pass you might give that try and see how that goes.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
April 25, 2014 at 8:55 pm in reply to: Scale multiple objects from an AI document as if they were a flat imagecreate a new null, then select all the ai layers and parent them to the null, then scale the null.
you can also use that null to reposition all the layers.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
and you can get rid of the seam in the back by duplicating the start map layer, add the offset effect, setting the x value to the layer width and dragging that bellow the original star map layer.
then ad a mask to that original star map layer, sectioning off about the middle 1/2 or 1/3 and then increasing the feather of the x component to blend them together.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
it’s pretty simple.
before taking the star map comp into the next comp and adding cc sphere, drag it onto the new comp icon. name it star map2
duplicate the star map layer, name it pole 1 and add the polar coordinates effect ans set the interpolation to 100.
then add the linear wipe effect set the angle to 0 and the completeness to around 75-80% and feather to about 15% of the comp height, or whatever seems to make it blend with the original star map layer.
once you have it the way you like it, duplicate that pole 1 layer and rotate it 180.
now that that comp (start map2) into the next comp and cc sphere it.
as you rotate it around you shouldn’t see the pinching and the poles.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW