Forum Replies Created

Page 3 of 4
  • Santi Agustí

    August 9, 2017 at 3:15 pm in reply to: Convert Corner Pin to Power Pin

    oh, I see. I’m not at the computer to take a proper look, but I think Dan Fredley, the author of the script himself is on the creativecow, maybe you can ask him?

  • Santi Agustí

    August 9, 2017 at 2:41 pm in reply to: Convert Corner Pin to Power Pin

    have you tried this one? it seems it can do the trick?
    https://aescripts.com/cornerpinner/

  • Santi Agustí

    July 19, 2017 at 11:47 am in reply to: color array with random hold time

    there are a lot of better ways to do this, but this may work :


    colors = [[255,205,45,255]/255,[220,20,60,255]/255,[30,144,255,255]/255,];
    period = 2;
    holdTime = 0.5;
    seed = Math.floor(time/period);
    t = time%period

    seedRandom(seed,true);

    cc =Math.floor(random(colors.length));

    if ( random() > .5 && t < holdTime)
    id = cc;
    else
    id = 0;
    colors[id];

  • I think this answer may lead you to a solution: https://forums.creativecow.net/thread/227/30151
    (and the easeFrames is pretty cool, so you can have a smooth transition, or just change that value with 0 for a jump)

    just change the last line of Philip Neve’s code to make it work on Y, so it can be:


    offsetAmt = 40;
    easeFrames = 10;
    n = 0;
    if (marker.numKeys > 0){
    n = marker.nearestKey(time).index;
    if (marker.key(n).time > time) n--;
    }
    yOffset = 0;
    if (n > 0){
    t = time - marker.key(n).time;
    yOffset = easeOut(t,0,framesToTime(easeFrames),(n-1)*offsetAmt,n*offsetAmt);
    }
    [value[0],value[1] + yOffset];

  • mmm, once again, I’m sure there are a few more elegant solutions, but I’d add a specific time range control for that randomness,
    this works for me:

    delay =framesToTime(effect("delay")("Slider"))
    myDelay = delay*textIndex;
    m = marker
    n = 0;
    if (m.numKeys > 0){
    n = m.nearestKey(time).index;
    if (m.key("out").time > time) n--;
    }
    if (n > 0){
    t = time - (m.key("out").time);
    startVal = 0;
    endVal = 100;

    seedRandom(textIndex,true);
    myDelay = random(delay/.15);
    seedRandom(textIndex,false);
    dur=framesToTime(effect("dur")("Slider"));

    ///////
    startFlicker = m.key("out").time;
    endFlicker =startFlicker+dur+myDelay;
    ///////////////////////

    if (time >framesToTime(startFlicker) && time < endFlicker){
    random(linear(t,myDelay,myDelay+dur,startVal,endVal))
    }

    else {
    ease(time,startFlicker,endFlicker+(dur/2.2),value,endVal)// you can change this for just "endVal" to have an abrupt end but this way it has a mini sort-of fade out of a couple frames
    }

    }

    else
    {
    value
    }

  • Ook, I figured it out at last!
    it’s suuuper messy and it has a lot of redundant code, but it works! (feel free to post a better structured code)
    For this version, you will need 2 checkboxes, one called “random” and other called “flicker”, and 2 sliders: “delay” and “dur”
    and add a “in” layer marker whenever you want the type to start the stuff:

    delay =framesToTime(effect("delay")("Slider"))
    if(effect("random")("Checkbox")==true){
    seedRandom(textIndex,true);
    myDelay = random(delay/.15);
    }else {
    myDelay = delay*textIndex;
    }
    m = marker
    n = 0;
    if (m.numKeys > 0){
    n = m.nearestKey(time).index;
    if (m.key("in").time > time) n--;
    }
    if (n > 0){
    t = time - (m.key("in").time + myDelay);
    startVal = 100;
    endVal = 0;
    if(effect("flicker")("Checkbox")==true){
    if(effect("random")("Checkbox")==true){
    seedRandom(textIndex,true);
    myDelay = random(delay/.15);
    seedRandom(textIndex,false);
    dur=framesToTime(effect("dur")("Slider"));
    if(t

  • oh Stephen, glad to see that! since forever I’m using a very simmilar snippet to store the most common expressions I use (like different kinds of bounces, or some extended wiggles, etc), but referenced to an external comp called “scripts”
    I use this variation, but is the same:

    eval(comp("scripts").layer("bounce01").text.sourceText.toString());

  • it is not the cleanest, but you can apply this to a fill effect:

    markerLayer = thisLayer
    m = markerLayer.marker;
    n = 0;
    if (m.numKeys > 0){
    n = m.nearestKey(time).index;
    if (m.key(n).time > time) n--;
    }

    seedRandom(n,true);
    color1=thisComp.layer("Colors").effect("Color Control")("Color");
    color2=thisComp.layer("Colors").effect("Color Control 2")("Color");
    color3=thisComp.layer("Colors").effect("Color Control 3")("Color");
    color4=thisComp.layer("Colors").effect("Color Control 5")("Color");
    //etc

    colors = [color1,color2,color3,color4];

    idx = Math.floor(random(colors.length));
    colors[idx]

  • Santi Agustí

    June 29, 2016 at 4:18 pm in reply to: alpha in/out on markers with option to flicker

    wait, there was a couple small bugs!
    I’m attaching here a fixed working file:
    10243_alphaflickr.aep.zip

  • Santi Agustí

    June 28, 2016 at 12:50 am in reply to: alpha in/out on markers with option to flicker

    what about this?
    it works for me:

    freq = effect("freq")("Slider");
    amp = effect("amp")("Slider");

    din=framesToTime(effect("durationIn")("Slider"))
    don=framesToTime(effect("durationOut")("Slider"))

    seedRandom(index,false);
    initVal=0;
    endVal=100;
    wendVal =wiggle(freq,amp)

    if (marker.numKeys > 1){
    t1 = marker.key("in").time;
    t2 = marker.key("out").time;

    animateIn = ease(time,t1,t1+din, initVal,endVal);
    animateInFlickr = ease(time,t1,t1+din, initVal,wendVal);
    animateOut= ease(time,t2+don,t2,endVal,initVal);
    animateOutFlickr=ease(time,t2+don,t2,wendVal,initVal);

    if (time < (t1+t2)/2)
    if(time>=don){endVal}else{
    if(effect("flickr in")("Checkbox")==true)
    { animateInFlickr;}else{animateIn;}}

    else{
    if(time

    I know it's messy and dirty, if any expression meister here could tidy up the code maybe it can look better, buuut anyway now it works...

    //

    You can also add an extra nice pulse opacity effect linking the endVal to a slider. You should also add a checkbox, and this code on the slider (which can be called endVal)


    freq = 5;
    amp = 3;
    base = 90;
    innerPulse=base + amp*Math.sin(freq*time*Math.PI*2)

    if(effect("innerPulse")("Checkbox")==true){
    innerPulse;}else{value}

    so when the checkbox is on, there will be a pulse between the "in" and "out" markers, but if checkbox is off, just the value at the slider. Of course the more sliders you link paramerers to, more options you will have in order to animate, but it can get a bit messy on the Effect Controls (I'd use Pseudo Effects to have it less messy)
    happy flickering!

Page 3 of 4

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