Forum Replies Created

Page 1 of 2
  • Amir Aizat

    August 16, 2019 at 8:55 am in reply to: Creating ‘outer roundness’ for rectangle shapes.

    Hi Cassius,

    Thanks for your help, I settled for a compromise using Math.max(). Both boxes will become the same size if the gap is too small. It’s a bit of a hassle to set up with more than 2 boxes, but it is doable.

    It works and performs surprisingly well given the amount of expressions involved.

  • Amir Aizat

    August 14, 2019 at 9:05 pm in reply to: Creating ‘outer roundness’ for rectangle shapes.

    Hi Cassius,

    I was thinking of the same thing, but I have this issue:

    https://imgur.com/Z2RaHt0

    It’s at the end of the gif, where the connected illusion breaks.

    The problem with masks I’m facing so far is that it’s not good enough, at least to my knowledge, to maintain this illusion of continuity at smaller gaps.

    View post on imgur.com

  • Amir Aizat

    March 14, 2019 at 9:08 am in reply to: Copy Easing From After Effects to Premiere Pro

    I’m updating this thread to share my solution:

    This method is only possible with AE2019 and PP2019, but can be ported to earlier versions.

    The trick is to copy paste Distort > Transform between the programs. All keyframes and easing transfers perfectly. Values became a bit wonky, so you have to manually fix them.

    Then save them as presets, but as it is, PP earlier than 2018 won’t recognise the ‘Transform’ filter and will not load.

    Open the prfpset file in a text editor like VSCode, search for all text called ‘AE.ADBE Geometry 2’ and replace them with ‘AE.ADBE Geometry’. Now earlier versions of Premiere Pro will be able to load the effects perfectly.

    No more vanilla/inconsistent easing in Premiere Pro! It’s a simple drag and drop and adjusting the keyframes from here on in. Tested on Premiere Pro CC 2015, 2017, 2018 and 2019.

  • Amir Aizat

    March 13, 2019 at 5:52 pm in reply to: Copy Easing From After Effects to Premiere Pro

    Hi Dave,

    Even though it sounds weird, but for the properties with easing that did carry over, it worked perfectly fine.

    What I wanted to do is pretty simple: create a custom easing curve in After Effects that video editors can use in Premiere Pro.

    How I go about to achieve that is to save the keyframes with easing as presets that anyone can import.

    After Effects to Premiere Pro to Preset.

    Position and Rotation worked like a charm, and they loved it that now their simple animations don’t scream ‘vanilla’ anymore, but they do use Scale a lot and that’s why I’m cracking my head on how to work this out.

  • Amir Aizat

    March 13, 2019 at 2:16 pm in reply to: Copy keyframe data from AE to Premiere Pro?

    Hey Alex, that’s a great help, I didn’t know we can do that.

    There’s a problem with the Scale keyframes though, any ease applied in After Effects won’t be imported (but the keyframes itself were imported). Do you know a way around this? I tried exporting as a Premiere Pro project in After Effects as well, but it gave me the same result.

    It’s a shame, it worked really well with Position and Rotation, but not Scale or Opacity.

  • Amir Aizat

    October 26, 2018 at 9:00 am in reply to: Placing Null In A Circle

    Hello,

    I managed to get it to work. Sorry if the initial post is unclear.

    I’ll clarify. The pie parts are just comp sized shape layers with the effect radial wipe applied, they respond to input sliders in a special layer. Then I masked the entire layer with a donut shape layer.

    Basically what I wanted to achieve is to make null objects stick to the middle of a pie part at all times, and which pie part sticks depends on its layer name, so null object “callout 01” will stick to the middle of “pie part 01” at all times.

    With parametric equation for circles, I was nearly there, but that’s when I encountered the issue where my null objects are where they’re supposed to be, but +90 degrees off. But that’s not all, I need it that when I duplicate the callout null, the new null will follow the rotation in counter clockwise.

    So I added an angle control so I can control the start angle to my liking, calculated the percentage of the pie to an angle, then divided it by two.

    Voila, the null objects are stuck to the pie parts.

    Here’s the expression I wrote, it’s not very elegant or anything, but it works.
    var comp = thisComp;
    var ident = name.split(" ")[1];
    var init_pos = comp.layer("Super Anchor").transform.position;

    var start_degree = comp.layer("Controller").effect("Callout Rotation")("Angle");
    var start_angle = degreesToRadians(start_degree);
    var diameter = comp.layer("Controller").effect("Diameter")("Slider");
    var thickness = comp.layer("Controller").effect("Thickness")("Slider");
    var radius = (diameter + (thickness / 2)) / 2;

    var value_layer = comp.layer("Pie Part " + ident)
    var value_target = value_layer.effect("Radial Wipe")("Transition Completion");
    var value_start = value_layer.effect("Radial Wipe")("Start Angle");
    var value_percent = (360 - (value_target / 100 * 360)) * -1;
    var value_degree = value_start + (value_percent / 2);
    var value_angle = degreesToRadians(value_degree);

    var x_position = radius * Math.cos(start_angle + value_angle);
    var y_position = radius * Math.sin(start_angle + value_angle);

    [init_pos[0] + x_position, init_pos[1] + y_position]

    Took me 7 hours because I’m so bad with maths lol.

  • Amir Aizat

    October 25, 2018 at 11:01 am in reply to: Count Number Up with comma and one decimal places

    Dan Ebberts have a solution on his website:

    https://www.motionscript.com/design-guide/counter.html

    I’ve tried it just now and it works great with your values. The only problem is that you have to remove the commas first, but that shouldn’t be too hard by any stretch of the imagination (you can write a simple script or ctrl+f find and replace all “,”).

  • Amir Aizat

    January 4, 2018 at 12:40 pm in reply to: Converting Robert Penner’s easing into expressions

    I found the problem. Posting the solution for people who’s had the same issue

    instead of
    function smoothEaseIn(startTime, endTime, startVal, endVal) {
    var x = easeInQuint(time - startTime, 0, 100, transition);
    return linear(x, startTime, endTime, startVal, endVal);
    }

    function smoothEaseOut(startTime, endTime, startVal, endVal) {
    var x = easeOutQuint(time - startTime, 0, 100, transition);
    return linear(x, startTime, endTime, startVal, endVal);
    }

    it should be
    function smoothEaseIn(startTime, endTime, startVal, endVal) {
    var x = easeInQuint(time - startTime, 0, 100, transition);
    return linear(x, 0, 100, startVal, endVal);
    }

    function smoothEaseOut(startTime, endTime, startVal, endVal) {
    var x = easeOutQuint(time - startTime, 0, 100, transition);
    return linear(x, 0, 100, startVal, endVal);
    }

    Stupid mistake on my part, I can’t believe I missed that!

  • Amir Aizat

    October 5, 2017 at 8:23 am in reply to: After Effects Script – loop through selected items

    It works!

    Brilliant as always, Dan, thank you very much!

  • Amir Aizat

    October 4, 2017 at 10:01 pm in reply to: After Effects Script – loop through selected items

    I hate to be the guy that revives a really old thread, but this is relevant to what I’m doing.

    I’m trying to create a simple script that toggles the motion blur switch for all layers of selected comps. I can’t get it to work because I don’t really understand how to store/call items in an array. I’ve been cracking my head over it and I still don’t get it.

    Posting my code here because the expressions code box can be wonky with ‘<‘

    var proj = app.project;
    var selectedItems = [];

    for(var i = 1; i <= proj.numItems; i++){
    if(proj.item(i).selected){
    selectedItems[selectedItems.length] = proj.item(i); //store selected items in an array? how does this line even work? why .length? why not +=?
    }
    }

    for(var h = 0; h < selectedItems.length; h++){ //loop through all stored selected items in the selectedItems array. .length makes sense to me here.
    for(var c = 1; c <= selectedItems[h].numLayers; c++){ //loop through all layers of the stored item.
    selectedItem[h].layer(c).motionBlur = 1; //do this for all layers.
    }
    }

Page 1 of 2

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