ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

文字弹性入场动画实战:AE表达式与关键帧技巧解析

文字弹性入场动画实战:AE表达式与关键帧技巧解析 文字弹性入场动画在 AE 里属于出场率高、反馈快、又很容易做“土”的一类效果。它解决的核心问题是文字出现时太生硬直接位移或直接缩放观众会感觉像 PPT 切页没有节奏。加上弹性之后文字会在到达目标位置时先冲过头一点再回弹几次画面立刻有了“被弹簧拉了一下”的运动质感。这个效果适合刚开始学 MG 动画的人也适合需要在短视频字幕、片头标题、活动主视觉里快速做出动效的设计师。最值得关注的点不是背住某个表达式而是理解弹性动画背后的运动逻辑频率、衰减、初始速度这三个东西决定你按出来的关键帧是“弹得舒服”还是“弹得人头晕”。下面按落地顺序拆一遍。先从原理讲起再给可直接使用的表达式然后说手 K 关键帧的路线最后补上参数判断、常见报错和模板化思路。整个过程都会围绕一个具体目标让你在半小时内从新建合成到导出带弹性入场的文字动画并且下次换字体、换排版、换颜色时也改得动。1. 先想明白弹性入场到底是在解决什么问题1.1 运动图形的“质感”往往来自入点和出点的曲线AE 里很多动画感觉很生硬原因不是没有关键帧而是关键帧之间的速度变化不对。一个物体从 A 点移动到 B 点如果全程匀速画面就是“平移”如果在开始和结束时有加速减速就会有“被推动”的感觉。文字弹性入场本质上是一种特殊的缓动目标位置附近不是立刻停住而是带着残余速度继续往前冲一点再被“拉回来”来回几次后稳定。这就引出一个关键概念动画曲线。在位置属性里你打开图表编辑器看到的是速度曲线。弹性效果对应的是速度正负交替冲过头时速度为负回调时速度为正反复几次后振幅衰减到零。理解了这一点再看网上那些复杂的表达式就不会懵。表达式只是把“正负交替且逐渐收敛”这个过程自动化了。手动 K 帧只是把这个过程一帧一帧画出来。两条路线都能做出弹性效果区别是表达式的可控参数更集中手 K 的节奏感更直观。1.2 弹性动画的三种实现路线文字弹性入场在 AE 里主要有三条路线。第一条是表达式控制。在某个属性上添加弹性表达式AE 会在关键帧之后自动计算回弹。优点是参数化频率、衰减、振幅都能改缺点是很多人看不懂表达式一旦报错就不知道去哪查。第二条是手动 K 关键帧。先让文字从起始位置移动到终点然后在终点附近加几个反向关键帧模拟过冲和回弹。优点是不依赖代码任何版本都能操作缺点是繁琐尤其是一段文字几十个字符要做逐字错峰时关键帧会多得吓人。第三条是插件预设。一些第三方脚本和插件自带弹性动画预设选中图层一键应用。优点是快缺点是可定制性差而且插件版本和 AE 版本经常有兼容冲突。我的建议是新手从表达式加少量关键帧的组合开始。表达式负责回弹关键帧负责运动距离和时间控制。这样既不会因为纯代码而劝退也不会因为纯手 K 而累死。1.3 这个教程适合谁看需要什么基础这篇教程适合三种人。第一种是完全没接触过 AE 动效的人你只要会新建合成、打关键帧就能顺着操作做出来。第二种是想系统理解弹性动画原理的人重点看第一章和第四章的曲线分析。第三种是已经在做文字动画但觉得效果不够灵活的人重点看第三章的参数调整和第五章的批量思路。基础方面不需要会编程。AE 内置的表达式编辑器能直接编辑代码复制粘贴就能运行。但你需要知道几个基本概念合成的时间长度、图层的变换属性、Anchor Point 和 Position 的区别、关键帧的类型。这些概念在操作过程中会反复用到如果你还不太熟悉也不用提前补课跟着步骤走一遍就会了。2. 建好合成和文字层别在错误图层上浪费时间2.1 新建合成时的参数怎么选打开 AE先新建合成。快捷键 CtrlN或者点击顶部菜单的“合成 - 新建合成”。合成设置里最影响文字弹性动画体验的是帧速率和持续时间。帧速率我一般选 25fps 或 30fps。帧速率越高动画越流畅但预览计算越慢。文字弹性动画属于轻量效果25fps 足够导出 MP4 时也通用。持续时间取决于你的动画长度。一个单纯的文字入场动画大概 2 到 3 秒就够了。如果你还要配上其他元素比如背景、辅助文字、Logo就预留 5 秒。这里有个小建议合成时间没必要一开始就拉太长先做核心动画后面再加长。合成时长随时能改但改到 2 秒时预览区域只显示 2 秒内容图层时间条超出部分看不到反而影响判断。宽度和高度根据你的输出平台来定。常见的 1920x1080 横屏、1080x1920 竖屏都可以直接选预设。背景颜色可以先选了黑色因为弹性动画里的文字通常需要对比度来观察缩放变化。纯黑背景下文字边界最清晰方便你判断弹动的幅度。2.2 创建文字图层和入点的初始关键帧选中左侧文字工具栏的“横排文字工具”在合成窗口点一下输入“弹性动画”或你自己的文字。创建完文字层后展开图层的 Transform 属性重点关注四个Anchor Point、Position、Scale、Opacity。这里有一个经常踩坑的点文字缩放中心在哪儿。如果你直接对 Scale 属性设置关键帧缩放中心默认可能在文字图层的中心也可能在左上角取决于 Anchor Point 的位置。为了让文字从中心弹开建议把你的 Anchor Point 移动到文字中心。最快捷的方式是选中文字层按 CtrlAltHome 键AE 会自动把 Anchor Point 对齐到图层内容的中心。这是做缩放类动画的第一步。设置弹性入场的初始状态我一般分两步第一步在第 0 帧附近设置 Scale 为 0%Opacity 为 0%。第二步在第 10 帧到第 15 帧左右设置 Scale 为 100%Opacity 为 100%。如果只做这两个关键帧动画是线性的文字会生硬地变大。接下来要在这个基础启动关键帧上叠加弹性表达式。2.3 为什么我建议先用默认文字试试表达式不要一开始就用特殊的书法字体、描边字体或 3D 图层。字体效果越复杂排错时越难判断问题出在动画还是文字渲染上。我建议先用 AE 自带的默认字体纯色填充不加描边不加阴影。确认弹性动画跑通之后再改成你的品牌字体。这个顺序看起来多了一步但实际上能节省大量排查时间。因为文字弹性动画的核心问题只涉及变换属性和表达式跟字体没有任何关系。字体出问题的时候通常是显示为方块、乱码或缺失字体提示这些错误和动画逻辑无关。另外文字图层如果加了太多图层样式比如斜面浮雕、投影、描边预览时的刷新效率会下降。低配电脑上尤其明显。先把效果做出来再叠加样式这个顺序更稳妥。3. 用表达式实现文字弹性入场3.1 一个适合教学用的弹性表达式在文字图层的缩放属性上添加表达式是教科书里最常见做法。但我在实际使用时发现面向新手的表达式越短越好。长表达式虽然功能完整但任何一个括号错误都会让人崩溃。下面这个表达式适合教学也适合日常快速使用freq 3; decay 5; n 0; if (numKeys 0) { n nearestKey(time).index; if (nearestKey(time).time time) { n--; } } if (n 0) { t 0; } else { t time - key(n).time; } if (n 0 t 1) { amp velocityAtTime(key(n).time - 0.001) / 100; value amp * Math.sin(freq * t * 2 * Math.PI) / Math.exp(decay * t); } else { value; }这段表达式是从 AE 内置的“惯性回弹”预设里简化出来的。它做的事情是检测当前位置属性上最近的一个关键帧计算当前时间离那个关键帧过去了多久然后用正弦函数模拟来回摆动同时用指数函数让摆动幅度逐渐衰减。freq 是频率控制每秒摆动几次。decay 是衰减控制摆动多快停下来。振幅不是手动填的而是根据关键帧那一刻的运动速度自动计算。这个设计非常聪明它不是按照固定距离去弹而是按照你的运动速度去弹。你移动越快回弹幅度越大移动越慢回弹越轻微。3.2 把表达式绑到缩放属性上而不是只绑位置很多人第一次看到这个表达式时会绑在 Position 属性上让文字在位移过程中弹来弹去。这个做法没有错但如果你做的是“场景标题入场”我建议把表达式绑在 Scale 属性也就是缩放上。原因是文字弹性入场最常见的使用场景是标题出现标题的位置相对固定你需要的是它突然出现时带一点过冲感。如果绑在位置属性上文字会在水平方向上来回抖动容易让人物或背景产生位置错位感。绑定到缩放属性上文字的运动感集中在缩放率的变化上视觉上更接近“被弹出来”的效果而不是“被撞开”。操作步骤很简单先给 Scale 打两个关键帧起始 0%第 10 帧 100%。选中 Scale 属性按 Alt 键点击 Scale 左边的秒表图标在表达式编辑窗口中粘贴上面的代码。预览时就能看到文字在放大到 100% 后先冲到 115% 左右再缩到 95%再回弹几次最后稳定在 100%。如果你希望文字也有一点横向位移可以复制相同的表达式到 Position 属性。但这时要注意Position 属性上的运动幅度和 Scale 上的幅度是叠加的两个一起弹可能显得手忙脚乱。我通常的做法是要么只弹 Scale要么只弹 Position不要两个一起上。3.3 理解频率、衰减和振幅三个参数的调整逻辑表达式里最常用的三个参数是 freq、decay 和隐含的振幅。freq 的取值入门建议 2 到 4 之间。取 2文字每秒来回两次比较柔和取 5文字每秒来回五次视觉上非常暴躁。短视频字幕里常用的是 3 到 4既有弹性又不至于让人看不清文字内容。decay 的取值入门建议 4 到 6 之间。值越大回弹停得越快。我一般用 5大约在 0.5 秒内稳定下来。如果你想做那种“抖一下再稳定”的轻量感用 6 到 8想做成 QQ 弹弹的果冻感用 3 到 4。振幅由关键帧之间的速度决定。想要更大的弹出效果就让起始关键帧和结束关键帧之间的距离更大、时间更短。比如从 0% 到 100% 只给 5 帧振幅会非常大给 20 帧振幅会比较温柔。这个逻辑说明了一个很重要的事情表达式不会代替你思考它只是把关键帧之间的速度转换成回弹效果。最终感觉如何还是由你的关键帧本身决定的。3.4 让文字逐字入场Range Selector 的妙用单层文字的缩放弹性只能让整段文字作为一个整体出现。如果想让文字像弹钢琴一样逐字弹入就需要用到文本动画属性里的 Range Selector。选中文字层点击“动画”菜单下的“缩放”AE 会给文字添加一个动画属性并且自动生成一个 Range Selector 1。展开“Range Selector 1”你会看到一个“起始”和“结束”参数。默认情况下它们会影响整段文字。现在做两件事第一把上一步的弹性表达式也添加到动画属性的缩放上面。注意这里不是 Transform 里面的 Scale而是文本动画器里的 Scale。表达式逻辑是一样的但作用对象变成了文字选区。第二给“起始”参数打关键帧。第 0 帧设为 0%第 20 帧设为 100%。这样文字会一个字符一个字符地被包含进选区里被包含的字符逐渐放大弹入。如果你想控制延迟方向可以让文字从左边开始向左到右或者从中间向两边扩散。从中间开始的设置方法是先把“起始”和“结束”都调成 50%此时选区只覆盖中间位置。再给“起始”打关键帧从 0% 到 50%给“结束”打关键帧从 100% 到 50%时间对齐。这样动画就是从中间向两边逐字展开。这个操作对整个文字弹性入场动画的可玩性提升很大。单一文字图层的整体缩放适合标题逐字缩放适合副标题和字幕。两种效果配合使用就能构成一个完整的开场组合。4. 不用表达式手 K 弹性关键帧到底行不行4.1 手 K 弹性的正确策略从过冲到回位不少人看到表达式就头疼想知道手动能不能做出同样的效果。答案是能但策略很重要。手 K 弹性的核心是建立五个关键点起点、终点、过冲点、回调点、稳定点。举个例子文字从 0% 缩放到 100%。你不用直接设置 0 到 100 两个关键帧而是这样设置第 0 帧0% 第 10 帧120% 第 15 帧85% 第 20 帧105% 第 25 帧97% 第 30 帧100%这个流程模拟了弹性运动的过程冲到 120%回落到 85%再冲到 105%再回到 97%最后稳定。这里最关键的是方向相反的关键帧之间不能距离太远。两个反向关键帧之间间隔 3 到 5 帧比较自然。如果间隔超过 10 帧动画就变成来回摆动而不是弹性看起来会很拖沓。4.2 图表编辑器怎么调出弹性曲线手 K 关键帧之后你还需要用“图表编辑器”调整速度曲线让回弹更自然。选中文字层的 Scale 属性点击时间线面板上的“图表编辑器”按钮切换显示速度曲线。你会看到速度曲线在不同关键帧之间的变化。手动 K 的关键帧很可能默认是线性插值速度曲线是折线。这样做出来的动画会有明显卡顿感。为了模拟弹性效果你应该把各个关键帧的插值改为“贝塞尔曲线”。选中关键帧右键选择“关键帧插值 - 临时插值”改成“贝塞尔”。然后拖动手柄让速度在接近过冲点时逐渐下降在回位时逐渐上升。手 K 的好处是你能精确控制每一段的时长。比如你觉得回弹太快或太慢只改一个关键帧的位置就行。表达式则不容易做到这种单点修正它只能整体调频率和衰减。4.3 表达式的优势和手 K 的边界从最终效果看表达式和手 K 很难说谁绝对更好。表达式适合批量生产。如果你要做 20 条字幕每条字幕的入场方式都一样只是文字内容不同你复制表达式就能保持一致。手 K 的话每条字幕都得重新打一遍关键帧耗时多而且容易打不齐。手 K 适合做“关注细节的单独动画”。比如一个品牌标题你想让它以非常微小的过冲感入场这种手感很难用参数描述只有手动调整每一帧才准确。表达式在这个时候反而容易显得“模板感”太强。我的建议是两种都要掌握。日常出片首选表达式遇到需要精修的重头动画再考虑手 K。而且手 K 的经验还能帮你反哺表达式的调参判断让你更快理解 freq 和 decay 该怎么设。5. 参数调整和效果判断标准5.1 弹性幅度多大算合适怎么判断“弹过头”弹性幅度是新手最容易失控的环节。弹得太大观众注意力全在回弹上文字内容反而没看清。弹得太小又没有质变感。以缩放属性为例我从 0% 到 100% 的入场过冲幅度在 110% 到 125% 之间比较常见。超过 130%视觉上会觉得文字像故障了尤其当文字字号很大时。如果你的文字本身占屏幕面积较大比如标题占了三分之一宽度过冲到 115% 已经很明显了。如果文字比较小过冲幅度可以给大一点比如 125%。这里给一个判断标准回弹过程应该让观众感觉到“有韧性”但不能让观众看不清文字内容。回弹阶段文字会短暂变形、放大、缩小如果这个阶段持续超过 0.6 秒会明显拖慢节奏。理想状态下从文字出现到稳定整个过程控制在 0.4 到 0.8 秒之间。5.2 入场速度和出点如何配合节奏文字弹性入场不能孤立设计。它必须和音乐、配音、前后镜头匹配。如果后面紧接的是快节奏画面入场应该更利落关键帧间隔短衰减值调大到 6 甚至 7让回弹在三次以内结束。如果后面是舒缓的旁白或音乐入场可以更柔和freq 调到 2decay 调到 4回弹时长拉到 0.7 秒左右。一个常用的节奏模型是“听节奏点下字”。找到音乐的重音位置在重音前 5 帧开始入场让文字在重音那一帧达到最大过冲这样观众看到文字弹开时正好踩在节拍上。这个操作不需要 AE 额外功能只是关键帧位置的选择。用手 K 或表达式都行只要你把起始关键帧放在重音前几帧再看预览对一下节奏。5.3 多行文字如何做延迟入场错峰多行文字是另一个常见场景。比如主标题在上方副标题在下方如果两行同时弹入会显得没有层次。更常用的做法是错峰入场。最简单的做法是创建两个文字图层第一个图层先弹入第二个图层延迟 8 到 15 帧再弹入。延迟时间取决于两行文字之间的主次关系主标题先出现副标题后出现。如果你希望同一个文字图层里的不同行也错峰可以借用 Range Selector 的“基于字符”模式或者直接拆成两个图层。两个图层的方式更好控制因为你可以单独调整每一行的位置、颜色和弹性参数。图层多了以后要注意命名。默认的图层名是“文字层”两个文字层都叫这个名字时间线上就分不清了。我习惯在创建文字后立即重命名比如“主标题-弹性入场”、“副标题-淡入错峰”。看起来是小事但图层一旦超过十个命名混乱会浪费大量时间。5.4 组合效果弹性入场 旋转 不透明度弹性入场不限于缩放。你可以给旋转属性也加一个过冲效果。比如文字入场时从 -12 度旋转到 0 度。在 0 度的位置旋转属性可以手动加一个 3 度、-2 度、1 度的回弹序列模拟旋转方向的弹性。再配合缩放弹性和不透明度渐入整体效果会更丰富。但注意不只是效果叠加越多越好。缩放、旋转、位置、不透明度、模糊五个属性同时加入场会严重分散注意力。我通常最多同时用两个属性做弹性。优先级是缩放或位置选一个旋转作为辅助不透明度负责淡入即可。6. 常见问题和实用排查6.1 AE 报错、闪退和 .crash 文件怎么处理做弹性动画时遇到 AE 闪退或报错先别急着卸载重装。很多问题不是软件坏了而是工程里的某个效果或缓存冲突。AE 崩溃后经常会在桌面生成 .crash 文件很多人一看到这个文件就慌。实际上 .crash 文件只是崩溃信息记录你可以先把它放到一个临时文件夹然后重新启动 AE尝试打开最近保存的工程版本。排查顺序应该是这样的第一步确认是不是工程文件问题。新建一个合成只放一个文字层粘贴表达式。如果正常说明你的工程里其他元素或插件导致了崩溃问题不在表达式本身。第二步确认是不是表达式报错。看时间线上属性左侧是否有黄色感叹号。如果有点击后 AE 会显示是哪一行代码出问题。大多数情况是复制的时候多了个换行或括号不匹配。第三步确认是不是缓存问题。打开“编辑 - 清理 - 所有内存与磁盘缓存”然后重新预览。第四步确认是不是插件问题。AE 里第三方插件和脚本经常会导致启动失败或卡死。如果安装了 Particular、置换图等插件检查一下版本是否兼容当前 AE 版本。6.2 插件、置换图和其他效果要不要叠加热门搜索里经常有人问特定插件的安装和使用比如 Particular、置换图滤镜等。这些插件确实能增强特效表现力但对文字弹性入场这个主题来说它们不是必需品。弹性动画本身靠的是关键帧加表达式不依赖任何第三方插件。如果你还没安装相关插件先跳过完全没问题。关于置换图我多说一句。置换图滤镜是通过一张纹理图来改变目标像素的位置常用于做水波纹、扭曲、溶解。如果你把它应用到文字层上文字会沿着纹理的亮度方向偏移。有些特效视频会用它配合弹性入场做出文字弹入时边缘晃动一下的观感。这个效果需要一个前提你的 UI 风格本身是扭曲、液态、故障感比较强的。如果只是一个干净的企业标题或活动字幕添加置换图反而会显得奇怪。建议先把基础弹性效果做出来再去实验置换图而不是一开始就叠加效果。6.3 输出设置与预览渲染的一致性弹性动画在预览里看着正常导出的视频却卡帧或模糊这是很多初学者会遇到的问题。预览时 AE 默认会降低分辨率以提高刷新率。你看到的可能是“自适应”分辨率而不是全分辨率。导出前把合成窗口下方的分辨率切换到“完整”再播放一次确认效果真实。否则你按“四分之一”分辨率预览时以为弹得刚好导出后一看发现过冲感太强。导出的时候常用格式是 H.264 编码的 MP4。打开“文件 - 导出 - 添加到渲染队列”在输出模块中选择 H.264 格式匹配源。如果发现文字边缘发虚检查你的合成宽高比和输出设置是否一致。还有一点值得提醒如果电脑配置不高第一次导出可能会比较慢。这不是设置错误是编码压力。可以先导出一个 480p 的小样测试速度确认没问题后再导 1080p 正式文件。6.4 批量制作和模板复用的思路最后说一个进阶问题如果我要给 20 条不同文字做同样的弹性入场怎么最快方案一把做好弹性动画的文字层保存为预设。在右侧“动画预设”面板中选中属性点击菜单里的“动画 - 保存动画预设”。下次创建新文字层直接应用预设。方案二使用“模板合成”思路。你提前建好一个包含文字层、背景层、表达式、关键帧的合成导出为模板项目文件。每次复制这个项目文件修改文字内容即可。方案三利用 AE 的“动态图形模板”在 Premiere 里直接修改文字内容。这个适合和你剪辑工作流配合。你把做好的弹性文字动画导出为 .mogrt 文件后续在剪辑软件里替换文字无需打开 AE。对大批量视频字幕制作来说这是效率最高的方式。不过无论哪种方案都要保持核心参数已参数化。我会把频率、衰减、字号、入场时间都整理到合成控件或者关键帧容易找到的位置而不是隐藏在表达式深处。表达式里我会在顶部加注释写明哪些参数可以改、改的范围是多少。这样后续修改时不需要读完整段代码。6.5 最容易忽略的几个点最后列几个我自己做文字弹性入场时最容易忽略的问题供你检查时参考。第一个是 Anchor Point。文字弹入不居中或者旋转时绕着一个奇怪的点转多半是锚点没有对齐到文字中心。养成 CtrlAltHome 的对齐习惯。第二个是首尾关键帧的插值类型。有些版本默认第一个关键帧是线性你需要在图表编辑器里把首个关键帧改成“缓出”把最后一个关键帧改成“缓入”。否则动画开始和结束时会很突然。第三个是字体缺失。你在自己的电脑上用的字体别人打开工程时可能没有AE 会用默认字体替换最终排版完全变形。交付工程文件给别人时记得把字体信息和版本说明写清楚。第四个是预览缓存。连续修改表达式后预览没有变化很可能是因为预览缓存没有刷新。按空格键预览前先把当前时间指示器拖动到动画开始前一段让 AE 重新计算。第五个是安全问题。不要轻易使用来路不明的脚本和插件有些脚本会要求你关闭杀毒软件或执行系统级权限这类操作风险很高。正规插件一般从 AE 官方商城内安装或者从开发者官网获取。文字弹性入场是一个小效果但背后包含的是对运动曲线、关键帧插值、表达式逻辑和输出流程的整体理解。把这一套走完你会发现 AE 里其他入出场动画比如缩放淡入、位置滑入、旋转甩入原理全都相通。区别只是关键帧的数值和表达式参数的调整范围不同。先把这个最小闭环跑通再往复杂方向扩展是更稳妥的学习路径。
返回列表