Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Customize Type Array (Fade on vs Cut on)

  • Customize Type Array (Fade on vs Cut on)

    Posted by Chris Jung on August 20, 2019 at 4:02 pm

    Hi,

    I’ve been using this amazing type preset made by Paul Slemmer for some type animations: https://paulslemmer.com/type-array

    It works great, but I wanted to change the fade in of the animation to cut on. I usually change the “smoothness” parameter to 0% in the advanced character settings under Range Selector to replicate this, but since this preset is setup to change the position and opacity at the same time, I’m not sure how to separate it.

    Is there a way to change the speed of the fade in to appear/cut on when the character is triggered word by word or line by line?

    Please let me know!

    Thanks,
    Chris

    // Type Array v2.0 - Animates type with a user-defined interpolation and per-index offset. Add Markers for control over individual indexes.

    try {
    E = effect(thisProperty.propertyGroup(1).name.split('<')[1].split('>')[0] ); // Rename in the selector name to target a different effect.
    } catch(e) {
    E = effect("Type Array"); // Fall back to original "Type Array" effect;
    }

    i = textIndex;
    T = textTotal;

    if (E(5) == true) { i = T+1-i; }
    delay = (i-1)*framesToTime(E(2));
    n = marker.numKeys;
    if (E(4) == true && n > 0) { // If Use Markers is on...
    if (E(1).numKeys > 0 ) {
    start = E(1).key(1).time; // Set start to the first keyframe.
    } else {
    start = 0;
    }
    if (i <= n) {
    delay = marker.key(i).time - start; // If this text index has a marker, set delay using the marker's time.
    } else {
    delay = marker.key(n).time - start + (i-n)*framesToTime(E(2)); // If we're out of markers, set delay using last marker.
    }
    }

    t = time - framesToTime(E(3)) - delay; // Sets sample time to current time, less the amount of shift and computed delay for this text index.

    result = E(1).valueAtTime(t)*value/100;

    Chris Jung replied 7 years ago 1 Member · 1 Reply
  • 1 Reply
  • Chris Jung

    August 20, 2019 at 7:43 pm

    Got a response from Paul Slemmer:

    “You control the smoothness using the keyframes on the influence parameter in the pseudoeffect. If you want it to cut, just bring the influence keyframes only a frame apart. If you want to cut the text on but still have it animate into place, just add two instances of Type Array and use one for opacity and one for animation”

    This worked for me, if anyone else runs into this issue.

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