Jamie Bradshaw
Forum Replies Created
-
I’m afraid you’ll have to excuse my expressions Dan, I’m a bit of a novice and therefore it can be a bit untidy and unconventional. I was aiming to tidy it all up once I had it working.
What I am trying to achieve is to have a number of layers that are distributed along a bezier curve. The bezier curve is defined by the position of a number of layers (point000, point001 etc) in another composition.
I have this working, but I wanted the flexibility to be able to have any amount of point layers in my other composition.
d is defined at the start…
d = effect(“distribution”)(“Slider”); //normalised value of where this layer is distributed along the bezier curve
and in that Slider, I have this expression:
if (index == 1) {
i1 = 0;
} else {
i1 = ((index – 1) / (thisComp.numLayers – 1));
} -
Hi again. I have pasted the (work-in-progress) expression I have in a layers position property below.
The problem I have is that I am looking to have a multi-dimensional array. The line that says:
tempPos[b] = add(posArray[b], mul(sub(posArray[b+1], posArray[b]), d));
I was hoping to be able to use this instead:
tempPos[a][b] = add(posArray[b], mul(sub(posArray[b+1], posArray[b]), d));
d = effect(“distribution”)(“Slider”);But it throws back a syntax error. Can anyone help? Sorry if this all seems a bit vague, I can try and clarify it a bit more if needed.
// Position expression
targetComp = comp(“controller”);
posArray = [0, 0, 0];
numPoints = 0;for (i=1; i <= targetComp.numLayers; i++) { L = targetComp.layer(i); if (L.name.substr(0,5) == "point") { numPoints++; posArray[numPoints] = L.position; } } a = (numPoints - 1); tempPos = [0, 0, 0]; while (a > 1) {
for (b=1; b<=a; b++) { tempPos[b] = add(posArray[b], mul(sub(posArray[b+1], posArray[b]), d)); } a--; } -
Thanks Filip.
I might be back for further help with this as I’m still finding it a bit tricky to get what I’m after. 😉
Jamie
-
ah I see thanks a million Dan. 🙂
Still a bit confused as to why it has that syntax. My way seems to make more sense, but who am I to argue! 🙂
-
Thanks Lloyd, I’ll go and check that out. I think picking up the whole concept of scripting might be a little too much for me at this moment in time.
Jamie
-
Jamie Bradshaw
February 11, 2008 at 10:18 am in reply to: how to get ‘actual’ width of a text layer.Ah okay, thanks Dan.
I haven’t had much dealing much with scripting. Would this be a difficult thing to do?
-
Hi Kim.
Are you using this expression on a rotation property? If so, you need to make sure it returns just one value, as opposed to two.
So replace:
[val,val]
… with just:
valJamie
-
Is it a 3D layer? At a guess, the disappearing might be because the wiggle is making it move back behind another layer in the z-plane.
One solution might be to add a Transform effect, and apply the wiggle expression to the position controller within the Transform effect.
-
Hi Bluriie.
In the past I have used .rla renders from 3DS MAX which I know have a channel for z-depth information, which you can then access in AE by using effects from effects>3D channel.
I can’t remember any way of exporting paths though.
I am about to look into using Max2AE myself. So far it looks like it will allow you to do some pretty cool stuff.
Jamie
-
Thanks Dan.
I wish After Effects had an expression library.
Jamie