Forum Replies Created

Page 27 of 65
  • Andrei Popa

    June 24, 2020 at 9:20 am in reply to: sourceRectAtTime& Text Tracking

    You can try this.
    I used linear for the value because if I directly inserted the value, tracking would be set correctly but the text would not change.
    Basically, what I did is measure the text at -1 time(outside comp, before tracking), and set tracking to change from 0 to the calculated value in the frame before zero.
    For calculating the value, I divided the difference between actual size and desired size by the number of letters-1. Also, if the text is larger, the tracking stays at zero. If you want to change this, change last line to linear(time, 0 – thisComp.frameDuration, 0, 0, diff / numLetters)


    actualWidth = sourceRectAtTime(-1, false).width;
    desiredWidh = 250;
    diff = desiredWidh - actualWidth;
    numLetters = text.sourceText.value.split("").length;
    diff > 0 ? linear(time, 0 - thisComp.frameDuration, 0, 0, diff / numLetters) : 0;

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 24, 2020 at 9:05 am in reply to: Move keyframes in timeline using expressions

    Also, I have not checked this with a csv file but with some values I manually inserted. You may have to change some stuff to correctly take the values from the csv file.

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 24, 2020 at 9:04 am in reply to: Move keyframes in timeline using expressions

    I am a little confused. You said you have km as stops but you used x position and y position.

    However, if you want a straight line, like a loading bar, and your train to move on that, you can use this on x position.

    sPos is what you want your start value to be. I chose 100 away from the edge of my comp. Same for ePos(just end).
    minValue and maxValue are the minimum and maximum kilometer you provided here. You can change this to whatever you want also. They should be the maximum and minimum value of the column you take your data from.


    var sPos = 100; //start position value.
    var ePos = 1820; //end position value
    var minValue = 105769; //min from table
    var maxValue = 120458; //max from table
    myData = thisComp.layer("PositionXPositionY.csv")("Data")("Outline");
    i = 1;
    while (myData("Times")("Times " + i).value < time && i < myData("Times").numProperties - 1) i++;

    initTime = myData("Times")("Times " + (i - 1)).value;
    endTime = myData("Times")("Times " + i).value;
    initRawPosition = eval(myData("PositionX")("PositionX " + (i - 1)).value);
    endRawPosition = eval(myData("PositionX")("PositionX " + i).value);
    initPosition = linear(initRawPosition,minValue, maxValue,sPos,ePos);
    endPosition = linear(endRawPosition,minValue,maxValue,sPos,ePos);

    linear(time, initTime, endTime, initPosition, endPosition);

    Similar to this technique, you can also turn it into percentage for trim paths. If you take this expression, and modify sPos and ePos to 0 and 100, and put it on a trim paths end property, you will have a line that fills according to the data from your table.

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 23, 2020 at 12:02 pm in reply to: Move keyframes in timeline using expressions

    I need more data to answer you.
    What kind of data you have in your CSV? This expression works on position with the data being coordinates for those positions.

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 17, 2020 at 7:57 am in reply to: Scale and Rotate in Proportion to other Layers

    I suppose what you try to do is modify the scale/rotation of a lot of layers by the same amount. If yes, you need to put those 2 values in an expression controller. If the scale has always same height/width values or has separated dimensions, you could use 2 sliders. So put 2 sliders on a control layer. Use this expression for scale

    valueToAdd = //pickwhip the slider one here;
    value+[valueToAdd,valueToAdd]

    And this for rotation

    value+//pickwhip the slider two here

    Just replace “//” and everything after with your pick-whip generated code, so final expression for scale should look something like this. The same for rotation.

    valueToAdd = thisComp.layer("Control layer").effect("Scale control")("Slider");
    value+[valueToAdd,valueToAdd]

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 10, 2020 at 8:32 am in reply to: Shared variables

    You should add a slider control to your layer and pick whip that value.

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 8, 2020 at 7:55 am in reply to: sourceRectAtTime collapse transformations

    I don’t understand this behavior.
    Can you attach one or two photos?

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 6, 2020 at 8:05 am in reply to: sourceRectAtTime collapse transformations

    Here is an expression for bottom left anchor point

    var left = sourceRectAtTime(time,false).left;
    var myHeight = sourceRectAtTime(time,false).height;
    var top = sourceRectAtTime(time,false).top;
    [left,myHeight+top]

    Andrei
    My Envato portfolio.

  • Andrei Popa

    June 4, 2020 at 7:29 am in reply to: creating ‘universal’ variable within a comp

    I just think you need to insert a (“Slider”) before value.

    time-(thisComp.layer("expressionControl").effect("variableSlider")("Slider").value)*thisComp.frameDuration)

    However, I would do it like this, to be easier to read:

    diff = thisComp.layer("expressionControl").effect("variableSlider")("Slider").value;
    time-diff*thisComp.frameDuration;

    Andrei
    My Envato portfolio.

  • Download a cracked version of cc2017 from some torrent and test it there. That is how i do it. I am not sure there is an alternative.
    You could also check the changelogs of after effects to see whats new in mogrt(2018 and later), so you don’t use those features.

    Andrei
    My Envato portfolio.

Page 27 of 65

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