Forum Replies Created

Page 8 of 16
  • Oleg Pirogov

    March 31, 2019 at 12:28 pm in reply to: Color text set with regex

    You’re welcome!
    If you mean appearing from left to right or smth like that, just add a Range Selector before Expression Selector and change the last line to:
    indexMatched(textIndex-1) ? 100*selectorValue : 0;

    If you by appearing you mean gradually coloring, you can add a Slider Control to control the transition from 0 to 100% and change the last line to:
    indexMatched(textIndex-1) ? effect("Slider Control")("Slider"): 0;

  • Oleg Pirogov

    March 30, 2019 at 10:26 pm in reply to: Changing Color Based on Another Percentage Value

    Hue from 120 -> 0 as the trim path end goes from 100 -> 30.

    Try this:
    end = content("Ellipse 1").content("Trim Paths 1").end;
    hslToRgb([linear(end, 30, 100, 0, 120/360), 1,0.5,1]);

  • Oleg Pirogov

    March 30, 2019 at 12:41 pm in reply to: The script does not work in new versions of AE

    I suppose, we’re not meant to show() closed windows. I guess, the only reason the window appears at all the second time is because it’s a palette which is know to remain in memory after being closed. Doing the same with a dialog will not result in window reappearing.
    And apparently you can’t close a window twice.

    So I would suggest using mw2.hide() instead of mw2.close(). That should work the way you want.

  • Oleg Pirogov

    March 29, 2019 at 11:53 pm in reply to: Motion Blur … present but not blured

    The essence of the problem:

    10*time/thisComp.frameDuration;

    Motion blur we need.

    10*timeToFrames(time);

    Motion blur we deserve (just kidding).

    While time/thisComp.frameDuration equals timeToFrames(time) at each frame, they are not equal in general, cause the former is continuous function of time and the latter is a step function which takes only integer values. In fact, whole-frame moments are the only moments when those functions are equal, but since those moments are usually the only moments observable in AE, the functions seem to behave the same way.

    On contrary, when Motion Blur is applied it needs to evaluate the expression at inter-frame times and that’s where the difference between functions plays out: time/thisComp.frameDuration gives continuous values, while timeToFrames(time) gives just two discreet values, the ones that fall into shutter scope.

    Well, you don’t use timeToFrames(time), but you use this:
    for (var i = t0; i <= t ; i = i + pasT) {
    alpha = alpha + speed(i)*pasT;
    }
    alpha

    – this has the same flaw as timeToFrames(time): it’s not continuous in time but discreet and motion blur has only two rotation states to take samples from. And on the screenshot we see those states “motionblurred”.

    So, in case you still want to use that expression, you should switch to continuous function to calculate the rotation angle.

  • Oleg Pirogov

    March 29, 2019 at 10:40 am in reply to: Motion Blur … present but not blured

    Add: I ask, cause this sort of things:

    (which looks kinda like what you are experiencing) may be caused by cross-referencing + motion blur.

  • Oleg Pirogov

    March 29, 2019 at 10:34 am in reply to: Motion Blur … present but not blured

    Could you please elaborate on how the layers are interconnected through expressions? I mean, what references what?

  • [Steve Bentley] “Hey Oleg,
    Is this really a bug? Which version? I’ve not seen this yet (to 2019PC) and we run some pretty heavy comps.”

    >Which version?
    I suspect, all of them at least before CC 2019. I personally experience it on 15.1.1.
    Here’s a thread on it with a bugged project attached: https://adobe-video.uservoice.com/forums/911311-after-effects/suggestions/34807957-super-annoying-bug-missing-layers-in-timeline

  • The bug occurs when you have many layers:

    Judging by your scroll bar, it might be exactly your case.

    What you can do is to hide some layers from above so the bottom layers will go up and their bar will appear so you can work with them.
    To do that, mark layer from above which you don’t need as “shy” (dude-looking-over-a-fence-icon next to Source Name in layers list) and then hide all the shy layers by clicking the corresponding icon in a panel above.

    Or you can just precompose some layers.

  • Shape Layer position is not the same as your circle center position.

    Your circle center position is layer(“Circle8”).content(“Ellipse 1”).content(“Ellipse Path 1”).position
    Which is [0,0].

    Those coordinates are given in “Ellipse 1” group’s own coordinate space. It’s origin can be found as thisComp.layer(“Circle8”).content(“Ellipse 1”).transform.position – thisComp.layer(“Circle8”).content(“Ellipse 1”).transform.anchorPoint
    Those are position and anchor point of “Ellipse 1” group, both =[0,0] in your case.

    Those coordinates are given in Circle8’s own coordinate space. And Circle8 position is thisComp.layer(“Circle8”).transform.position
    Which is [426.2, 365.1, -45.0].

    But it is a 3D layer shifted along Z-axis (by -45.0) and beam layer is in 2D, so simply taking first 2 coordinates won’t correspond to visible shape layer’s origin position i.e. beam will still be misplaced.
    —————————-

    So you have to take all of this into account (expression for starting/ending point to move it to Circle8’s center):
    posPath=thisComp.layer("Circle8").content("Ellipse 1").content("Ellipse Path 1").position;
    ancGr=thisComp.layer("Circle8").content("Ellipse 1").transform.anchorPoint;
    posGr=thisComp.layer("Circle8").content("Ellipse 1").transform.position;
    p=thisComp.layer("Circle8").toComp(posPath+posGr-ancGr);
    [p[0], p[1]];

    BTW, since you have only changed layer’s position leaving all other values a =[0,0], in your particular case you can just write:
    p=thisComp.layer("Circle8").toComp([0,0,0]);
    [p[0], p[1]];

    BTW, that “toComp” thing is the one that accounts for Z-axis shift of the shape layer.

  • Oleg Pirogov

    March 28, 2019 at 7:56 pm in reply to: Reduce Keyframes Script
Page 8 of 16

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