AE 解法 4 教程 · 先抠后跟
1. 为什么用解法 4(核心原理)
Mocha 跟踪会被画面里的钢笔污染——因为它把钢笔的运动当成纸的运动。
解决方案:在 Mocha 看到画面之前,把钢笔从画面里"抠掉"。
Mocha 看到的就是干净的纸面,跟踪自然不会出错。
类比:
- Mocha 是个近视的人,画面里出现的所有东西它都会"看"
- 钢笔像戴在 Mocha 眼前的一片黑布,让它看错
- 解法 4 = 在 Mocha 眼前先把黑布拿掉,再让它看
和解法 3 的区别:
- 解法 3:告诉 Mocha "请忽略这块区域"(用 Subtract Blend Mode)—— Mocha 内部处理
- 解法 4:让 Mocha 看到的画面里根本没有钢笔(输入端处理)
解法 4 的优势:精度高、不会出 "tracking terminated prematurely" 这种错、概念直观。
2. 整体流程图
↓
做一个"钢笔区域透明"的视频副本
↓
渲染输出 PNG 序列(带 alpha)
↓
导入这个 PNG 序列到 Mocha 做 paper 跟踪
↓
导出跟踪数据 → 应用到字图层
↓
最终合成:原视频 + 字(带跟踪)+ 钢笔(在字之上做遮挡)
3. 前置准备
- 原视频片段(含钢笔晃过的几秒)
- 你已经在 AE 里做完 Roto Brush 2 抠出钢笔,并冻结(Freeze)
- 一台磁盘有 1-2 GB 剩余空间的电脑(要存中间渲染文件)
建议你新建一个干净的 AE 项目专门做这条片,避免和其他工作混在一起。
4. 第 1 步:准备 Roto Brush 钢笔抠像层
这一步你应该已经做完了。确认一下:
- AE 里有一个图层(暂称
Pen_Roto),是原视频应用了 Roto Brush 2 的结果 - 这个图层的内容是只有钢笔可见、其他区域透明
- 已经 Freeze(冻结)过,所有帧都抠对了
在时间轴上把这个图层单独显示(关掉其他图层眼睛图标),播放——应该看到一支钢笔在透明背景上移动。
5. 第 2 步:制作无钢笔视频图层
核心动作:复制原视频 → 应用 Roto Brush 的反向遮罩 → 钢笔区域变透明。
- 在时间轴上选中原视频图层,按 Cmd+D 复制(Windows 上 Ctrl+D)
- 给副本命名
Video_NoPen(双击图层名修改) - 把
Video_NoPen拖到Pen_Roto上方(顺序:上 = Video_NoPen,下 = Pen_Roto) - 右键 Video_NoPen → Track Matte → Alpha Inverted Matte "Pen_Roto"
- 这一步执行后:
- Video_NoPen 的钢笔区域变透明(被 Pen_Roto 的 alpha 反向遮罩)
- Pen_Roto 在时间轴上图标会变成一个连接符号(matte 链接)
单独显示 Video_NoPen 这一层(其他图层关眼睛)—— 你应该看到纸面背景,但钢笔位置是透明/黑色洞(取决于合成背景色)。
如果钢笔仍然可见 —— Track Matte 没设对,重新设。
6. 第 3 步:渲染无钢笔视频(输出 PNG 序列)
Mocha 需要一个独立的视频文件来读取。所以要把 Video_NoPen 的结果渲染输出。
PNG 序列 / TIFF 序列 / QuickTime ProRes 4444 / QuickTime PNG —— 都可以。
不能用 H.264 / MP4 —— 这些格式不支持 alpha 通道。
6.1 隐藏其他图层
- 把 Pen_Roto 和所有其他图层的眼睛关掉,只剩 Video_NoPen 可见
- 注意:即使关了眼睛,Pen_Roto 作为 Track Matte 仍然在生效(不要删它)
6.2 设置合成背景为透明
- 菜单
Composition → Composition Settings - 不需要改背景色——AE 默认合成背景对渲染输出来说是透明的(如果输出格式支持 alpha)
6.3 发送到渲染队列
- 菜单
Composition → Add to Render Queue - 在 Render Queue 面板(一般在底部),点
Output Module(默认是 Lossless) - 修改:
- Format:PNG Sequence(PNG 序列)
- Channels:RGB + Alpha(必须有 Alpha)
- Depth:Millions of Colors+(百万色+ 表示含 alpha)
- 点
Output To选保存位置——建议建个文件夹叫NoPen_Sequence - 点 Render 按钮 → 等待渲染完成
1 分钟视频在普通 Mac 上约 3-8 分钟(取决于分辨率和复杂度)。
7. 第 4 步:在 AE 里导入无钢笔视频做 Mocha 跟踪
7.1 导入 PNG 序列
- 菜单
File → Import → File(文件 → 导入 → 文件) - 导航到刚才输出的
NoPen_Sequence文件夹 - 选中第一张 PNG(比如 0000.png)
- 勾选底部的 PNG Sequence 选项(让 AE 把它当连续视频导入)
- 导入完成后,Project 面板会有一个视频文件
7.2 新建合成放进去
- 右键这个视频 →
New Comp from Selection(从所选项目创建合成) - AE 自动建一个和视频尺寸/时长一样的合成
7.3 启动 Mocha
- 选中无钢笔视频图层
- 菜单
Animation → Track in Boris FX Mocha(动画 → 在 Mocha 里跟踪) - Mocha 启动 → 你看到的画面里钢笔位置是黑色洞(透明区域显示为黑色)
Mocha 看到的画面里钢笔被"擦除"了,所以它跟踪 paper 时根本不会被钢笔污染。
你的 spline 画在两个红色印章上,正常跟踪即可——不需要任何排除遮罩。
7.4 在 Mocha 里画 spline 并跟踪
- 在 Mocha 第一帧画 spline,紧贴两个红色印章(或者其他高对比度锚点)
- 跟之前一样,可以画两个 spline 在同一个 layer 里(双 spline 法)
- Motion 设置:Translation + Rotation + Scale(不要 Shear / Perspective)
- 点 Track Forwards 跑完整段
- 跟踪结束后看运动曲线——这次应该全程平滑,钢笔经过的那几秒(在新视频里那块是透明)也不会有突变
8. 第 5 步:导出 Mocha 跟踪数据应用到字图层
8.1 在 Mocha 里导出跟踪数据
- 选中 paper layer
- 菜单
File → Export Tracking Data - 选 After Effects Corner Pin [supports motion blur](最常用)
或者 After Effects Transform Data(如果只是平移旋转) - 点 Copy to Clipboard(复制到剪贴板)
8.2 应用到字图层
- 回到 AE,回到你的主合成(不是无钢笔视频的合成)
- 选中字图层(包含"张三 / 19890604 / 2026年7月14日"的图层)
- 按 Cmd+V(Win 上 Ctrl+V)粘贴
- 字图层上现在有 Corner Pin 效果或 Transform 关键帧
- 预览——字应该贴在纸面上跟着移动
9. 第 6 步:组合最终合成
你的主合成现在应该有 4 个核心图层,从下到上:
| 顺序 | 图层名 | 作用 |
|---|---|---|
| 第 4 层(顶部) | Pen_Roto | 抠出的钢笔,作为前景遮挡 |
| 第 3 层 | 字图层(应用 Track Matte) | 字内容,被 Pen_Roto 反向遮挡 |
| 第 2 层 | Pen_Roto 副本 / 隐藏 | 作为字图层的 Track Matte 源 |
| 第 1 层(底部) | 原视频 | 背景纸面 |
9.1 字图层应用反向遮罩到钢笔
- 选中字图层
- 右键 →
Track Matte → Alpha Inverted Matte "Pen_Roto" - 预览效果:钢笔晃过时字被钢笔正确遮挡
9.2 检查清单
- 字贴在纸面上跟随移动(Mocha 跟踪生效)
- 钢笔晃过时字被钢笔遮挡(Track Matte 生效)
- 钢笔走后字完整可见
- 预览整段无明显跳帧
9.3 渲染输出最终视频
- 菜单
Composition → Add to Render Queue - 这次输出 H.264 / MP4 即可(成片不需要 alpha)
- 点 Render
10. 不导出中间视频的高级做法
如果你以后做熟了想省时间,可以跳过第 3 步的渲染输出——直接在同一个 AE 项目内让 Mocha 读取 Video_NoPen 图层。
Mocha AE 启动时,它读的是被选中图层的原始素材,不是图层的渲染结果。
所以光在图层上加 Track Matte 不够,Mocha 看不到 Track Matte 的效果——你必须先把"无钢笔视频"预合成(Pre-compose)。
10.1 预合成的步骤
- 选中 Video_NoPen 和它的 Track Matte 源 Pen_Roto
- 菜单
Layer → Pre-compose(图层 → 预合成)→ 选 Move all attributes into new composition - 命名
NoPen_PreComp - 主合成里现在 Video_NoPen 和 Pen_Roto 被打包成一个图层 NoPen_PreComp
10.2 在预合成上启动 Mocha
- 选中 NoPen_PreComp
- 菜单
Animation → Track in Boris FX Mocha - Mocha 看到的画面里钢笔已经被擦除(因为预合成里有 Track Matte)
- 正常跟踪
这个做法省了一次渲染 + 一次导入——但前提是你已经熟悉 AE 的预合成概念。如果不熟悉,先用第 3 步导出中间视频的做法。
11. 常见问题
Q1: 渲染出的 PNG 序列文件夹里没有 alpha 通道
检查输出设置:
- Output Module → Channels 必须是 RGB + Alpha(不是 RGB)
- Depth 必须包含 + 号(Millions of Colors+)
Q2: 导入 PNG 序列时 AE 把它当成一张静态图片
导入对话框底部勾选 PNG Sequence 复选框(默认有时没勾)。
Q3: Mocha 在透明区域跟丢
这不会发生——Mocha 自动跳过透明区域。如果跟丢,是因为 spline 画在了透明区域里。把 spline 移到有内容的区域(印章 / 花纹 / 字)。
Q4: Mocha 跟踪还是有偏移
不是 Mocha 的问题,可能是:
- spline 范围太大,包含了画面边缘 → 缩小
- 有其他遮挡物(手指、印泥)→ 也用 Roto Brush 抠掉
- 纸面运动太快 → 单独问
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 分钟 |
- 用你已经做完 Roto Brush 的那条片段(不要换新片,先把流程走通)
- 按第 4-9 章节顺序做一遍
- 遇到任何步骤卡住,截图记录回头问
- 目标:第一次跑完整流程,不追求完美
万花筒模板反盗版工作流 · 解法 4 · 2026.05