Forum Replies Created

Page 1 of 2
  • I guess try to avoid RegEx. I’ve been using it in the expression selector, and it causes a significant delay. I guess it helps to optimize it using “?:” to avoid unnecessary capture groups. Also, Expression-Selector Expressions don’t render in Adobe Media Encoder!

    The other one was Math.apply to get the max/min of an array. It sped up significantly in the new JS engine, but I notice it slows down in the rendering.

  • Joe Richardson

    April 17, 2020 at 12:59 am in reply to: Baking Expression Selector?

    All right. Thank you.

    I contacted Zack Lovatt who created a plugin to do just this type of thing, and he mentioned that it’s not possible to bake the expression animator.

  • Ah, ok.

    I think I got it:

    var myPath = prompt("Directory?", "Paste path")
    for (var i = 1; i <= app.project.numItems; i ++) {
    if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name =="PathString")) {
    var myComp = app.project.item(i);
    myComp.layer("MainPathString")("ADBE Text Properties")("ADBE Text Document").setValue(myPath)
    break;
    }
    }

  • Joe Richardson

    February 21, 2020 at 6:42 pm in reply to: Re-Creating Photoshop’s Opacity Masks

    Ah, thanks. For some reason I couldn’t imagine how to do it, i dont know why. apologies for the dumb question

  • Joe Richardson

    February 21, 2020 at 12:50 am in reply to: Responsive Data Visualization Charts

    I’ve been working on a project that I think is similar to what you’re doing. Youre saying that you want to evaluate a set of data that might change, but the evaluation and animation wont?

    my setup is using different folders, and pointing AE to it using a “Master Path” composition. So like i have 60 folders each with hundreds of data files named the same thing. So all AE has to do is ‘look’ at different folders, and it’ll evaluate the js data to drive animations.

    the way i set it up was i made a master-path composition with a text layer so like D:\Test\ is what the text layer says (make sure that last \ is there). Then all of the other compositions have a text layer referencing the masterpath comp, a text layer with text pointing to the particular individual data you want to point to in the folder. Ex: Camera_X_Position or Humidiy. and finally, a text layer that is called “Humidity Value” that displays the information. In the SourceText of the value layer, i have an expression thats like:


    pathstring = comp("PathString").layer("MainPathString")("Text")("Source Text") // this would refer to the D:\Test\ path
    dataPointer = thisComp.layer("dataPointer").text.sourceText; // this would be "Humidity" or something
    ext = ".js"; // in my case, my data files have the extension .js.
    assemble = pathstring + dataPointer + ext; // this combines the path, the pointer and the extension
    $.evalFile(assemble); // this makes AE evaluate the whole thing.

    From there, you have to do more stuff to get AE to show you the values-on-the-current-frame

  • Joe Richardson

    February 16, 2020 at 12:27 pm in reply to: Slider can’t turn result into a numeric value…

    I did more digging and found the reason: the value it tries to parse has to get checked to see if it’s a number right away.

    I started looking for how to write an “if” statement to do this and found a post by Dan Ebberts on here showing it:

    Sorry for wasting forum space =/

    n = parseFloat(yourText);
    if (isNaN(n)) n = value;
    n

  • Thank you. I feel like an idiot. I had set up all the 4 sRaT variables like you, but I had no idea how to combine them >_>

  • Thanks for the answer! All that was missing was the “_Value” after the “layer(pointer)”, but it works!

    Yesterday’s workaround was using a long else if statement for the value and a Slider Control. So the comp, layer and slider are based on numbers. That way, I just change the slider’s value, and it points to different comps and whatnot for the text layer’s value.

    but, thank you. I had no idea how to get AE to evaluate it as a pointer instead of just text.

    pointer = thisComp.layer("Pointer").text.sourceText.value;
    comp(pointer).layer(pointer + "_Value").effect(pointer + "_Driver_Value")("Slider").value

  • Yes, that works, but I wanted to move the layers behind the negative space to have multiple copies.

    https://i.imgur.com/uTJF0Rj.png

    In this case, the negative space is one layer, so I guess I can use 1 comp for each “negative”. In this case, I’ll have 4 Comps — one for each blank spot — and then another comp for the middle text.

    Thanks!

    View post on imgur.com

  • Something like, I wanna draw a shape layer of any type, and be able to select the “space” that isn’t a shape layer.

    Say if I draw an “X” on my Comp, I want to be able to select the 4 quadrants that make up the empty space in the letter/shape, and use them as mattes.

Page 1 of 2

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