tutorials · after effects

AE 解法 4 教程 · 先抠后跟

用 Roto Brush 抠掉钢笔 → 渲染无钢笔视频 → 用这个干净视频做 Mocha 跟踪 → 跟踪数据应用到字图层

1. 为什么用解法 4(核心原理)

核心思路

Mocha 跟踪会被画面里的钢笔污染——因为它把钢笔的运动当成纸的运动。
解决方案:在 Mocha 看到画面之前,把钢笔从画面里"抠掉"
Mocha 看到的就是干净的纸面,跟踪自然不会出错。

类比:

和解法 3 的区别:

解法 4 的优势:精度高、不会出 "tracking terminated prematurely" 这种错、概念直观。

2. 整体流程图

原视频 Roto Brush 抠出钢笔

做一个"钢笔区域透明"的视频副本

渲染输出 PNG 序列(带 alpha)

导入这个 PNG 序列到 Mocha 做 paper 跟踪

导出跟踪数据 应用到字图层

最终合成:原视频 + 字(带跟踪)+ 钢笔(在字之上做遮挡)

3. 前置准备

素材清单
  • 原视频片段(含钢笔晃过的几秒)
  • 你已经在 AE 里做完 Roto Brush 2 抠出钢笔,并冻结(Freeze)
  • 一台磁盘有 1-2 GB 剩余空间的电脑(要存中间渲染文件)
项目结构

建议你新建一个干净的 AE 项目专门做这条片,避免和其他工作混在一起。

4. 第 1 步:准备 Roto Brush 钢笔抠像层

这一步你应该已经做完了。确认一下:

  1. AE 里有一个图层(暂称 Pen_Roto),是原视频应用了 Roto Brush 2 的结果
  2. 这个图层的内容是只有钢笔可见、其他区域透明
  3. 已经 Freeze(冻结)过,所有帧都抠对了
验证方法

在时间轴上把这个图层单独显示(关掉其他图层眼睛图标),播放——应该看到一支钢笔在透明背景上移动。

5. 第 2 步:制作无钢笔视频图层

核心动作:复制原视频 → 应用 Roto Brush 的反向遮罩 → 钢笔区域变透明。

  1. 在时间轴上选中原视频图层,按 Cmd+D 复制(Windows 上 Ctrl+D)
  2. 给副本命名 Video_NoPen(双击图层名修改)
  3. Video_NoPen 拖到 Pen_Roto 上方(顺序:上 = Video_NoPen,下 = Pen_Roto)
  4. 右键 Video_NoPen → Track Matte → Alpha Inverted Matte "Pen_Roto" 中文版:轨道遮罩 → Alpha 反转遮罩 "Pen_Roto"
  5. 这一步执行后:
    • Video_NoPen 的钢笔区域变透明(被 Pen_Roto 的 alpha 反向遮罩)
    • Pen_Roto 在时间轴上图标会变成一个连接符号(matte 链接)
验证 Track Matte 生效

单独显示 Video_NoPen 这一层(其他图层关眼睛)—— 你应该看到纸面背景,但钢笔位置是透明/黑色洞(取决于合成背景色)。
如果钢笔仍然可见 —— Track Matte 没设对,重新设。

6. 第 3 步:渲染无钢笔视频(输出 PNG 序列)

Mocha 需要一个独立的视频文件来读取。所以要把 Video_NoPen 的结果渲染输出。

必须输出带 alpha 通道的格式

PNG 序列 / TIFF 序列 / QuickTime ProRes 4444 / QuickTime PNG —— 都可以。
不能用 H.264 / MP4 —— 这些格式不支持 alpha 通道。

6.1 隐藏其他图层

  1. Pen_Roto 和所有其他图层的眼睛关掉,只剩 Video_NoPen 可见
  2. 注意:即使关了眼睛,Pen_Roto 作为 Track Matte 仍然在生效(不要删它)

6.2 设置合成背景为透明

  1. 菜单 Composition → Composition Settings
  2. 不需要改背景色——AE 默认合成背景对渲染输出来说是透明的(如果输出格式支持 alpha)

6.3 发送到渲染队列

  1. 菜单 Composition → Add to Render Queue 中文版:合成 → 添加到渲染队列
  2. 在 Render Queue 面板(一般在底部),点 Output Module(默认是 Lossless)
  3. 修改:
    • Format:PNG Sequence(PNG 序列)
    • Channels:RGB + Alpha(必须有 Alpha)
    • Depth:Millions of Colors+(百万色+ 表示含 alpha)
  4. Output To 选保存位置——建议建个文件夹叫 NoPen_Sequence
  5. Render 按钮 → 等待渲染完成
渲染时间参考

1 分钟视频在普通 Mac 上约 3-8 分钟(取决于分辨率和复杂度)。

7. 第 4 步:在 AE 里导入无钢笔视频做 Mocha 跟踪

7.1 导入 PNG 序列

  1. 菜单 File → Import → File(文件 → 导入 → 文件)
  2. 导航到刚才输出的 NoPen_Sequence 文件夹
  3. 选中第一张 PNG(比如 0000.png)
  4. 勾选底部的 PNG Sequence 选项(让 AE 把它当连续视频导入)
  5. 导入完成后,Project 面板会有一个视频文件

7.2 新建合成放进去

  1. 右键这个视频 → New Comp from Selection(从所选项目创建合成)
  2. AE 自动建一个和视频尺寸/时长一样的合成

7.3 启动 Mocha

  1. 选中无钢笔视频图层
  2. 菜单 Animation → Track in Boris FX Mocha(动画 → 在 Mocha 里跟踪)
  3. Mocha 启动 → 你看到的画面里钢笔位置是黑色洞(透明区域显示为黑色)
这一步的关键

Mocha 看到的画面里钢笔被"擦除"了,所以它跟踪 paper 时根本不会被钢笔污染。
你的 spline 画在两个红色印章上,正常跟踪即可——不需要任何排除遮罩。

7.4 在 Mocha 里画 spline 并跟踪

  1. 在 Mocha 第一帧画 spline,紧贴两个红色印章(或者其他高对比度锚点)
  2. 跟之前一样,可以画两个 spline 在同一个 layer 里(双 spline 法)
  3. Motion 设置:Translation + Rotation + Scale(不要 Shear / Perspective)
  4. Track Forwards 跑完整段
  5. 跟踪结束后看运动曲线——这次应该全程平滑,钢笔经过的那几秒(在新视频里那块是透明)也不会有突变

8. 第 5 步:导出 Mocha 跟踪数据应用到字图层

8.1 在 Mocha 里导出跟踪数据

  1. 选中 paper layer
  2. 菜单 File → Export Tracking Data
  3. After Effects Corner Pin [supports motion blur](最常用)
    或者 After Effects Transform Data(如果只是平移旋转)
  4. Copy to Clipboard(复制到剪贴板)

8.2 应用到字图层

  1. 回到 AE,回到你的主合成(不是无钢笔视频的合成)
  2. 选中字图层(包含"张三 / 19890604 / 2026年7月14日"的图层)
  3. Cmd+V(Win 上 Ctrl+V)粘贴
  4. 字图层上现在有 Corner Pin 效果或 Transform 关键帧
  5. 预览——字应该贴在纸面上跟着移动

9. 第 6 步:组合最终合成

你的主合成现在应该有 4 个核心图层,从下到上

顺序 图层名 作用
第 4 层(顶部) Pen_Roto 抠出的钢笔,作为前景遮挡
第 3 层 字图层(应用 Track Matte) 字内容,被 Pen_Roto 反向遮挡
第 2 层 Pen_Roto 副本 / 隐藏 作为字图层的 Track Matte 源
第 1 层(底部) 原视频 背景纸面

9.1 字图层应用反向遮罩到钢笔

  1. 选中字图层
  2. 右键 → Track Matte → Alpha Inverted Matte "Pen_Roto"
  3. 预览效果:钢笔晃过时字被钢笔正确遮挡

9.2 检查清单

  1. 字贴在纸面上跟随移动(Mocha 跟踪生效)
  2. 钢笔晃过时字被钢笔遮挡(Track Matte 生效)
  3. 钢笔走后字完整可见
  4. 预览整段无明显跳帧

9.3 渲染输出最终视频

  1. 菜单 Composition → Add to Render Queue
  2. 这次输出 H.264 / MP4 即可(成片不需要 alpha)
  3. 点 Render

10. 不导出中间视频的高级做法

如果你以后做熟了想省时间,可以跳过第 3 步的渲染输出——直接在同一个 AE 项目内让 Mocha 读取 Video_NoPen 图层。

但有个前提

Mocha AE 启动时,它读的是被选中图层的原始素材,不是图层的渲染结果
所以光在图层上加 Track Matte 不够,Mocha 看不到 Track Matte 的效果——你必须先把"无钢笔视频"预合成(Pre-compose)

10.1 预合成的步骤

  1. 选中 Video_NoPen 和它的 Track Matte 源 Pen_Roto
  2. 菜单 Layer → Pre-compose(图层 → 预合成)→ 选 Move all attributes into new composition
  3. 命名 NoPen_PreComp
  4. 主合成里现在 Video_NoPen 和 Pen_Roto 被打包成一个图层 NoPen_PreComp

10.2 在预合成上启动 Mocha

  1. 选中 NoPen_PreComp
  2. 菜单 Animation → Track in Boris FX Mocha
  3. Mocha 看到的画面里钢笔已经被擦除(因为预合成里有 Track Matte)
  4. 正常跟踪

这个做法省了一次渲染 + 一次导入——但前提是你已经熟悉 AE 的预合成概念。如果不熟悉,先用第 3 步导出中间视频的做法。

11. 常见问题

Q1: 渲染出的 PNG 序列文件夹里没有 alpha 通道

检查输出设置:

Q2: 导入 PNG 序列时 AE 把它当成一张静态图片

导入对话框底部勾选 PNG Sequence 复选框(默认有时没勾)。

Q3: Mocha 在透明区域跟丢

这不会发生——Mocha 自动跳过透明区域。如果跟丢,是因为 spline 画在了透明区域里。把 spline 移到有内容的区域(印章 / 花纹 / 字)。

Q4: Mocha 跟踪还是有偏移

不是 Mocha 的问题,可能是:

Q5: 整个流程太慢,有更快的方法吗

用第 10 章的"高级做法"——省去导出/导入中间视频。但前提是你熟悉预合成。

12. 工时估算

阶段 第一次 熟练后
看完这个教程 20 分钟
第 1-2 步:准备 Roto Brush + Track Matte 副本 10 分钟(Roto 已做完) 3 分钟
第 3 步:渲染无钢笔 PNG 序列 10-20 分钟(包括等待渲染) 10-20 分钟
第 4 步:导入 + Mocha 跟踪 20 分钟 10 分钟
第 5-6 步:导出跟踪 + 主合成组合 10 分钟 3 分钟
总计 1 - 1.5 小时 30-40 分钟
明天的推荐起手
  1. 用你已经做完 Roto Brush 的那条片段(不要换新片,先把流程走通)
  2. 按第 4-9 章节顺序做一遍
  3. 遇到任何步骤卡住,截图记录回头问
  4. 目标:第一次跑完整流程,不追求完美

万花筒模板反盗版工作流 · 解法 4 · 2026.05