• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Putting individual text characters onto separate layers

Participant ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

Hey guys.  Very new to after effects.  I am trying to have it so that i type a word and then some how have it that each invidiual character gets put on its own layer for me to be able to isolate and naimate seperately.  any ideas rather then typing a layer per character.

Views

868

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

Text animators give you huge control of text layers on a per character basis.  If you truly need layer-per-chrascter control, you can use an opacity animator to reveal one character per layer. You could even use an expression on multiple layers to use the layer number index to define which character is visible.  

 

But you may find that you can use Animators to do what you need without isolating every character to a discreet layer.  We can give more specific suggestions if you provide more specific details about what you want to achieve.  

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

thanks for oyur input, i have looked into this and the text animator does seem to work pretty good, my only issue im trying to reveal the individual letters to a specific sound. I do not with the animators route appear to be able to control when the speed in which they fade in on screen to have it sync up with my sound file? Hence the thinking to do it one by one

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

Paul Slemmer's Type Array should be able to handle this with no problem: https://paulslemmer.com/type-array

It uses Text Animators combined with a Pseudo Effect. Basically, you'll set your Text Animator to reveal by character, then customize which properties you want to use. Then you'll use the Type Array effect to determine how long the animation takes to appear. You can use the "Use Markers" checkbox to have each character start its animation at a marker time and then time those markers to your sound.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

+1 for Type Array. Was just about to type this myself, before David beat me to it!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

There is no reason you can't apply the Audio to Keyframes function from the Keyframe Assistant to an audio track and then use the any of the channel sliders to advance the range selector of a Text Animator to reveal another letter. You just have to change the Range Selector from the default to individual characters and decide if you want to include spaces. 

 

A simple beat counter expression, there are several versions out there, would do the trick.  Dan Ebberts Audio Beat Counter is one of the best. Read his article and then just copy and paste it to the end property in the range selector. I had to modify the threshold to 15 for my audio track. You can easily see what the threshold is if you select Both Channels in the Timeline and look at the Graph Editor with Value Graph selected. 

 

This is what my comp looks like and I've revealed all modified properties of all layers so you can see everything that I did:

Screenshot_2019-09-30 08.11.45_WVkAf4.png

There was not enough room to show you the entire expression in the screenshot so here it is:

 

threshold = 15;

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

above = false;
frame = Math.round(time / thisComp.frameDuration);
n = 0;
while (frame >= 0){
  t = frame * thisComp.frameDuration;
  if (above){
    if (audioLev.valueAtTime(t) < threshold){
      above = false;
    }
 
  }else if (audioLev.valueAtTime(t) >= threshold){
    above = true;
    n++;
  }
  frame--
}
 
n

 

 

There is really no reason to get any fancier than this or buy anything. 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

Hey big thanks for this info. I have to say im feeling rather humbled riggh tnow lol. I am very basic to this and it seems i Hvae along way to go. While i understand all this in the long run will save me time (text animators, range selectors etc). Does anyone know if my actual question can be done? Simply away of putting each letteronto a new layer (yes i understand theways your probably telling me a 1000x better and quicker, but im atlittle ??? with all this code to put in etc and thats going to take some sit down learning to grasp) But for now can my original question be done ?/ thank you

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

You can't really do it automatically. You could write a script that would take a line of text, examine each character and put the characters on a separate layer, but your comp would get very complicated very quickly, take longer to render, and be a lot more difficult to edit.

 

You need to spend some time learning how to use the tools efficiently. Be very careful about just watching YouTube tutorials. Most of the newer ones out there are presented by enthusiasts and they often promote inefficient or just plain incorrect

workflows that lead you down dead-end streets. Make sure you vet your trainers. The Adobe After Effects Product page is a great place to start. There are links to all kinds of tutorials by folks that know what they are doing.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Sep 30, 2019 Sep 30, 2019

Copy link to clipboard

Copied

LATEST

Hi Emmleeds,

 

In addition to all the great suggestions given above, I found a script named "TextExploder" on https://aescripts.com/textexploder/ which does something similar to what you are looking for.

This feature is not available in After Effects as of now. I'd recommend that you post this as a feature request on our UserVoice platform: https://adobe-video.uservoice.com/ This way, others can vote for it too.

 

Hope this helps.

NKush

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines