Forum Replies Created

Page 1031 of 1081
  • Dan Ebberts

    March 27, 2006 at 2:15 pm in reply to: controlling time remap with an expression.

    Try this expression for time remapping:

    seedRandom(index,true);
    time + random(outPoint)

    Dan

  • Dan Ebberts

    March 27, 2006 at 2:15 pm in reply to: controlling time remap with an expression.

    Try this expression for time remapping:

    seedRandom(index,true);
    time + random(outPoint)

    Dan

  • Dan Ebberts

    March 24, 2006 at 5:59 pm in reply to: AE 7 Expressions – anything new?

    AE 7 has at least a couple of welcome changes related to creating expressions.

    In most cases now, when you change a layer’s name it doesn’t break expressions pointing to that layer.

    Saving a preset now has a new behavior that’s very handy for expression writers. If you save an expression as a preset for a property that has no keyframes, only the expression is saved – not the property’s static value. In 6.5, for example, if you wrote an expression for a bouncing ball and saved it as a preset, when you applied the preset to another layer, the layer would jump to the position of the layer that you used to create the preset. Now, the layer will stay where you put it.

    Dan

  • Dan Ebberts

    March 24, 2006 at 5:59 pm in reply to: AE 7 Expressions – anything new?

    AE 7 has at least a couple of welcome changes related to creating expressions.

    In most cases now, when you change a layer’s name it doesn’t break expressions pointing to that layer.

    Saving a preset now has a new behavior that’s very handy for expression writers. If you save an expression as a preset for a property that has no keyframes, only the expression is saved – not the property’s static value. In 6.5, for example, if you wrote an expression for a bouncing ball and saved it as a preset, when you applied the preset to another layer, the layer would jump to the position of the layer that you used to create the preset. Now, the layer will stay where you put it.

    Dan

  • Dan Ebberts

    March 23, 2006 at 8:37 pm in reply to: dynamic motion using expressions

    I think an expression like this would work for layers 2 thru n:

    totalDelay = .5; // delay of last object (seconds)
    myDelay = totalDelay/(thisComp.numLayers – 1)*(index – 1);
    thisComp.layer(1).position.valueAtTime(time – myDelay)

    As layer 1 speeds up the string will spread out. As you add more layers, the others will squeeze together to make room. The expression assumes there aren’t any layers in the comp except the leader and the followers. Adjust “totalDelay” to get the spacing you want.

    Dan

  • Dan Ebberts

    March 23, 2006 at 8:37 pm in reply to: dynamic motion using expressions

    I think an expression like this would work for layers 2 thru n:

    totalDelay = .5; // delay of last object (seconds)
    myDelay = totalDelay/(thisComp.numLayers – 1)*(index – 1);
    thisComp.layer(1).position.valueAtTime(time – myDelay)

    As layer 1 speeds up the string will spread out. As you add more layers, the others will squeeze together to make room. The expression assumes there aren’t any layers in the comp except the leader and the followers. Adjust “totalDelay” to get the spacing you want.

    Dan

  • Dan Ebberts

    March 22, 2006 at 7:10 pm in reply to: expressions help.

    Try this expression for position:

    freq = 2; //oscillations per second
    amp = 50; //oscillation amplitude

    delta = amp*Math.sin(time*freq*2*Math.PI);
    if (position.speed != 0){
    v = normalize(position.velocity);
    v = [-v[1],v[0]];
    value + v*delta;
    }else{
    value;
    }

    Dan

  • Dan Ebberts

    March 22, 2006 at 7:10 pm in reply to: expressions help.

    Try this expression for position:

    freq = 2; //oscillations per second
    amp = 50; //oscillation amplitude

    delta = amp*Math.sin(time*freq*2*Math.PI);
    if (position.speed != 0){
    v = normalize(position.velocity);
    v = [-v[1],v[0]];
    value + v*delta;
    }else{
    value;
    }

    Dan

  • Play around with this:

    myEndTime = 4;
    decay = 5;

    segMin = 1.0; //minimum segment duration
    segMax = 3.5; //maximum segment duration
    minVal = [0.1*thisComp.width, 0.1*thisComp.height];
    maxVal = [0.9*thisComp.width, 0.9*thisComp.height];

    end = 0;
    j = 0;
    if (time < myEndTime){ t = time; }else{ t = myEndTime + (1 - 1/Math.exp(time - myEndTime))/decay; } while ( t >= end){
    j += 1;
    seedRandom(j,true);
    start = end;
    end += random(segMin,segMax);
    }
    endVal = random(minVal,maxVal);
    seedRandom(j-1,true);
    dummy=random();
    startVal = random(minVal,maxVal);
    ease(t,start,end,startVal,endVal);

    The layers don’t completely stop, but it might be close enough.

    Dan

  • Play around with this:

    myEndTime = 4;
    decay = 5;

    segMin = 1.0; //minimum segment duration
    segMax = 3.5; //maximum segment duration
    minVal = [0.1*thisComp.width, 0.1*thisComp.height];
    maxVal = [0.9*thisComp.width, 0.9*thisComp.height];

    end = 0;
    j = 0;
    if (time < myEndTime){ t = time; }else{ t = myEndTime + (1 - 1/Math.exp(time - myEndTime))/decay; } while ( t >= end){
    j += 1;
    seedRandom(j,true);
    start = end;
    end += random(segMin,segMax);
    }
    endVal = random(minVal,maxVal);
    seedRandom(j-1,true);
    dummy=random();
    startVal = random(minVal,maxVal);
    ease(t,start,end,startVal,endVal);

    The layers don’t completely stop, but it might be close enough.

    Dan

Page 1031 of 1081

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