SaaS UI Animation in After Effects Part 2

3 阅读16分钟

我继续把 SaaS UI Animation in After Effects Part 2 拆成可复刻教程。
这一支和 Part 1 不同,它的重点不再是“按钮成功态”,而是:

文字引导 → 心形/房屋主题过渡 → 中央主卡片成型 → 周围信息胶囊沿圆轨迹分布 → 二次点击后整组飞散 → 主卡片放大铺满全屏 → 空场景/完整场景双图过渡 → 底部 liquid glass 标签 → 最后用 dust transition 把房子从下往上擦出来。

下面仍然以作者实际操作结果为准。
能确认的数值我直接写死;看不清但逻辑能确定的,我会写成“按画面微调”。


一、项目设置

作者开头明确说:

  • 合成:1920 × 1080
  • 和上一支一样继续做
  • 这次先拿一个参考,准备换成更明显的颜色体系

二、先做背景那条“波浪线”

这支一开始不是先做 UI 卡片,而是先做背景里的弯曲线条。

1)画一条基础描边

操作:

  1. Ctrl + Y 新建纯色背景
  2. 再建一个 Shape Layer
  3. 用钢笔或者形状做一条横向曲线
  4. 只保留 Stroke
  5. 颜色先取一个偏棕的颜色

2)加 Wave Warp

作者口播里能确认到两组关键数值:

  • Wave Height / Size = 100
  • 另一项长度类参数约 510

因为字幕识别不够准,但可以确定他是把 Wave Warp 调成了:

  • 振幅较小
  • 波长较长

3)加 Fast Box Blur

作者明确说:

  • Fast Box Blur = 10

操作:

  1. 给这条线加 Fast Box Blur
  2. Radius 设 10
  3. 让线变软一点

4)复制一层反向使用

作者做法:

  1. 复制这条线
  2. 调一下方向/参数
  3. 叠成两条背景波纹
  4. Pre-compose
  5. 命名类似 line-bac

5)进预合成改波速

作者明确说:

  • Wave Speed = 0.4

所以你进 line-bac 里面,把两条波线的速度统一调成:

  • 0.4

然后再回主合成:

  • 稍微放大
  • 降低透明度

这就是背景里那条很淡的流动线。


三、主卡片底板:中央 “HOUSE” 卡片

1)画一个圆角矩形

操作:

  1. 新建 Shape Layer
  2. 画一个圆角矩形
  3. 不要描边,只要填充
  4. 颜色是比背景深一档的暖灰棕

作者原话:

  • 不需要 stroke
  • 需要 fill
  • 需要 roundness
  • 再在 Properties 里调 Size

2)加文字

文案是:

  • HOUSE

作者说字体用:

  • SF Pro
  • Medium

然后:

  1. 文字整体放大一点
  2. 颜色改成更深一点的棕色
  3. 居中摆放

四、鼠标飞入并第一次点击

这里的结构和 Part 1 很像,但这支鼠标后面要带动整个第二场景。

1)导入鼠标

作者说:

  • 用的是一个已经做好的 3D cursor 图层

所以:

  1. 把鼠标 PNG 或预合成拖进来
  2. 稍微缩小
  3. 放到主卡片附近

2)做飞入轨迹

操作:

  1. 给鼠标打 Position
  2. 终点停在主卡片上
  3. 起点放到画面外
  4. 用钢笔手柄把运动路径掰成弧线

3)加 Z Rotation

作者明确说:

  • Z Rotation

并且:

  1. Z Rotation 打关键帧
  2. 起始角度更斜一点
  3. 这样鼠标飞进来的朝向会更贴合运动路径

4)曲线

作者提到一个数值:

  • 1500

这还是他常用的快进慢停式图形曲线。
所以这里可以理解成:

  • 初段冲得很快
  • 尾段收得很柔

5)点击动作

作者的时间逻辑很明确:

  1. 到点击点
  2. 前 5 帧
  3. 后 5 帧

然后给鼠标做:

  • Scale
  • Orientation

也就是中间压一下,再弹回来。


6)加表达式

作者继续用了他那个 Discord 里的 bounce expression。
能确认的是:

  • 这里确实加了表达式
  • 用在点击回弹上

五、主卡片从圆角矩形变成正方形

这是第一段最关键的结构变化。

1)给底板打 SizeRoundness

操作:

  1. 打开主卡片的 Rectangle Path
  2. Size
  3. Roundness
  4. 在点击点之后往后推

作者口播说:

  • 往后约 25~30 帧

2)把卡片变成“完整正方形”

作者明确给了一个值:

  • 493

也就是他把宽和高都改到同一个数:

  • 493 × 493

做法:

  1. 把一个尺寸值复制
  2. 粘到另一个尺寸上
  3. 让它变成完全相等

3)Roundness 再往上加

这样它会从“横向胶囊按钮”变成:

  • 一个更厚实的方卡
  • 再逐步过渡到接近圆的辅助形状

六、作者这一支的核心技巧:不用椭圆做圆,而是用正方形改出来

作者这段讲得很重要,你以后换素材也会用到。

核心逻辑

如果你想做“完美圆”:

  1. 不要直接画 Ellipse
  2. 先画一个矩形
  3. 把宽高解绑
  4. 把较小的那一边数值复制到另一边
  5. 再把 Roundness 拉满

这样做的好处是:

  • 后面动画时更灵活
  • 你可以随时在圆、方、圆角方之间切换
  • 不会被椭圆路径限制

作者原话核心就是:

  • 很多看起来像圆的东西,其实都是 square + size + roundness 做出来的

七、把房屋图片塞进各种圆/方形里

1)拖入 house 图片

作者这里用到 House 图像。

操作:

  1. 把房屋图拖进来
  2. 放到目标圆/圆角方内部
  3. Track Matte 裁到形状里

2)一定要有一个“底层主形状”

作者强调了很多次:

  • 每一组都要有一个 bottom shape
  • 其他内容都 parent 给这个 bottom shape

这一步非常重要,因为后面他要:

  • 一起改位置
  • 一起缩放
  • 一起飞出画面

如果你不 parent 给底层主形状,后面会特别乱。


3)统一锚点

作者说:

  1. 先选全部图层
  2. Motion 4 之类把锚点居中
  3. 再手动把锚点放到和底部连线接触的位置

也就是不是每个都放正中心,
而是放到“胶囊/圆卡和下面那条连线衔接的点”上。


八、用“路径复制到 Position”的方法,做周围卡片的圆轨迹分布

这段是 Part 2 最值钱的内容之一。

1)先拿一个圆当轨迹参考

操作:

  1. 建一个圆形 shape
  2. 找到 Ellipse Path

2)把 Ellipse Path 转成 Bezier Path

作者明确演示了:

  1. 右键 Ellipse Path
  2. Convert To Bezier Path

这样你就能复制路径了。


3)复制路径,粘到主形状的 Position

作者做法:

  1. 选中这个圆的 Path
  2. Ctrl + C
  3. 选中你那组卡片的“底层主形状”
  4. 打开 Position
  5. 直接 Ctrl + V

这样那组内容就会沿这个圆轨迹运动。


4)四组内容分别截取轨迹的不同区间

作者后面没有让所有胶囊绕一整圈跑,
而是把每一组只保留某一段弧线。

做法:

  1. U 打开关键帧
  2. 删掉不需要的前后段
  3. 用新的关键帧替换旧的首尾关键帧
  4. 让它只在指定弧段运动

所以你看到的最终效果不是“完整公转”,而是:

  • 每个元素只走一段短弧
  • 但整体看起来像围绕中央主卡片转过来

5)用参考圆做摆位基准

作者反复说:

  • 他一直用这个参考圆当 guideline

也就是:

  • 卡片放哪里
  • 胶囊放哪里
  • 头像条落哪里

都拿那条圆轨迹做基准。


九、先修主图,再修周围模块的入场

1)主 house 图片本身再加一个 Position 动画

作者明确说:

  • 先选 house
  • Position
  • 往后一点再打一帧
  • 把它往下推一些

并给了一个曲线感受值:

  • 2500

也就是仍然是那种:

  • 前快后慢

2)别忘了给主形状的 Size / Roundness 补曲线

作者说他前面做了关键帧,但忘了补 graph。
所以这里要把:

  • Size
  • Roundness

都拉成:

  • 前段很快
  • 尾段很慢

十、周围信息模块逐个入场

这里作者不是“一起出现”,而是每个元素分别处理。


A. 顶部小圆图标

作者做法:

  1. Scale
  2. 前后两帧之间让它从 0 长出来
  3. 用同一套 graph

B. 某个横向胶囊条

作者这里不是用 Scale,而是:

  • Size 动画

这样胶囊是“撑开”出来,不是整体缩放出来。


C. 两段小文字

作者明确说:

  • 两段文字用 Position
  • 往下推一点
  • 2 frame offset

也就是:

  1. 文字先在下方一点
  2. 再弹到目标位置
  3. 两行之间晚 2 帧

D. 这两行文字继续套表达式

作者给了这段的明确参数:

  • Amplitude = 0.3
  • Frequency = 1.2

所以这组小字的 bounce 要比前面鼠标轻很多。


E. 两个辅助小形状

作者说:

  • 其实只会出现 2~3 帧
  • 不用抠得特别死

也就是说这类一闪而过的小装饰,
位置对就行,不用过分打磨。


十一、所有周围模块的最终顺序:2~3 帧错开,不要太慢

作者一开始试了更大的间距,后面自己改快了。

最终建议按他后面的判断来:

  • 2~3 frame offset

而不是 5 帧一大截那种。


十二、把每一组模块都包进“双 Null 结构”

这是这支第二个核心方法。

作者非常明确:

  • 每一组不要只 parent 一个 Null
  • 而是 两层 Null

原因

这样你可以分开控制:

  • 第一层:本体的小位移
  • 第二层:更大的整体甩出 / 上下摆动

操作方法

每一组都这么做:

  1. 找到底层主 shape
  2. Parent 给 Null 1
  3. 再把 Null 1 parent 给 Null 2

十三、第二次点击后,让所有外围模块飞出画面

1)复制一次鼠标点击

作者说:

  • 到第二次点击位置
  • 直接把那次点击复制过来

2)对每组的 Null 2 做离场

操作:

  1. Position
  2. Z Rotation
  3. 往前打一帧
  4. 往后把整组甩出画面外

3)先用一个大甩出

作者这里继续用:

  • 2500 那种快冲曲线

4)再用两个 Null 做“上抬—下压”二段位移

作者这段时间结构很明确:

  • 底层 Null:先上去
  • 上层 Null:再下去

时间点:

  • 20 frame
  • 20 frame

并且曲线他说控制在:

  • 65~70 左右那种更柔和的力度

所以这里不是第一阶段那种很狠的 2500,
而是更顺一点的二段摆动。


5)所有外围模块最后都做透明度淡出

作者明确给了:

  • 10 帧 内把 Opacity0

然后再根据节奏轻微错开:

  • 2~3 frame offset

十四、只保留中央主 house 形状,开始全屏展开

外圈飞走以后,作者把其他东西切掉,只保留中央主体。

1)主形状扩大到全屏

作者给了非常明确的值:

  • 1920
  • 1080

也就是:

  1. 给主 shape 的 Size 打关键帧
  2. 终点改成 1920 × 1080

2)Roundness 同时归零

做法:

  1. Roundness 打关键帧
  2. 最终调到 0

这样中央那块会从圆角形状,过渡成完整矩形画幅。


3)图形曲线继续沿用同一套

仍然是:

  • 前快后慢

十五、第二场景的本质:两张完全同尺度图片交接

作者这一段说得很清楚。

两张图:

  • 一张:空场景,没有房子
  • 一张:完整场景,有房子

并且关键要求是:

  • 两张图的 Scale 必须完全一致

这样后面你做:

  • 淡入
  • 模糊恢复
  • dust transition

才不会穿帮。

作者还提到:

  • 空场景图是他用 ChatGPT 去掉房子做出来的

十六、把第二场景图片 Matte 到全屏主形状里

操作:

  1. 两张图都放到大形状内部
  2. Track Matte
  3. 让它们只显示在这块全屏矩形区域内

十七、空场景先淡入,同时恢复清晰度

作者给空场景图做了两件事:

1)Opacity

  • 起点 0
  • 往后逐渐升起来

作者这段又提到:

  • 2500 的 graph

2)CC Toner + Gaussian Blur

作者明确说:

  • 给图加 CC Toner
  • 再加 Gaussian Blur

并且关键帧逻辑是:

  • 开始时更偏 toner、更模糊

  • 往后:

    • CC Toner = 100
    • Blur = 0

也就是:

  • 开始像一张偏品牌色、偏模糊的底片
  • 后来恢复成更清晰的空场景

3)底图再做一点 Scale

作者还给底图本身做了:

  • 轻微放大

同样是:

  • 往后一点
  • 2500 曲线

这样画面不会显得死。


十八、底部 liquid glass 标签

这段是 Part 2 后半段第三个重点。

1)先做一个圆角矩形

操作:

  1. 新建 shape
  2. 放到底部偏中间
  3. 锚点回中心
  4. 先给它 Roundness

2)把它设成 Adjustment Layer

作者明确说:

  • 把这层勾成 Adjustment Layer

如果没看到这个开关,就切换时间轴列显示。


3)给 Adjustment Layer 加:

  • Fast Box Blur
  • CC Toner

这样它会变成一种:

  • 半透明
  • 毛玻璃
  • liquid glass 感觉

4)再复制一层,做真实边框层

操作:

  1. 复制刚才那层
  2. 去掉 Adjustment 的处理
  3. 变成普通层
  4. Fill 关掉
  5. Stroke

作者明确说:

  • Stroke:纯白
  • 宽度:约 1

我从画面里看到一帧是:

  • Stroke = 1.4 px

所以你可以直接先试:

  • 1.4 px

5)写文字

文案还是:

  • House

然后把文字改成:

  • 白色
  • Bold

并摆进这个液态玻璃标签里。


6)这一整组继续 parent 给底层主 shape

这样后面只要动底层 shape:

  • 边框
  • 毛玻璃
  • 文字

都会一起动。


7)标签的小弹动

作者说:

  • 8~9 frame 往后
  • 再往下压一点

并继续套表达式,参数里能确认的还是:

  • Frequency = 1.2

十九、做一个蓝色虚光圆,再用混合模式做高光感

这一段很容易被忽略,但它让标签高级了很多。

1)画一个圆

操作:

  1. 画圆
  2. 放到标签下方/附近
  3. 颜色故意设成蓝色

作者还专门说:

  • 你可能会觉得为什么要蓝色
  • 但后面会知道

2)加 Fast Box Blur

把它模糊成一个柔光斑。


3)改混合模式

作者口播里说的是“change the color, divide it”,
结合画面来看,意思就是把这层改成:

  • 类似 Divide 这种会产生高光/冷色折射感的模式

最终效果会很像:

  • liquid glass 下面的一点冷色折射

4)Opacity 淡出

这层后面要渐隐:

  • 先亮一点
  • 再慢慢掉到 0

5)这段曲线

作者给过一个值:

  • 500

后面又微调到:

  • 70 / 71 左右的图形强度

这里你不必死抠具体哪一个是速度图哪个是 influence,
重点是:

  • 前段亮得快
  • 后段掉得慢一点
  • 最后收干净

二十、最终 reveal:用 Dust Transition 把“完整房屋版”从下往上擦出来

这是最后一步。

1)把完整图层选中

作者说:

  • 这一层是 complete version

2)加 Dust Transition

他用的是自己提供的一个转场效果。
从画面里能看到效果名大致是:

  • Dust Transition / CGZYNET 一类

你没有这个插件也没法完全一模一样,
但逻辑可以照抄。


3)核心参数

字幕里能确认:

  • Transition Completion
  • Angle = -90
  • 起始:100
  • 最后:0

也就是:

  1. 一开始转场完成度设到 100
  2. 然后逐渐过渡到 0
  3. 角度设为 -90°

这样就是:

  • 下往上把房子擦出来

4)这一步和前面的空场景图叠加使用

所以最终视觉是:

  • 先看到空场景
  • 再看到房子被 dust wipe 从下往上显现

二十一、这支视频里能确认到的关键参数总表

我把最有用的值单独给你:

基础

  • 合成:1920 × 1080

背景波纹线

  • Wave Warp 一组关键值:100510
  • Fast Box Blur = 10
  • Wave Speed = 0.4

鼠标

  • 飞入曲线:1500
  • 点击结构:前5帧 / 中间 / 后5帧
  • 使用 Z Rotation

主卡片 morph

  • 第二阶段变方形:493 × 493
  • Size + Roundness 持续约 25~30 帧

小文字弹动

  • 2 frame offset
  • Amplitude = 0.3
  • Frequency = 1.2

外围模块飞散

  • 先用 2500 那种快冲
  • 两层 Null 的二段位移:每段约 20 frame
  • 第二段更柔的 graph:约 65~70
  • 透明度淡出:10 frame
  • 整体错开:2~3 frame offset

主画面展开

  • 终点尺寸:1920 × 1080
  • Roundness = 0

第二场景

  • 空图和完整图必须 同 Scale
  • CC Toner
  • Gaussian Blur
  • 最终目标:CC Toner = 100Blur = 0

Liquid glass 标签

  • Adjustment Layer + Fast Box Blur + CC Toner
  • 边框层 Stroke ≈ 1 ~ 1.4 px
  • 小弹动:8~9 frame
  • 频率继续可用 1.2

蓝色虚光圆

  • 蓝色填充
  • Fast Box Blur
  • 混合模式做成类似折射/高光效果
  • 透明度后期归零

Dust Transition

  • Angle = -90
  • Transition Completion: 100 → 0

二十二、替换素材时,哪些数据必须联动修改

这部分我给你单独做成 Part 2 专用版。

1)换中央主图时

必须改:

  • 主图在卡片里的 Position
  • 主图 Scale
  • Matte 裁切范围
  • 全屏展开后两张图片的 一致缩放

尤其注意:

  • “空图”和“完整图”必须尺寸完全一致
  • 否则 dust reveal 一出来就穿帮

2)换外圈小模块数量时

必须改:

  • 每组的圆轨迹区间
  • 每组轨迹的首尾关键帧
  • 2~3 frame offset 的总时长
  • 两层 Null 的飞散方向

因为这支不是随机散点,而是沿圆轨迹布局后再甩开


3)换成别的主题词时

比如不是 HOUSE,而是 VILLASTUDIOBOOKING,你要改:

  • 中央主字的字宽
  • 卡片里图和字的遮挡关系
  • 底部 liquid glass 标签的宽度
  • 文字在标签里的左右留白

4)换颜色体系时

要一起改这几处:

  • 背景色
  • 波纹线描边色
  • 主卡片填充色
  • 小胶囊填充色
  • 液态玻璃标签的 CC Toner 方向
  • 蓝色虚光圆颜色

尤其最后那个蓝色圆,如果你整套改成暖金风格,
那个蓝就不一定还适合,要一起重配。


5)换 dust reveal 方向时

只改一个参数就不够,至少要一起看:

  • Angle
  • 完整图层摆放位置
  • 空图/完整图的过渡起止点

原作者这支是:

  • -90°
  • 从下往上出来

如果你改成从左到右,整个镜头节奏也要跟着变。


6)换液态玻璃标签时

必须改:

  • Adjustment Layer 的 Roundness
  • Blur 强度
  • 白色边框尺寸
  • 标签文字字号
  • 蓝色虚光圆的位置

因为这几样是一起组成“glass 感”的。
只改其中一个,质感会立刻掉。


这一支 Part 2 我已经按同样标准拆完了。
你要是继续发下一支,我就接着按这套格式往下拆。