Forum Replies Created

Page 14 of 597
  • Kevin Camp

    January 28, 2021 at 6:18 pm in reply to: TEXT ANIMATION – RANDOM POSITION ORDER REVEAL

    If you are using a character animator, you can prevent the interpolation between positions by setting the ‘smoothness’ to 0 (Animator > Range Selector > Advanced > Smoothness). That work make each letter ‘pop’ from the position to the origin if the Offset animated from 0 to 100. And if Randomize Order is ‘on’ (in the same Advanced property group) then they would pop in place in a random order.

    The hard part is to get random positions for each character individually. I was able to get something that might work for you. Do the setup outlined above: add a character animator for position, set the position to something like 500, 500 (you can change it later), animate the offset to go from 0 to 100, set the smoothness to 0 and the randomize order to ‘on’.

    If you scrub thru the animation the word should be positioned off the origin and each letter should pop in place randomly.

    To get random positions for each letter click the menu arrow next to ‘add’ to the right of the Animator in the timeline and choose Selector > Expressions, and then try this expression:

    seedRandom( textIndex + text.animator("Animator 1").selector("Range Selector 1").advanced.randomSeed, true ) ;

    x = selectorValue[0] * random( -1, 1 ) ;

    y = selectorValue[1] * random( -1, 1 ) ;

    z = selectorValue[2] * random( -1, 1 ) ;

    [ x, y, z ]

    That should randomize the positions of the characters. You can now fiddle with the Animator’s Position property and also the Random Seed in the Advanced settings to effect the random positions of the letters

  • Kevin Camp

    January 28, 2021 at 4:22 pm in reply to: Random but predefined increments for counter

    Are you using hold keyframes on your slider? AE will interpolate between keyframes unless you set the keyframes to hold. To do so, select all the keyframes and then right-click on one fo them and choose ‘Toggle Hold Keyframes’

  • Kevin Camp

    January 28, 2021 at 4:14 pm in reply to: Resampling image source (size) within after effects

    Filip’s method is a great way to do it within AE, but if you are doing this often I think Daniel’s method is probably less work in the long run. You can also create droplet that in Photoshop that can run the resizing action, then you just drop the images onto an icon on your desktop and Photoshop will resize them.

    This page describes how to create the droplet:

    http://uozdesign.com/make-your-first-photoshop-resize-droplet

  • I give up…

  • PRE tag was still messed up… sorry, I’m just going to test a little with this post…

    
    

    this should be

    preformatted text

    this should not be preformatted….

  • Good catch… it looks like it’s an issue with how different characters line up with the anchor point. Try typing an ‘A’ then enter on the numbers pad and note where the corner of the ‘A’ is relative to the anchor. Then do the same for an ‘I’ and notice where the anchor is relative to the edge of the ‘I’.

    I was able to fix it, but the set up is a little different (a bit simpler actually). Hopefully it will still work for you checkbox control.

    I would start fresh with two new text lines and no null. Make both text lines left-justified this time and parent the lower text line to the upper line and make sure the lower line’s x-position is 0 (this will make sure the left edges are always aligned).

    Now add this expression to the upper text line’s position:


    
    

    target = thisComp.layer("lower line") ;

    rect1 = sourceRectAtTime() ;

    rect2 = target.sourceRectAtTime() ;

    w1 = rect1.width ;

    w2 = rect2.width ;

    x = Math.max( w1, w2 ) ;

    value - [ x, 0 ]

    Since the lower line is parented to the upper line, we don’t need an expression for the lower line (bonus!).

    You should be able to use the same expression for the text background shape layer, however if you used the position expression in the transform>position property, you will need to cut/paste it to the Rectangle Path>Position property (it’s just bellow the size property). Before it didn’t matter which position property but it will for this set up.

    Then parent the shape layer to the upper text line and position it as needed to lineup correctly.

    And I think that should do it (and hopefully I set the PRE tag correctly this time).

  • Kevin Camp

    January 27, 2021 at 9:21 pm in reply to: Text color according to background color

    If you wanted your original concept, with just green and yellow, you could try working in black and white, then colorize it with an adjustment layer. How successful this method will be will depend largely on how much contrast you can create in you background. If you can make it truly black and white vs shades of gray, then it should be pretty successful.

    So step one would be to make your background B&W, if you can simple make the green parts black and the yellow white, then you’re ready to go. If it’s not quite that simple, then I’d try Threshold and adjust it until you separate those colors into black or white. Possibly using the tint effect (to make the background gray scale) and then levels, curves or other effect to adjust contrast as needed may work.

    Once you have a B&W background, you can simply do what Graham mentioned, but use white text and set the blending mode to Difference. This should make any text over white black and any text over black white. If there are shades of gray the text will also become a shade of gray, so that’s why contrast is important in the background.

    The you can colorize everything back to yellow and green with an adjustment layer and adding the tint effect. Click the white chip and set it to yellow and set the other chip to green.

  • It’s just a HTML tag for preformatted text: https://www.w3schools.com/tags/tag_pre.asp

    I used to use them in posts for expressions due to occasional issues with certain characters/symbols not showing up correctly in the post. It also separated the expression in a box. It kind of works now, but only applied to the first line of the expression…. I’m likely doing something wrong.

    It looks like all the characters are ok, so I think it should be ok.

  • evidently the posts don’t like the PRE tag anymore, or I’m doing something wrong…. let me know if you have trouble separating our what is expression and what is not. Sorry.

  • It’s tricky.

    I would set both lines of text to be right-justified and parent them to a null. set the position of the upper line to 0,0 (to align with the null) and set the lower line’s x-position to 0 and the y-position to whatever it needs to be to be below the upper line.

    then try this expression for the upper line’s position:

    target = thisComp.layer("lower line") ;

    rect1 = sourceRectAtTime() ;

    rect2 = target.sourceRectAtTime() ;

    l1 = rect1.left ;

    l2 = rect2.left ;

    x = Math.min( l1, l2 ) + rect1.width ;

    [ x, value[1] ]<pre/>

    The use the same expression for the lower line, but change the target layer to be the upper line.

    At this point the shorter text line should reposition to align with the left side of the longer line.

    I'll assume you are using a shape layer for the background box, if so, parent that to the null and try this in the size property:

    target1 = thisComp.layer("upper line") ;

    target2 = thisComp.layer("lower line") ;

    rect1 = target1.sourceRectAtTime() ;

    rect2 = target2.sourceRectAtTime() ;

    w1 = rect1.width ;

    w2 = rect2.width ;

    pad = 30 ; // set as needed

    w = pad + Math.max( w1, w2 ) ;

    h = 80 ; // set as needed

    [ w, h ]

    and this for the position property:

    target1 = thisComp.layer("upper line") ;

    target2 = thisComp.layer("lower line") ;

    rect1 = target1.sourceRectAtTime() ;

    rect2 = target2.sourceRectAtTime() ;

    w1 = rect1.width ;

    w2 = rect2.width ;

    x = Math.max( w1, w2 ) / 2;

    value - [ x, 0 ]

    I think that should get you close to what you are asking for

Page 14 of 597

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