AEJoy —— 表达式之闪烁光标的打字机效果(一)【JS】

2,640 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

效果图

copy-paste-properties.gif

前言

在任何视频和运动图形项目中,您可能需要弄清楚如何使用光标制作一个打字机文本动画。你可能会惊讶地发现,这并不像看上去那么容易。出于这个原因,我决定写这个博客,这样就没有人需要花几个小时在 After Effects 中制作一个打字动画了。

在这篇文章中,我将向你展示多种方法来制作有闪烁光标和没有闪烁光标的打字机效果动画🙂。

基础-打字机效果预设

让我们从初学者的基础开始。这是在 AE 中创建不带光标的打字机效果的最简单和最快的方法。按照这些步骤 —— 只需要 20 秒。

  1. 创建一个新的合成
  2. 点击 T 图标并输入你的文本
  3. 打开 “效果和预设” 窗口
  4. 搜索 “Typewriter” 预设
  5. 选择 Typewriter 并拖动到您的文本
  6. 如果你按下播放键,文本将会以打字输入动画的形式呈现

查看下面的演示以获得视觉参考:

copy-paste-properties.gif

带鼠标光标的打字机效果

要用光标实现 AE 类型动画,我们实际上不会使用默认的打字机预设,因为表达式比常规的打字机预设要强大得多。

下面是带光标的打字动画演示

copy-paste-properties.gif

我创建了以下几种方法来学习这个 AE 打字效果。选择最适合你的。

  • 操作步骤
  • 视频教程
  • AE 工程模板(本节结尾处)
  • 带有光标预设的免费打字机(本节结尾处)

操作步骤

  1. 创建一个新的合成
  2. 选择T(水平文字工具CTRL+T)
  3. 输入你的文本
  4. 打开效果和预设窗口
  5. 搜索滑块控件
  6. 拖放滑块控件到文本层上
  7. 将滑块控件重命名为 Speed

image.png

  1. 转到源文本
  2. Alt 单击秒表图标添加表达式
  3. 复制粘贴这个表达式
L = text.sourceText.length;
It = time – thisLayer.inPoint;
T = It * effect("Speed")("Slider");
F = Math.round(It % 1);
if (F == 1 | (T0)) { Fl = "|"; }
else { Fl = " "; }
substr(0, T) + Fl
  1. 增加滑块控件的速度(这定义了文本输入的速度)

image.png

12、 按下播放键,你应该看到你的文本输入与闪烁的光标

视频教程

打字机效果之上色的鼠标光标

免费的 AE 工程模板

下载地址

免费 AE 打字机与光标预设 FFX

下载地址

其他版本(结合勾选框)的实现

src = effect("Slider Control")("Slider");
tog = effect("Checkbox")("Checkbox");
blink = Math.round(time % 1);
pipe = " ";
if (((blink == 1) || (src.speed > 0)) && (tog == true)) {
  pipe = "|"
}
substr(0, src) + pipe