Как сделать эффект печати текста для видео, словно он набирается на клавиатуре компьютера. Такая анимация текста имеет мигающий компьютерный курсор в конце, именно это отличает ее от известного стандартного эффекта печатающей машинки Typewriter. Вы можете бесплатно скачать мой проект с готовым пресетом текстовой анимации для After Effects и свободно использовать его по своему усмотрению.
https://www.youtube.com/watch?v=9B1HiLkj4Ow
Скачать проект урока для After Effects CC 2020
Чтобы сделать такое появление текста в After Effects, я использовал JavaScript выражение, найденное на просторах интернета, с небольшими доработками. Благодаря этому полученный мигающий курсор позволяет настраивать свою частоту мигания и форму по вашему вкусу через переменные в коде. Такой печатный текст в After Effects хорошо подходит для графики в компьютерном стиле и прочих хакерских дизайнах, если вам хочется сделать компьютерный терминал, или нужна командная строка. Эффект набора текста можно заменить на обычный эффект печатной машинки, если использовать пустой курсор, в таком случае буквы будут появляться резко, без анимации прозрачности, как и при печати на бумаге в реальности.
Оригинальное выражение взято отсюда: Reveal text TypeOn + blinking cursor.
Я решил кое-что поменять в оригинальном выражении, чтобы сделать эффект набора текста еще лучше. Для этого я заменил курсор на сплошной блок псевдографики "█", добавил возможность сделать скорость мигания курсора меньше единицы, и еще курсор теперь не будет исчезать/мигать в тот момент, когда текст набирается на экране. Мой вариант кода:
https://www.youtube.com/watch?v=9B1HiLkj4Ow
Скачать проект урока для After Effects CC 2020
Содержание с временными метками
00:32 Выражения для печатаемого текста
01:27 Создание композиции
01:49 Создание слайдера
02:25 Создание маркеров слоя
03:01 Анимация появления текста
03:26 Замена курсора
04:07 Работа с частотой мигания курсора
05:08 Отключение мигания на вводе текста
06:19 Замена процентов на номер буквы / индекс
01:27 Создание композиции
01:49 Создание слайдера
02:25 Создание маркеров слоя
03:01 Анимация появления текста
03:26 Замена курсора
04:07 Работа с частотой мигания курсора
05:08 Отключение мигания на вводе текста
06:19 Замена процентов на номер буквы / индекс
Чтобы сделать такое появление текста в After Effects, я использовал JavaScript выражение, найденное на просторах интернета, с небольшими доработками. Благодаря этому полученный мигающий курсор позволяет настраивать свою частоту мигания и форму по вашему вкусу через переменные в коде. Такой печатный текст в After Effects хорошо подходит для графики в компьютерном стиле и прочих хакерских дизайнах, если вам хочется сделать компьютерный терминал, или нужна командная строка. Эффект набора текста можно заменить на обычный эффект печатной машинки, если использовать пустой курсор, в таком случае буквы будут появляться резко, без анимации прозрачности, как и при печати на бумаге в реальности.
Оригинальное выражение взято отсюда: Reveal text TypeOn + blinking cursor.
Код: Выделить всё
txt = value;
timeIn = thisLayer.inPoint; //seconds
txtSize = text.sourceText.length;
cursor="|";
cursorBlink = 1; //seconds
txtComplete = 100; //percents - add a slider 'txtComplete' on your layer to animate this value
animateText = true;
showCursor = true;
//check if required markers exists
try{
txtComplete = effect("txtComplete")("Slider");
}catch(e){
AnimateText = false;
}
//check if required markers exists
try{
cursorStart = marker.key('cursorStart').time;
cursorStop = marker.key('cursorStop').time;
}catch(e){
showCursor = false;
}
if (animateText){
txtIdx = txtSize / 100 * txtComplete;
txt = substr(0,txtIdx)
}
if (showCursor){
F = Math.round( (time + cursorStart) % cursorBlink );
if ( (time > cursorStart) && (time < cursorStop) && (F==1) ) {
txt += cursor;
}
}
txt;
Я решил кое-что поменять в оригинальном выражении, чтобы сделать эффект набора текста еще лучше. Для этого я заменил курсор на сплошной блок псевдографики "█", добавил возможность сделать скорость мигания курсора меньше единицы, и еще курсор теперь не будет исчезать/мигать в тот момент, когда текст набирается на экране. Мой вариант кода:
Код: Выделить всё
txt = value;
timeIn = thisLayer.inPoint; //seconds
txtSize = text.sourceText.length;
cursor="█";
cursorBlink = 0.75; //seconds
txtComplete = 100; //percents - add a slider 'txtComplete' on your layer to animate this value
animateText = true;
showCursor = true;
//check if required markers exists
try{
txtComplete = effect("txtComplete")("Slider");
}catch(e){
AnimateText = false;
}
//check if required markers exists
try{
cursorStart = marker.key('cursorStart').time;
cursorStop = marker.key('cursorStop').time;
}catch(e){
showCursor = false;
}
if (animateText){
txt = substr(0,txtComplete)
}
if (showCursor){
F = (time + cursorStart) % cursorBlink;
dif = txtComplete.valueAtTime(time)-txtComplete.valueAtTime(time-thisComp.frameDuration*2);
if ( (time > cursorStart) && (time < cursorStop) && (F>cursorBlink/2 || dif != 0)) {
txt += cursor;
}
}
txt;