Forum Replies Created

Page 2 of 3
  • Matt Volp

    September 23, 2020 at 8:07 pm in reply to: Link shapes with expressions

    This is super impressive. Love You Gesture Tone2

  • Matt Volp

    September 23, 2020 at 7:56 pm in reply to: Script to change the Line Join of shape layer line

    It’s a drop down menu, so you need to set the value to the index of the option you want.

    So something like this:

    app.project.item(1).layer("Shape Layer 1").property("Contents").property("Shape 1").property("Contents").property("Stroke 1").property("Line Join").setValue(2);
  • Matt Volp

    September 23, 2020 at 7:44 pm in reply to: Randomly fade up/down opacity of masks in a layer

    Yeah.

    seedRandom(a,b)

    takes two arguments. a is the seed itself and b is ‘timeless’.

    If you set timeless = true, the expression won’t reevaluate every frame – I think this is what you need.

    So in summary, try this:

    seedRandom(index,true);
    start = random(1,90);
    transComplete = effect(“Mask Fade Controls”)(“Transition Completion”);
    linear(transComplete, start, start + 10, 0, 100);
  • Sure, try this. Parent the null to the rectangle, and put this expression in the null’s position property.

    myRectangle = //pickwhip your rectangle
    l = myRectangle.sourceRectAtTime().left;
    t = myRectangle.sourceRectAtTime().top;
    h = myRectangle.sourceRectAtTime().height;
    [l,t + h/2];

    It’s worth noting you’ll need to ‘unseparate’ the null’s position dimensions.

  • Matt Volp

    September 14, 2020 at 11:56 am in reply to: Link shapes with expressions

    You could draw the wavy lines as paths, trace them using ‘Create Nulls From Paths’ and then drive the size of the circle by the position of the resulting nulls?

  • Matt Volp

    September 3, 2018 at 2:33 pm in reply to: Custom speeds when easing via expression ease(t,a,b,x,y)

    Hi Tim,

    I’d love to know what the solution to this was.

    Also, could you explain your workaround in a little more detail; it sounds very interesting!

    Cheers.

  • Matt Volp

    March 31, 2018 at 7:37 pm in reply to: Specific word in paragraph be a different color

    Hi Dan,

    What about if the word isn’t surrounded by whitespace?

    For example:

    string = “Hello you people!”

    I want to highlight “people” “you”. Not “people!”.

  • Matt Volp

    January 23, 2018 at 4:12 am in reply to: Lock a layer’s position … when it has an expression

    Or you could get the text layers’ source text from markers on another layer, perhaps a null.

    Apply this to the text layer’s source text:

    txt = value;
    n = 0;
    m = thisComp.layer(“Marker Layer”);

    if (m.marker.numKeys > 0){
    n = m.marker.nearestKey(time).index;
    if (m.marker.key(n).time > time) n–;
    if (n > 0) txt = m.marker.key(n).comment;
    }
    txt

  • Try this (untested):

    slider = thisComp.layer(“Controls”).effect(“Scale width”)(“Slider”);
    t1 = key(2).time;
    t2 = key(3).time;
    t4 = key(4).time;
    t5 = key(5).time;
    v1 = [value[0], value[1]];
    v2 = [slider, value[1]];

    if (numKeys >=6 )
    easeOut(time, t1, t2, v1, v2);
    else
    easeIn(time, t4, t5, v1, v2)

    Matt

  • Matt Volp

    January 23, 2018 at 3:58 am in reply to: Moving position over time and wiggle position

    This should do it:

    inDur = 0.5 // duration of in animation
    wiggleDur = 0.5; // duration of wiggle
    outDur = 0.5 // duration of out animation
    layerWidth = thisLayer.sourceRectAtTime().width; // layer width
    layerHeight = thisLayer.sourceRectAtTime().height; // layer height

    x = layerWidth – (layerWidth*1.5); // “off screen” x position
    y = layerHeight – (layerHeight*1.5); // ”off screen” y position

    if (time < inPoint+inDur)
    linear (time,inPoint,inPoint+inDur,[x,y],[960,540])
    else if (time > inPoint+inDur && time < inPoint+inDur+wiggleDur)
    wiggle (10,20); // arbitrary wiggle values
    else
    linear (time,outPoint,outPoint-outDur,[960,540],[x,y])

    Feel free to change the value of x and y depending on where you would like the “off screen” position to be.

    Assuming that the scale property of the layer you want to animate is set at 100%, the x and y “off screen” positions above will keep the layer perfectly on the edge of the comp, no matter how big the layer. For example, if you were to apply this to a shape layer and resize the shape inside the ‘contents’ parameters, it will automatically adjust.

    Obviously, the total layer duration will have to be exactly the sum of all the duration variables. In this case; 1.5 seconds.

    If you wanted to have the layer wiggle, regardless of time, between the in and out animation, then try this:

    inDur = 0.5 // duration of in animation
    outDur = 0.5 // duration of out animation
    layerWidth = thisLayer.sourceRectAtTime().width; // layer width
    layerHeight = thisLayer.sourceRectAtTime().height; // layer height

    x = layerWidth – (layerWidth*1.5); // “off screen” x position
    y = layerHeight – (layerHeight*1.5); // ”off screen” y position

    if (time < inPoint+inDur)
    linear (time,inPoint,inPoint+inDur,[x,y],[960,540])
    else if (time > inPoint+inDur && time < outPoint-outDur)
    wiggle (10,20); // arbitrary wiggle values
    else
    linear (time,outPoint,outPoint-outDur,[960,540],[x,y])

    This now works regardless of the layer duration.

    Matt

Page 2 of 3

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