Micheel Leavitt
Forum Replies Created
-
Micheel Leavitt
July 30, 2009 at 4:15 pm in reply to: script for quickly chopping up giant image in AE?**If you want the layers to be sliced into rectangles, this could work too:
https://nabscripts.com/downloads_en.html
-
Micheel Leavitt
July 30, 2009 at 3:59 pm in reply to: script for quickly chopping up giant image in AE?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…
-
Ah, guess I should have done a little more exploring, I would have found it. Thank you so much, this works astoundingly.
-
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!
-
Micheel Leavitt
July 24, 2009 at 8:13 pm in reply to: Convert audio to keyframes data in Source text layercool, 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 +”,” + zI like yours better tho, much cleaner. Thanks a lot man!
-
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!
-
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.
-
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 DXWorks 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!