Forum Replies Created

Page 23 of 597
  • Kevin Camp

    January 23, 2018 at 6:53 pm in reply to: adobe after effects error 33::4

    here’s a link to the process — as cassius mentions, you don’t want to download, save or install anything more the drive that has your project files to avoid overwriting any old files. the link names a few tools. I’ve never used any of them, but hopefully one can work for you.

    https://www.wikihow.com/Recover-Overwritten-Files

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 23, 2018 at 12:22 am in reply to: adobe after effects error 33::4

    you might look into some data recovery tools…. you may be able to recover a previously saved version of your file (before it was corrupted).

    many of those tools will allow you to search for file type, so you could try and search for ae projects and hopefully find an earlier version of your project to recover.

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 19, 2018 at 11:01 pm in reply to: Setting a min length while using sourceRectAtTime

    you can use a Math.max() function… it would allow you to select the greater value of either A or B…

    say you had this:

    A = 100 ;
    B = 20;
    Math.max( A, B )

    it would return 100, since 100 is larger than 20.

    so if you had this:

    A = 100 ;
    B = sourceRectAtTime().width ;
    W = Math.max( A, B )

    if B was less than 100, W would equal 100, if B was greater than 100, then W would equal B

    Just FYI, Math.min() works the same but returns the smaller value.

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 19, 2018 at 6:26 pm in reply to: After Effect Checkbox Color Control Fill

    you can’t really do it with checkboxes… you will encounter logic issues when trying to execute expressions that are dependent on other expressions.

    you can do it with a slider, so 1 would be a color, 2 would be another color, etc…

    also, unless you like writing colors in rgb values, i would keyframe the colors you want in the color picker, then use an expression on that color control to the value.

    so if you add a sider expression control to your layer, the expression for the color control could look like this:

    n = effect(“Slider Control”)(“Slider”) ;
    key( Math.floor( clamp( n, 1, numKeys ) ) ).value

    [edit]

    i just tested it and you can omit the Math.floor bit… so this works for the last line:

    key( clamp( n, 1, numKeys ) ).value

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 19, 2018 at 1:02 am in reply to: Expression to autospeed typing

    here’s an expression for the offset property of a text animator:

    rate = 20 ;
    n = text.sourceText.length ;
    d = time * rate ;
    if ( n > d ) d else n

    remember to set the units to index (in the advanced properties of the range selector) and to increase the end property to exceed the maximum amount of text that you will type (or use the text.sourceText.length expression)

    if the pinpoint of the layer is not at the first frame of the comp, change line 3 to this:

    d = ( time – inPoint ) * rate ;

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 18, 2018 at 6:10 pm in reply to: Expression to autospeed typing

    it’s a little easier if you do it without text animators…

    try this in the source text property:

    rate = 20 ; // characters per second
    txt = text.sourceText ;
    n = txt.length ;
    d = time * rate ;
    if ( n > d ) txt.substr( 0, d ) else txt ;

    you can do something similar with a text animator, but you’ll likely want to change the ‘units’ from percentage to index. you’ll also have to add a text.sourceText.length expression to the end property so that it is always the correct length — or you might be able to set it to a very high value, high enough that your text would never exceed it….

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 17, 2018 at 5:52 pm in reply to: Looking for a way to seamlessly loop a diagonal layer

    i would remove the current keyframes, then duplicate the shape layer and maybe change the color of the duplicate line (you’ll use the duplicate as a reference to line up the original line, so having it look different from the origin will help).

    then add a position keyframe for the original line in it’s current position at the first frame. move down the time line some amount and reposition that shape layer to move the direction needed, but line it up with the duplicate line.

    if you shorten the work area in the timeline to match your keyframes and preview, it should loop pretty well. you might notice a slight hitch at the endpoint. this is due to the first and last keyframe positions lining up perfectly. to eliminate that hitch, move backwards one frame from the last position keyframe and add a new keyframe, then delete the last keyframe. adjust the work area and make sure it loops correctly.

    now you can use a simple expression to make that animation loop. select the position property and choose animation>add expression. then copy/paste this expression:

    loopOut()

    if you expand the work area back out and preview the animation, it should loop continuously (and seamlessly).

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • the attribute you are looking for is ‘active’.

    try this:

    target = thisComp.layer(“My Layer”) ;
    p1 = [ 100, 100 ] ;
    p2 = [100, 400 ] ;
    if ( target.active == true ) p1 else p2 ;

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 16, 2018 at 6:32 pm in reply to: Opacity semi-random issue

    you could try using posterizeTime() to have a new random value generated every 8 frames (instead of every frame):

    hold = 8 ; // value in frames
    fps = 1 / thisComp.frameDuration / hold ;
    posterizeTime( fps ) ;
    r = random( 0, 100 ) ;
    if ( r < 90 ) 0 else 100 ;

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

  • Kevin Camp

    January 15, 2018 at 9:13 pm in reply to: Opacity semi-random issue

    you’re close… you just need to assign the random value to a variable and compare that variable to 90 to set the opacity….

    r = random( 0, 100 ) ;
    if ( r < 90 ) 0 else 100 ;

    note, if the less than sign gets replaced with < manually replace it with the symbol.

    Kevin Camp
    Art Director
    KCPQ, KZJO & KRCW

Page 23 of 597

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy