Forum Replies Created

Page 3 of 3
  • **If you want the layers to be sliced into rectangles, this could work too:

    https://nabscripts.com/downloads_en.html

  • Hi, I think this may be what you are looking for:

    https://www.redefinery.com/ae/view.php?item=rd_Slicer

    It even has a dockable UI panel to make things easy. BTW, just curious, why do you need a 30Kx30K video layer? It seems a little much…

  • Micheel Leavitt

    July 28, 2009 at 4:15 am in reply to: new random value every time

    Ah, guess I should have done a little more exploring, I would have found it. Thank you so much, this works astoundingly.

  • Micheel Leavitt

    July 27, 2009 at 6:40 am in reply to: new random value every time

    Hehe, I tried to make sense of your code, but I’m lost. I changed the variable “t” to a random number and a random color array and I finally got AE to accept what I was trying to make, but it was a fail, it just gives one random color. Here is what I got:

    threshold = 10.0;

    audioLev = thisComp.layer(“Audio Amplitude”).effect(“Both Channels”)(“Slider”);

    above = false;
    frame = Math.round(time / thisComp.frameDuration);
    while (true){
    t = random();//edited
    if (above){
    if (audioLev.valueAtTime(t) < threshold){ frame++; break; } }else if (audioLev.valueAtTime(t) >= threshold){
    above = true;
    }
    if (frame == 0){
    break;
    }
    frame–
    }
    if (! above){
    t = 0;
    }else{
    t = random();//edited
    }
    seedRandom(t,true)
    random([0,0,0,1],[1,1,1,1])//this final output when channel hits 10?

    I see it works perfectly the way it is for scaling, which totally rocks, but I’m at a loss since it seems pretty condensed, and I don’t really know programming too well. If you have an idea as to how to chop it up a bit to allow it to call colors, sweet, if it won’t work ah well, didn’t realize it would be that complex. Thanks for the help tho!

  • cool, thanks Dan, I also found another way to do it just now:

    L = thisComp.layer(“Audio Amplitude”).effect(“Left Channel”)(“Slider”);
    R = thisComp.layer(“Audio Amplitude”).effect(“Right Channel”)(“Slider”);
    B = thisComp.layer(“Audio Amplitude”).effect(“Both Channels”)(“Slider”);
    d = 100; // set your decimal places: 10ths, 100ths, 1000ths, etc.
    x = Math.round(L*d)/d;
    y = Math.round(R*d)/d;
    z = Math.round(B*d)/d;
    x +”,” + y +”,” + z

    I like yours better tho, much cleaner. Thanks a lot man!

  • Micheel Leavitt

    July 24, 2009 at 7:45 pm in reply to: “Follow the leader” in 2D with Scaling

    this kinda works, but it isn’t really amazing and instant…

    I remade your project kinda using circles and a quickly drawn motionpath. Then I set the anchorpoint to the left-most edge of the circle (y value is still centered) then I figured you keyframed the path, so I wrote this for the follower’s position:

    //apply to duplicated follower layer
    x=thisComp.layer(“Null 1”).effect(“pos offset slider”)(“Slider”)/1000;
    thisComp.layer(index – 1).transform.position.valueAtTime(time – x)

    then I did this for scale of the leader:

    //apply to leader layer
    x = transform.position[0];
    s = ease(x,0,720,100,50);
    [s,s,s]

    then I offset the follower’s scale by .1 according to the leader, and to make them stay close to each other I just went through the timeline and keyframed the null slider for position so that whenever there was a break in the line I would nudge them together (hence the “/1000” at the end) I got them pretty close through the whole thing, so this should do the trick if someone doesn’t have a magical math problem that does it all for you. Hope it helps!

  • Micheel Leavitt

    July 19, 2009 at 6:09 pm in reply to: SampleImage to duplicated layers :0

    It does work, flawlessly, until you apply the position expression I used.

    //Original code courtesy of Dan Ebberts of motionscript.com
    numRows = thisComp.layer(“Null 1”).effect(“num Rows”)(“Slider”);
    numCols = thisComp.layer(“Null 1”).effect(“Num Columns”)(“Slider”);
    row = Math.floor((index – 1)/numCols);
    col = (index – 1)%numCols;
    x = col*width/(width-thisComp.layer(“Null 1”).effect(“xOverlap”)(“Slider”)/100);
    y = row*height/(height-thisComp.layer(“Null 1”).effect(“yOverlap”)(“Slider”)/100);
    xOffset = numCols-thisComp.layer(“Null 1”).effect(“xStart”)(“Slider”);
    yOffset = numRows-thisComp.layer(“Null 1”).effect(“yStart”)(“Slider”);
    z = effect(“Final Range Value”)(“Slider”);
    poz = [x,y,0] + [xOffset,yOffset,z];

    its just your grid expression with some sliders, and when I duplicate it, they all follow the original layer’s sample, not a new sample for the offset. It works if you wiggle it though.

  • Micheel Leavitt

    July 18, 2009 at 2:47 am in reply to: SampleImage to duplicated layers :0

    It didn’t work ): I tried changing it to look like this:

    target = effect(“Spectrum Layer”)(“Layer”);
    area = [width/2,height/2];
    x = thisLayer.fromWorld(toWorld(anchorPoint));
    s =s =target.sampleImage([x[0],x[1]],area);
    r = rgbToHsl(s);
    ease(r[2],0,1,-125,125)

    It didn’t work. If the position expression is off, it will work properly. If the position expression is turned back on (tested multiple times)it will take the sample from it’s position before the expression was turned on, and apply it to all duplicates (pieces are 15×15 if this helps, NTSC comp settings) The strangest part of all though…I don’t know why, but if I do this in this order it will work:

    Turn off position expression
    Turn off slider that has sample expression
    Turn on position expression
    Duplicate until grid is done
    Turn on the sample expression on EVERY layer, one at a time DX

    Works perfectly if you do this, and why??? I thought maybe because sampleImage is somehow glitched, but I don’t know anything about it really except it usually works great, until this. If this will help, the position expression is the same as the one posted above, and the new sample expression is:

    //I know its redundant, just in case the target is 3D for some reason
    target = effect(“Spectrum Layer”)(“Layer”);
    area = [width/2,height/2];
    x = target.fromWorld(toWorld(anchorPoint));
    s =s =target.sampleImage([x[0],x[1]],area);
    r = rgbToHsl(s);
    ease(r[2],0,1,-125,125)

    The steps I took up top work with the original sample expression as well, which really makes this strange to me. If anyone has an idea, any info on this would be great!

Page 3 of 3

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