Forum Replies Created

Page 19 of 277
  • Filip Vandueren

    February 14, 2023 at 3:23 pm in reply to: Animate two directions

    It’s important to think about what happens exactly when the small circle changes direction: should the other circles stay where they are, and only start following down when their “leader” has passed their own y-value ?

    Or should they stretch? All of them moving proportionally back at the same time until the smallest one goes beneath the zero mark?

    Or does changing direction cause a rippling wave ?

  • Filip Vandueren

    February 13, 2023 at 1:37 pm in reply to: Every Video i render Has a thin Half pixel border

    Before you render, if you look at just the alpha channel in the comp viewer, are the lines present there ?

    Perhaps your layers are 1 pixel smaller than your comps, and your composition background – if set to white – will not show you the “holes”. If you then render via Adobe Media Encoder (Just an assumption as your project is full of MP4s), AME forces a black background color.

  • Filip Vandueren

    February 13, 2023 at 10:38 am in reply to: Where to place expression?

    In a pinch, an adjustment layer with the transform effect could affect the precomp if it’s placed beneath it.

    But again that’s not idiot-proof…

    Maybe just structure the project as a template, where the team can only add footage in a media precomp, and that precomp is used elsewhere with the right expression set up?

  • Filip Vandueren

    February 12, 2023 at 11:42 am in reply to: bendable line with balls

    Here’s a super simple version using Text on Path:

    https://imgur.com/a/QOn91bp

    View post on imgur.com

  • Filip Vandueren

    February 10, 2023 at 2:18 pm in reply to: Where to place expression?

    The expression needs to be set up where it is used, so on the scale of the layer in the main comp.

    New pre-comps could be replaced into the main comp instead of added, and that way the expressions and other settings/effects that are in place remain, is that an option ?

  • Filip Vandueren

    February 10, 2023 at 10:59 am in reply to: Extendscript .split expression error

    as a hack you could maybe do this ?

    split = (text.sourceText.value+”,,,”).split(“,”).slice(0,3);

    there will always be at least 3 (possibly empty) items in the array this way

  • Hoi Tineke,

    since we can’t change the font size per line, we’d have to do it with a text animator.

    The example you chose works well since a 120% scale applies at amount -100 will give 80% scale.

    here’s the recipe:

    – Add a text animator for Scale

    – set the scale value to 120

    – give it an expression selector based on lines

    – give it this expression:

    lines = thisLayer.text.sourceText.value.split(/\r\n|\r|\n|\x03/);
    l = lines[textIndex-1].length;
    if (l<7) {
    100;
    } else if (l<12) {
    0
    } else {
    -100;
    }

    Don’t forget to set the text’s Anchor Point grouping to Line also (Text -> More options) otherwise only the individual characters will become smaller in place.

    Depending on your paragraph alignment, you might also need to adjust the Grouping Alignment ([0,0] for centered text, [-100,0] for left aligned, [100,0] for right aligned)

    NB: I’ve also added \x03 to the linesplitter, that’s the character After Effects uses for a soft linebreak (shift-enter)

  • Filip Vandueren

    February 7, 2023 at 2:18 pm in reply to: Combining 2 Expressions

    Instead of the custom addCommas() method you can also use the built-in method:

    num.toLocaleString('en-us');

    and if you want decimals, don’t use Math.round() in the first line but:

    num = effect("Point Control")("Point")[0];
    txt = num.toLocaleString('en-us', {maximumFractionDigits: 2});

    This will limit it to max 2 decimal digits.

    if you always want 2 decimals (123.00) then:

    txt = num.toLocaleString('en-us', {minimumFractionDigits: 2, maximumFractionDigits: 2});

  • Filip Vandueren

    February 6, 2023 at 1:28 pm in reply to: Find selected Layers with part of name.

    try:

    if (layers[i].name.indexOf("scale")>-1) {

    or for case insensitive matching:

    if (layers[i].name.match(/scale/gi)!==null) {
  • I think this does the trick:

    const ind = (textIndex-1) % (textTotal/2);

    then replace all following uses of textIndex by ind

Page 19 of 277

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