4

I have this video whereby text is revealed one letter after another. A text cursor is moving along with each letter to simulate the fact of writing the text on a word processor.

I have separate animations for the text being revealed: a mask expands, for the cursor: the position. Keyframes are aligned and the animation is linear.

However, the cursor is overlapping the text at the start of the animation as you can see here:

enter image description here

I also tried adding a solid layer that moves with the text and hiding everything to the right of the cursor. That works except when the background is not a solid color as is my case.

So my question is if I can parent the mask's movement to the cursor, or vice-versa? Alternatively, is there a better way to do it?

1
  • If I understand you correctly, this problem shouldn't exist. The text cursor doesn't take any intermediate positions between letters. It is always stuck to the right edge of the latest character. You appear to have assigned a continuous translation to the cursor. Instead, make one frame jumps from old letter edge to new edge. Similar animation applies to the letter appearances themselves. Sorry for not tackling your Q. But, to answer it, "When you want one layer to show through a hole in another layer, set up a track matte"
    – Gyan
    Dec 5, 2012 at 8:40

1 Answer 1

4

At the moment parenting a mask or its vertices to another object like a null is not possible by default. Although it is one of the most wanted features, probably there is no official solution for this. But in the same link you can find a link to a forum post where scripting master Dan Ebberts offers a solution. This solution has some limitations though, yet it might work in your project.

My solution would be more manual, this is not the fastest way but it works. If you are using a text layer, try adding an animator for the opacity, based on the characters.

Screenshot

Then animate your cursor layer's position accordingly. Or better, parent it to a null and animate your null and use hold keyframes.

This option is better than animating a mask on text layers, as it reveals each character. In your screenshot, there is this situation that your letters are revealed as if a linear wipe is used.

3
  • 1
    Great help as always! Learned something new. Thanks Inan.
    – greener
    Dec 5, 2012 at 21:17
  • 1
    You can add another animator to the text for the character value. You can set it to force the character to be the | symbol, which is as close as spitting to the cursor symbol. See it in action here: youtube.com/watch?v=TwSm4keW8d0 (apologies for the music, that's what the producer wanted)
    – stib
    Jan 21, 2015 at 12:44
  • 1
    As of CC 2018, as mask vertices can now be controlled by expressions. In previous versions it is only possible through scripting.
    – stib
    Jan 26, 2018 at 19:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.