Kevin Camp
Forum Replies Created
-
Kevin Camp
May 15, 2017 at 10:12 pm in reply to: How to have multiple icons be a part of 1 graphic when zoomed out.I’d layout all the icons in the shape of the question mark. you could do this in after effects, or you could do it in illustrator or photoshop (obviously illustrator has the advantage of maintaining your vector artwork).
if you did it in after effects, you’d then bring that question mark comp into a new comp (if you did it in ai, or ps you’d just import that file into ae and add it to the new comp). then you’d do your scaling animation to go from close up to wide, or you could make it a 3d layer and animation the z-position.
if you are looking for a short-cut to making laying out all the icons in the shape of a question mark, then a particle plugin like trap code’s particular could help out. you’d need to set the emitter to be a layer grid, setting the question mark as the layer emitter and the grid settings as needed, and then create a custom particle with all the icons… if you have particular, i can help with that.
if you go this route of the photoshop route, you’ll also need to make the dimensions of the question mark large enough so the close-up won’t need to be scaled up beyond 100%.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
if it happens when you are just opening after effects (not opening a project), you might try reseting the preference file. Quit AE and then restart it holding Ctrl+Alt+Shift (Windows) or Command+Option+Shift (OS X). Clip OK at the prompt.
if it’s while opening a project, turn caps-lock on and try opening the project. if that works, hide all the layers that are visible in the open comp and then click the caps-lock. then, one-by-one re-enable the layers to try and find the layer(s) that is causing the issue crash. once you found that layer (or layers), see what’s different about that layer — it’s often a third-party effect, or possibly a media codec — then troubleshoot from there.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
May 15, 2017 at 3:50 pm in reply to: Animate stroke with gradient on it that follows the strokes shape.the vegas effect may work for you. you’d need to set the number segments to 1 and file with the midpoint opacity, midpoint position and maybe the end opacity values to get the length. and set the stroke to use the mask/path.
if you needed the length to adjust to speed, you’d need to manually keyframe the midpoint position, or we could use an expression.
the echo effect could also work. i’d use the circle effect to create a circle, and animate the center property (if you have a path already, you can sect the mask path and copy/paste that into the center property). then add the echo effect, increasing the number of echoes, decreasing the decay value and changing the echo operator to composite in back. adjusting the echo time can help smooth out the ‘stepping’.
if you don’t use the circle effect (maybe you animate a circular layer/shape layer around), you can still use echo, just add it to an adjustment layer above the animated circle. note, that adjustment layers will effect all layers below it.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
you can split layers pretty easily in ae… position the cti where you want to split the layer, then hit command-shift-d (osx) or ctrl-shift-d (windows) and it will duplicate the layer, splitting it at the cti.
i’m not sure how that will jive with how the script handled changing the text in the text layer, but assuming that it put in keyframes for the source text changes, i think it should work.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
the write-on effect could create a trail of dots that follow the motion path.
- select the position property of the layer that is tracking the fish and copy those key frames
- add write-on to either a new comp sized solid (or the footage itself, but I’ll describe the new solid method).
- twirled own the layer properties to get to effects>write-on>brush position, select that property and paste the position keyframes from the other layer.
- in the ‘paint style’ property set it from ‘on original’ to ‘on transparent’
as you scrub thru the timeline, a line should follow the motion path of the fish.
adjust the brush spacing property to make it a solid line or a series of dots.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
not exactly… but you may be able to manipulate motion paths to control the particles they move to a certain area…
here’s one tutorial on motion paths, but there are others: https://vimeo.com/17376842
Foam allows control of the motion of particles using a grayscale map. so you might be able to manipulate that effect to get what you want… here’s a really old tutorial on using ‘flow maps’ in foam: https://www.creativemac.com/2004/02_feb/tutorials/positiveluv.htm
it’s not a 3d particle system, so it may not work for what you need….
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
the less-than sign was replaced by ‘<‘ when posting…
I also should have added the ‘else’ in case there were no keyframes…. i’ll try the expression with a performated tag:
dur = 5; // value in seconds if ( numKeys > 0 ) { loopDur = key(numKeys).time - key(1).time; if ( time < dur ) valueAtTime( time % loopDur ) else valueAtTime( dur % loopDur ); } else { value; }essentially the expression is using the valueAtTime() function to build a loop. by using the modulus (that’s the % sign function) of the current time for a given period (in this case loopDur, that is derived by the times of the first an last keyframes), you can create your own looping expression.
using the if statement, it will loop until the time specified by the ‘dur’ variable.
valueAtTime( due % loopDur ) just sets the value (or point in the loop) to hold at that time specified by ‘dur’.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
i should have mentioned that the expression would go in the position property of the first layer (‘day’ layer).
And here is a corrected expression:
pad1 = 20;
pad2 = 20;
pad3 = 20;
pad4 = 20;
pad5 = 20;
totPad = pad1 + pad2 + pad3 + pad4 + pad5;
totWidth = sourceRectAtTime().width;
for ( i = 1; i < 5; i++ ) {
totWidth = totWidth + thisComp.layer( index + i ).sourceRectAtTime().width;
}
x = thisComp.width / 2 - ( totPad + totWidth ) / 2;
[ x, value[1] ]Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
yes, but it gets kind of messy…
you need to total up the widths and padding values of all 6 text layers, divide that by 2 and then subtract that from half the comp width….
try this (i can’t test it right now, but I think it will be close, just change the pad values to reflect your expression settings):
pad1 = 20;
pad2 = 20;
pad3 = 20;
pad4 = 20;
pad5 = 20;
totPad = pad1 + pad2 + pad3 + pad4 + pad 5;
totWidth = sourceRectAtTime().width;
for ( i = 1; i < 5; i++ ) {
totWidth = totWidth + thisComp.layer( index + i ).sourceRectAtTime().width;
}
thisComp.width / 2 - ( totPad + totWidth ) / 2Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
if you have good foreground objects that are static and nothing passes in front of, then ae’s old tracker should work pretty well.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW