Forum Replies Created

Page 61 of 277
  • Filip Vandueren

    February 16, 2021 at 7:39 am in reply to: Show a property using Extendscript

    No, the hack only works on properties that have canSetExpressiom=true

    And it is a hack, there’s no official way to show or hide anything in the timeline via scripting.

  • If you create a moment in time where only line 1 is visible and 1 where only line 2 is visible, you can use the sourceRectAtTime() for those specific time stamps.

    That time can be for example -1 and -2 seconds.

    You should use a textanimator that sets the scale of the characters to 0 at those times, setting the opacity to 0 does not remove characters from the sourceRect Bounds

  • Filip Vandueren

    February 15, 2021 at 5:40 pm in reply to: What are Scalar properties?

    A scalar is a number, as opposed to an array for example.

    SampleImage will return an array of 4 numbers

    A position or anchorpoint is a vector/array of 2 or 3 numbers (in 3D)

    It looks like you want to do a linear() on the anchorPoint? You would need a[0] to look at the x-value or a[1] for the y-value.

    But perhaps you wanted to look at the alpha of the sampleImage which would be f[3]

  • Hm,

    you could add minimum- and maximumFractionDigits like this:

    compacter = Intl.NumberFormat('en-us', { notation: "compact",  maximumFractionDigits: 3});
    num = thisComp.layer("NUMBER CONTROLLER").effect("Point Control")("Point").value[0];
    compacter.format(num);

    which would give you 999.999K

    But it is indeed always a true “round”, not a floor.

    -> 999,998.8 will also be 999.999K

    Which to me makes perfect sense and wouldn’t be a problem in most animations settings.

    But there’s always the option you have, problem is that you hjave to rewrite that expression every time the numbers gain 3 orders.

    Alternatively, compacter.formatToParts(num) would give an array of the individual parts ‘integer, decimal, fraction,compact) so you could use that to have javascript give you the ocrrect abbreviation K,M, B… and do your own rounding

  • Filip Vandueren

    February 14, 2021 at 10:42 pm in reply to: Show a property using Extendscript

    I just came up with this hack:

    // prop we want to reveal:
    prop = app.project.item(1).layer("Shape Layer 1")("Contents")("Shape 1")("Contents")("Path 1")("Path");
    // reveal in timeline Hack:
    originalExpression = prop.expression;
    prop.expression= "1/0"; // create an expression error
    //reveal expression errors:
    app.executeCommand( app.findMenuCommandId("Reveal Expression Errors") );
    $.sleep(1); // wait 1 ms
    // reset expression to previous value
    prop.expression = originalExpression;

    It does seem to hide the properties that were previously visible though…

  • It’s built in to Javascript via the Internationalisation object.

    Try this:

    compacter = Intl.NumberFormat('en-us', { notation: "compact" });
    num = thisComp.layer("NUMBER CONTROLLER").effect("Point Control")("Point").value[0];
    compacter.format(num);
  • Filip Vandueren

    February 13, 2021 at 9:01 pm in reply to: Trim path end with set value + wiggle?

    You could do this:

    w=wiggle(2,10) - value;
    trimStart + 10 + w; // pseudocode

    By subtracting the original “value” from wiggle() you get just the relative randomization which you can then add to any other calculation.

  • I can’t replicate the error.

    Check in the Graph Editor, and enable the “Show post expression Graph” button on the property and you should see a nice continous line, if not, you should be able to trouble shoot it better by looking at what it is doing in the graph.

  • Filip Vandueren

    February 4, 2021 at 10:14 am in reply to: Framing a comp using another comp?

    Here’s how I do this:

    • In the “Framing Comp”, where a copy of the footage lives, create a “Framing Solid” that has the same dimensions as your footage
    • Parent it to the footage.
    • In the other comp that you want framed add these expressions to the footage layer.

    anchorPoint:

    L = comp("Framing Comp").layer("Framing Solid");
    L.parent.fromComp(L.toComp([L.width/2, L.height/2]));

    position:

    [thisComp.width/2,thisComp.height/2];

    scale:

    s=comp("Framing Comp").layer("Framing Solid").transform.scale[0];
    value * [100/s];

    rotation:

    comp("Framing Comp").layer("Framing Solid").transform.rotation * -1;

    This way postition, scale, and rotation will be implemented from the framing Solid, and you can freely change the anchorPoint of the framing solid which can help in certain rotation and zoom effects.

    BTW, it is absolutely a practical and more intuitive way to handle these kinds of pan & scan effects.

  • Filip Vandueren

    January 28, 2021 at 9:05 am in reply to: Resampling image source (size) within after effects

    Right click on the footage and select “create Proxy -> Still”

    Then, in the render setting set it to half resolution.

    Don’t forget to render the final output with proxies enabled.

Page 61 of 277

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