达芬奇里那条会自己“长”出来的线,是我最近被问得最多的一个效果。不管是给短视频里的地图画路线、给教程圈重点、给产品图勾轮廓,还是给片头做手写标题,本质上都是同一件事——达芬奇划线效果。很多人第一次做会卡在同一个地方:线画出来了,但要么长得像机器人在拖鼠标,要么速度硬邦邦没有起收笔,要么渲染出来发现线条跟着画面跑了、糊了、甚至干脆没了。这篇就把我这两年在 Fusion 页面里反复折腾划线动画的经验完整拆一遍,从“这条线到底是什么”讲到“怎么让它长得像人手写的”,再到“怎么跟住会动的画面”。不管你是刚打开 Fusion 就被节点图吓退的新手,还是已经在用 Paint 节点但总觉得差口气的老手,下面这些参数、步骤和坑,基本都能直接抄。
1. 先弄明白“划线”到底在画什么
1.1 把“划线效果”拆成三种真实需求
“划线”这个词太笼统,落到实际项目里,它其实是三件不同的事,用的节点和思路完全不一样。第一种我称之为手绘标注线:像拿马克笔在画面上随手勾一圈、划一道、画个箭头,线本身是自由曲线,弧度不规则,目的是强调重点。第二种是几何描边线:下划线、方框、圆圈、路径进度条,形状规整、可预测,往往还要求端点精准对齐某个元素。第三种是书写型线条:模拟文字笔画或者手写签名,线条有起笔收笔的粗细变化,讲究“笔感”。
这三种需求对应的技术路线差别很大。手绘标注线用 Paint 节点最省事,画完直接用 Write On 让它逐段显现;几何描边线更适合用 Mask 配合 Transform 做缩放生长,因为可控、可精确对齐、可批量改参数;书写型线条则要看你是导入现成的矢量路径,还是干脆用 Text+ 的 Write On 做逐字呈现。我见过太多人拿 Paint 节点硬啃几何方框的,结果四个角的圆角永远对不齐,改了半小时发现换个思路三分钟就搞定了。所以第一步不是打开软件,是先想清楚你要的这条线属于哪一类。
1.2 为什么这件事必须在 Fusion 里做
剪辑页面能不能划线?能,用画中画加裁剪也能勉强做出“从左往右展开”的效果,但只要线条不是水平或垂直的,裁剪就立刻失效。Fusion 页面之所以是划线的主战场,核心原因是它处理的是节点化的图层与遮罩,线条不是一段视频素材,而是一个可以随时改宽度、改颜色、改曲率、改速度的“活对象”。
我习惯把这条逻辑讲给新人听:剪辑页面像是拼乐高,你手上的零件是现成的;Fusion 页面像是捏橡皮泥,你得先捏出这根线,再决定它怎么出现。捏的成本高一点,但后面改起来几乎零成本。比如客户说“线太粗了”“颜色换成橘红”“再慢半帧”,在 Fusion 里就是改一个数字的事,不用重画。这也是为什么我建议凡是涉及划线动画的项目,哪怕只有一条线,也直接进 Fusion,别在剪辑页面凑合。
1.3 三条实现路线的横向对比
在动手之前,先把可选路线摆清楚,省得中途反复推翻。下面这张表是我自己项目里常用的决策依据:
| 路线 | 核心节点 | 适合的线条类型 | 优点 | 主要限制 |
|---|---|---|---|---|
| 手绘路线 | Paint | 自由曲线、圈注、箭头 | 画得像手写,改色改宽都方便 | 线条不跟随画面,需额外跟踪 |
| 尺子路线 | Mask + Transform | 直线、下划线、方框、进度环 | 端点精准,参数可复用 | 曲线形状不好做,弧度受限 |
| 书写路线 | Text+ / Polyline | 文字笔画、签名、矢量图形 | 边缘干净,可缩放无损 | 依赖现成字形或路径文件 |
我的默认选择是:能画直线就别用画笔。直线用尺子路线,两分钟出效果,还能保证端点严丝合缝;只有遇到必须“有手感”的自由曲线,才切到手绘路线。这个取舍看起来是小事,但它决定了你后面改稿时是骂人还是喝咖啡。
2. 手绘路线:用 Paint 节点做出会生长的笔触
2.1 节点搭建与笔触参数的第一遍设置
打开 Fusion 页面,把时间线里的素材拖进来,你会看到一个 MediaIn 节点。按 Shift+空格调出节点搜索,输入 Paint,回车。默认情况下 Paint 会自动接在选中节点的后面,如果没接上,手动拖一条线连过去,顺序是MediaIn → Paint → MediaOut(实际项目里中间通常还要插 Merge,后面讲跟踪时细说)。
Paint 节点右侧的检查器里,第一组参数是笔刷控制。这里有几个值必须先定下来,不然后面画出来的线你自己都不想看:
- Size(笔宽):1080p 项目我一般给 4 到 6 像素,4K 项目按 1.8 倍左右放大到 8 到 10 像素。线条太细在手机屏上看不清,太粗又显得笨重,5 像素左右是短视频场景里比较稳的甜点值。
- Softness(软边):0.6 到 1.2 之间。这个值不是越大越好,它负责让线条边缘有一点点过渡,抵抗锯齿,但超过 2 就会明显发虚,看起来像失焦。
- Color(颜色):深色画面上用高饱和亮色,比如柠黄、荧光橙;浅色画面上用深蓝、正红。这里有个经验:不要用纯白和纯黑,纯白在压缩后容易溢色糊成一团,纯黑在暗部会糊进背景。
- Opacity(不透明度):除非要做半透明的水印感标注,否则直接给 1。
参数设完不要急着画。先在视窗里把播放头拖到第 0 帧,确认你画的线是从头开始出现的——Paint 节点默认在所有帧上都显示完整笔画,生长效果要靠下一步的 Write On 参数来驱动。
2.2 Write On:让笔画按时间逐段显现
画完线之后,在 Paint 节点的检查器里找到Write On这一组参数,把开关打开。这一组里有三个关键值,理解了它们,划线的时间控制就彻底通了:
- Duration(时长):单位是帧,不是秒。25fps 的项目里,一条横跨整个画面的线,我一般给 18 到 25 帧,也就是 0.7 到 1 秒。这个时长有讲究:短于 12 帧,观众眼睛跟不上,感觉是“闪”出来的;长于 35 帧,节奏会拖,观众开始走神。
- Offset(延迟):也是帧。当画面里有多条线要依次出现时,第二条的 Offset 设成第一条的 Duration,以此类推,就能做出“一笔接一笔”的连贯感。
- Reverse(反向):勾上之后线条从尾往头长。有些场景特别好用,比如从文字末端往回划,视觉上像在“收回”重点。
这里有个很多人踩过的坑:Write On 是整个 Paint 节点级别的参数,不是单条笔画级别的。也就是说,如果你在同一个 Paint 节点里画了三条线,它们会同时开始生长。想让它们依次出现,要么分成三个 Paint 节点各自控制,要么用 Multi Stroke 配合不同的偏移。我早期的做法是图省事全画在一个节点里,结果客户要求“第二条晚半秒”,只能重做,血的教训。
速度的换算也值得说一句。假设一条线横跨 1920 像素宽的画面,用 20 帧画完,平均每帧推进 96 像素。人手画线的真实节奏不是匀速:起笔慢、中段快、收笔又慢下来。Write On 默认是线性推进,所以刚做出来的效果总有一种“机器在拖鼠标”的僵硬感。解决办法在后面 2.3 和 3.3 里讲。
2.3 让线条有“手写气”的两个微调
第一个微调是速度曲线。选中 Write On 参数上的关键帧,切到样条编辑器,把首尾两个关键帧的缓动拉成明显的 S 形:起手 15% 的时间走 10% 的进度,中段 70% 的时间走 80% 的进度,收尾 15% 的时间走 10%。这个比例不是玄学,它对应的是真实书写时手部加速再减速的物理节奏。如果嫌手动拉麻烦,选中关键帧后按 F 做一次平滑,多数情况下也够用,但重要镜头我还是会手动拉一遍。
第二个微调是粗细与抖动。真实的马克笔线条,粗细是不均匀的,尤其在转折处会稍微变粗。要模拟这一点,可以在 Paint 的 Size 上挂一个 Perturb(扰动)修改器,把幅度设成笔宽的 10% 到 15%,频率给低一点,比如 2 到 4。这样整条线在生长过程中粗细会自然起伏,肉眼几乎察觉不到它在“抖”,但对比关掉扰动的版本,差别非常明显。我做过一组盲测,同一条线加不加这个扰动,十个人里有八个认为加了的那条“更像人画的”。
还有一个细节:起笔和收笔的端点。Paint 画出来的线两端是圆头,这基本够用。如果你要更像钢笔,可以把笔刷形状从圆形改成扁椭圆(Ratio 调到 0.7 左右,Angle 跟着线条方向走),端点就会变成略带斜切的形状。这个改动很小,但在特写镜头里质感提升明显。
3. 尺子路线:用 Mask 与 Transform 做精准划线
3.1 直线、下划线、方框的通用做法
先说最典型的场景:标题文字下面划一条横线。做法是新建一个 Background 节点,把它的 Width 参数压成一条细条(比如 0.6),Height 压到很小(比如 0.008),颜色给成亮色,然后把它 Merge 到画面之上。位置用 Transform 节点调,把 Center 的 Y 值对准文字底部往下一点的位置。
关键在生长的实现:不要用 Width 打关键帧,那样是从中心往两边同时展开,看起来像“撑开”而不是“划过去”。正确做法是把 Transform 节点的Pivot(中心点)挪到线条的左端,然后在 Transform 的 X Size 上打关键帧,从 0 到 1。因为缩放的中心在左端,线条就会老老实实从左往右长出来。这个技巧我用了很多年,比任何花哨的特效都可靠。
方框的划法同理,但要四条边依次出现,就得做四个 Background,各自设不同的 Pivot 和延迟,再依次 Merge。听起来繁琐,实际做一遍之后你会发现它比画笔精确得多——四条边能严格对齐,边角不会画出界,改尺寸的时候所有参数一起改就行。
| 形状 | 建议节点 | 生长参数 | Pivot 位置 |
|---|---|---|---|
| 横下划线 | Background + Transform | X Size 0→1 | 线条左端 |
| 竖分隔线 | Background + Transform | Y Size 0→1 | 线条顶端 |
| 矩形框 | 四个 Background 串联 | 各自单轴 Size | 各自起始角 |
| 圆形进度 | Ellipse Mask + 旋转遮罩 | 遮罩角度 | 圆心 |
3.2 圆形与进度环:用遮罩扫出弧段
圆形的划线比直线麻烦,因为不能简单地拉一个轴的缩放。我的做法是两步:先用 Ellipse Mask 生成一个环——把 Border Width 设成想要的线宽比例(注意这个值是相对遮罩尺寸的比例,不是像素),把 Soft Edge 给到 0.5 左右,然后把它叠加到画面上,就得到了一条完整的圆环。第二步是让它“长”出来:新建一个 Polygon Mask,画一个以圆心为顶点、张角足够大的扇形,盖住圆环的一部分,把这个扇形作为遮罩去裁剪圆环。
然后给扇形的角度打关键帧,从 0 度转到 360 度,配合缓动,圆环就会被一段一段“擦”出来。这里有个细节必须注意:扇形的旋转中心必须精确落在圆心上,差一两个像素,边缘就会出现一道歪掉的切口。我的习惯是先把圆心坐标用 Ellipse Mask 的 Center 值读出来,直接粘贴到 Polygon 的 Pivot 上,不靠肉眼对。
如果想做“缺口式”的进度环(比如只画 270 度就停),把角度关键帧的终点设成 270 而不是 360,剩下的部分自然留空,视觉上反而更透气。
3.3 缓动曲线怎么调才不“死板”
尺子路线最容易犯的错,是全程线性。线性的直线生长看起来像卷尺在弹出来,非常出戏。我的标准配置是:前 20% 的时间走 30% 的进度,后 30% 的时间走 15% 的进度,中段保持接近匀速。这样起手有一点“蓄力”,收尾有一点“刹车”,中间利落。
具体操作上,在样条编辑器里选中 X Size 或角度参数的三个关键帧——起点、中点、终点,把起点和终点的切线拉平,中点保持陡。如果你懒得算,还有一个偷懒但有效的办法:给关键帧加 Ease In/Ease Out,然后把 Ease 的强度调到 0.65 左右,实测下来这个值在大多数节奏里都不会太生硬。
提示:不同版本 Fusion 里缓动参数的入口位置略有差异,有的在关键帧右键菜单,有的在样条编辑器工具栏。找不到的时候先搜“Ease”,别怀疑自己版本装错了。
另外,划线动画的时长要和镜头节奏匹配。一个 3 秒的镜头里,一条线画 1.2 秒就太长了,观众会觉得拖;一个 8 秒的讲解镜头里,1.5 秒反而是合适的。我一般按镜头总长的 15% 到 25% 来定划线时长,这个区间最不容易出错。
4. 让划线跟着画面走:跟踪与合成的坑
4.1 素材有运镜时的三种绑定方式
这是划线效果里最容易翻车的地方。Paint 节点画出来的线,本质是“贴在屏幕上的”,画面一移动,线就原地不动了,看起来像贴在玻璃上的一层贴纸。处理这个问题有三条路:
第一条是点跟踪。在前面加一个 Tracker 节点,在画面上选一个特征明显的点解算,然后把 Paint 的每条笔画绑定到这个跟踪点上。Paint 的笔画面板里有一个 Tracker 下拉,绑上之后线条就会跟着那个点走。适合画面有平移但形变不大的情况。
第二条是平面跟踪。画面如果有明显的透视变化,比如俯拍桌面、镜头绕着物体转,点跟踪会飘。这时候用 Planar Tracker 解算一个平面,再把 Paint 的条纹绑上去,稳定得多。这条路的代价是解算时间长,一段五秒的素材可能要跑一两分钟。
第三条是手动偏移。如果镜头运动很简单,比如只是慢速横移,与其折腾跟踪,不如直接在 Paint 的笔画上打位置关键帧,手动跟。我知道这听起来很土,但在三五秒的短镜头里,手动跟十来个关键帧花的时间比解算还少,效果也够看。
| 跟踪方式 | 适用场景 | 耗时 | 稳定性 |
|---|---|---|---|
| 点跟踪 | 平移、无透视 | 快 | 一般 |
| 平面跟踪 | 透视变化、旋转 | 慢 | 高 |
| 手动关键帧 | 短镜头、简单运动 | 极快 | 取决于手 |
4.2 Merge 与通道设置:线条凭空消失的原因
合成的时候,正确的节点顺序是MediaIn → Merge(前景导入 Paint 结果)→ MediaOut。很多人第一次做会把 Paint 直接连到 MediaOut,结果输出就是一条线在纯黑背景上,画面全没了。原因很简单:Paint 节点只负责生成笔画,不负责合成,它是把笔画覆盖在输入上,但输出的 Alpha 通道处理不当就会把背景吃掉。
我的标准接法是:MediaIn 接 Paint,Paint 接 Merge 的前景输入,同时 MediaIn 再接一份到 Merge 的背景输入。Merge 的 Apply Mode 保持 Normal。如果发现线条边缘有黑边或者半透明异常,去检查 Merge 的 Alpha 处理方式,把预乘相关的选项切换一下试试。这个细节在老版本里确实是个坑,新版本默认值一般是对的,但我还是习惯先渲染一帧静帧确认。
注意:Fusion 内部是 32 位浮点运算,线条颜色在视窗里看着可能和最终输出有一点偏差。别在视窗里调色调到完美,渲染一帧回来对照,这是最省事也最可靠的做法。
还有一点关于分辨率。如果你在 1080p 时间线里画了线,后来项目改成 4K,Paint 的笔画宽度是按像素算的,不会自动缩放,线条会突然变得极细。这时候必须在 Paint 的笔宽上乘以缩放系数(4K 相对 1080p 大约是 1.8 倍),或者干脆在 Fusion 里用 Transform 整体放大。我吃过这个亏,交片前十分钟才发现线条细得像头发丝。
5. 常见问题与排查速查表
5.1 视觉类问题:线虚、线抖、颜色不对
线条发虚是最常见的疑问。九成情况下这不是参数问题,而是视窗缩放比例不是 100%。视窗缩到 50% 看线条,任何线都会显得毛糙,渲染出来其实是干净的。判断方法很简单:把视窗切到 100% 看局部,或者直接渲染一帧静帧回来检查。如果 100% 下确实虚,那才是 Softness 给多了,往回压到 0.8 以内。
线条抖动分两种。一种是位置抖,通常是跟踪解算不稳或者关键帧太少,解法是增加跟踪点或补关键帧;另一种是粗细抖,多半是 Perturb 修改器的频率给太高了。频率超过 8 之后,线条会呈现高频颤动,看起来像信号干扰而不是手写感,把频率压到 2 到 4 之间立刻就好。
颜色不对常见于两种场景:一是在深色背景上用荧光色,饱和度拉满但亮度不够,压缩后会被压暗;二是用了纯白,编码压缩后周边出现溢色。我的做法是把颜色饱和度给到 85% 左右,亮度比纯色低一档,同时在线条上加一层很弱的 Glow(强度 0.2 到 0.3,阈值调高),让边缘有轻微的光晕过渡,反而更抓眼。
5.2 时间类问题:速度不匀与关键帧错位
线条长了但速度突然变了,通常是关键帧被后面插入的编辑点带偏了。剪辑页面里一剪,Fusion 里的时间映射就变了,原来 20 帧画完的线可能变成 12 帧。处理办法是尽量在锁定剪辑之后再进 Fusion 做划线,或者在 Fusion 里用绝对帧数而不是相对比例来控制时长。
多条线的出现顺序乱了,基本是 Offset 没算对。记住一个公式:第 N 条线的起始帧 = 前 N-1 条线的 Duration 之和。三条线各 15 帧,那第三条的 Offset 就是 30。如果 Offset 是负数,线条会提前开始,视觉上就会和第一条重叠,看起来乱成一团。
线条出现后突然闪一下消失,这个问题我遇到过两次,原因都是后面的关键帧被误拖了。检查方法是在样条编辑器里全选所有关键帧,看有没有孤立在时间轴末尾的碎帧。删掉多余的帧,问题立刻消失。
5.3 输出类问题:渲染后效果丢失
渲染出来没有线条,先检查三件事:第一,Paint 节点是否真的在 MediaOut 的上游,有没有被别的节点覆盖;第二,Write On 的 Duration 是否被设成了 0;第三,输出格式是否支持 Alpha,某些编码会把透明区域直接压成黑色。
渲染后线条边缘有锯齿,这在 H.264 输出里很常见,尤其是细线加高对比度的组合。缓解办法有两个:一是线条宽度不要低于 4 像素,太细的线在任何编码里都会碎;二是在交付页面把编码质量拉高,或者先渲染 ProRes 中间文件再转码,这一步多花的几分钟能省下客户投诉。
线条在移动端看起来忽粗忽细,这是播放器缩放造成的,不是渲染问题。验证方法是在电脑上按 100% 看一遍,如果没问题就不用改。真要在小屏上稳,把笔宽从 4 提到 5 或 6,牺牲一点精致度换稳定,性价比更高。
| 现象 | 大概率原因 | 处理动作 |
|---|---|---|
| 渲染无线条 | 节点未接入输出链 / Duration 为 0 | 检查节点顺序与 Write On 参数 |
| 线条边缘锯齿 | 笔宽过细 / 编码质量低 | 笔宽提到 5 以上,提高码率 |
| 移动端粗细不一 | 播放器缩放 | 电脑 100% 复核,必要时加粗 |
| 线条跟丢画面 | 未绑定跟踪 | 接 Tracker 或手动打位置帧 |
6. 把划线做成可复用的资产
6.1 存成宏,下次直接拖出来用
每次重画一遍线是最没效率的做法。我的习惯是把调好的整套节点(Paint + Merge + Glow + 缓动关键帧)框选起来,右键存成一个宏,命名成“手绘划线-亮色-快”。下次做同类项目,从节点库里直接拖出来,改个颜色和宽度就能用。
宏里最值得保留的是缓动曲线。关键帧的缓动形状是可以随宏一起保存的,这意味着你不用每次都重新拉一遍 S 形。我现在的库里大概有六七个划线宏,按颜色和速度分档:快节奏的 12 帧版、讲解类的 25 帧版、慢镜头的 40 帧版。实际做项目的时候,选一个最接近的,微调两下就交付。
6.2 批量改色与批量改速的偷懒办法
如果一条片子里有十几处划线,逐个改颜色会疯。我的做法是把颜色抽出来,统一接到一个 Background 节点或者用表达式控制。举个例子,用一个表达式让线条宽度随时间线性变化:
-- Background 节点的 Width 参数,从 0 线性长到 0.6 0.6 * (time / comp.RenderEnd)表达式的好处是改一个全局值,所有引用它的线条同步变化。改速度同理,把 Duration 用一个共享变量控制,需要整体加快的时候改一处就够。这套做法在批量生产内容的时候特别省时间,虽然前期要多花二十分钟搭结构,但后面每条片子都能省下十分钟。
我个人的体会是,划线效果真正的门槛不在“会不会做”,而在“做得像不像人”和“改起来快不快”。前者靠缓动和扰动那点小心思,后者靠提前把结构搭好。刚开始做的时候我也是一帧一帧抠,做十条线花一晚上;现在同样的活,节点搭好之后基本是十分钟的事,剩下的时间都花在调整节奏上——毕竟观众记住的从来不是线条本身,而是它出现的那一下有没有打到点上。