软件准备
制作特效字幕所需的软件如下:
- Arctime Pro:制作特效字幕的主力软件,界面现代、美观,预览方便;
- PopSub(提取码:
kh7e
)(官网):制作特效字幕的辅助工具,用于生成特效代码,如果你能够直接手撸代码,不用它也可以。软件首次启动需要口令:POPGO-FANSUB
。
基本操作
首先简单讲一下界面:
左边是预览区,在一开始,将视频文件拖到这里就可以载入。
如果你有预先准备好的完整字幕台本,可以直接粘贴到右边,它会在你打轴的时候一行一行自动填入,如果没有,留空就可以。
底部是字母轴管理区,还有辅助你判断位置的声音波形。我已使用截图所示的「JK 键拍打工具」按照视频打了一小段的轴,结果就是一段一段的半透明黄色色块,双击它们,就能向其中添加字幕文本。
所谓「JK 键拍打工具」,就是让你用键盘上的 J K 两个键轮替长按,在时间轴上留下一段段的字幕槽。一个小的经验之谈是,字幕可以比声音更早一点点展示,比声音更晚一点点消失。
样式设置
首先展示如何操作:
按图中所示顺序就能编辑默认的字体样式。你可以按照需要调整字体、大小、位置等,使之适合画面。
Arctime Pro 的字幕轴类似于 Photoshop,拥有多个「字幕层」,你只要定义不同层位于不同的区域,就能防止它们相互遮挡。这一点可以依靠字幕的分组管理来实现:
「默认字幕」点选了哪个组,新创建的字幕块就会隶属于哪个组。
所以你可以看到画面顶部有了一行注释。现在你应该已经可以完成基本的字幕制作了。
特效设置
到了这一步,我们就可以用 PopSub 来辅助我们编写 ASS 效果代码了。
按下图所示顺序操作,你就可以获得一段简单的、可以让字幕移动起来的效果代码:
坐标的原点是画面的左上角。稍微调整一下数值,将不带尖括号({}
)的代码复制粘贴到 Arctime Pro 里边:
就能让「大婶」俩字跟随人物移动了:
所以你也可以看到,最后起效果的就是代码,如果你能直接掌握代码,那么丢掉 PopSub 这根「拐棍」也完全没问题。
这里有一份 ASS 字幕特效代码大全,你可以照着查、试。下面提供一些用于抛砖引玉的简单设置,图形化界面能够直接调整的就不在后文中提及了。
换行(\N)
此代码需要直接同字幕文本写在一起,而不能写入效果代码部分,下面是实例:
字幕文本:「腿好了,去年腿还好的不就忽悠瘸了吗?今年你看我给他怎么忽悠他上车的」
可以看到由于太长,两侧已经溢出无法显示了。此时需要在文本中添加一个换行符:
新的文本:「腿好了,去年腿还好的不就忽悠瘸了吗?\N今年你看我给他怎么忽悠他上车的」
该代码也同时适用于制作中英双语字幕。中文部分结束换行,并定义英文字幕的另一种小字号样式即可。
动态效果(\t)
此代码有 4 个参数:
- 开始时间,单位毫秒,如省略就以字幕开始时间为准,起算点是字幕出现的时间点;
- 结束时间,单位毫秒,如省略就以字幕结束时间为准,起算点是字幕出现的时间点;
- 加速度,默认值是 1,小于 1,会令动态效果速度减慢;反之则会加快;
- 目标效果,移动、字号、缩放、旋转、间距、变色、透明度……
一个简略的动态效果代码形如 \t(\fscy500)
(\fsc
在下面讲解):
一个完整的动态效果代码形如 \t(1000,2000,2,\fscy500)
。意思就是说,字幕出现后 1 秒钟再开始变化,在字幕出现后 2 秒完成变化,即变化用时 1 秒,且变化速度是加快的。
再比如 \fs1\t(\fs30)
,从 1 像素逐渐放大到 30 像素,适合跟随那些由远及近的文字内容。
动态效果的嵌套
你可能已经注意到 \t 身后有括号,这就意味着括号是可以层层嵌套的,\t 里边还能有 \t,形如
|
|
这是一个快速的抖动效果。
缩放(\fsc)
此代码有 2 个参数:
- 缩放方向,
x
表示横向,y
表示纵向; - 缩放大小,单位是 %,不可小于零,默认值为 100。
一个完整的缩放代码形如 \fscy500
:
字间距(\fsp)
此代码只有 1 个参数:
- 间距值,单位像素,可正可负,默认 0。
一个完整的字间距代码形如 \fsp-10
:
旋转(\fr)
此代码有 2 个参数:
- 旋转时的参考轴:
- x - 水平轴;
- y - 竖直轴;
- z - 垂直于屏幕面的轴;
- 角度,正为逆时针,反之为顺。
一个完整的缩放代码形如 \frx45
:
再比如 \fry45
:
还比如 \frz45
:
当然它们也能组合着使用,如 \frx45\fry45
:
像这样的透视关系,就非常适合用来匹配视频画面中的店铺标牌等。再加一个移动代码,就能让字幕跟上移动的标牌。
移动(\move)
此代码有 3 组参数:
- 移动开始的横纵坐标,坐标原点(0,0)位于左上角;
- 移动结束的横纵坐标,坐标原点(0,0)位于左上角;
- 移动开始和结束的时间点,如省略就以字幕开始和结束的时间为准,单位也是毫秒。
一个完整的移动代码形如 \move(200,400,280,400,100,300)
,可以看到纵坐标都是 400 没变,而横坐标有变动。字幕出现 0.1 秒后开始向右移动,移动耗时 0.2 秒,移动的距离是 80 个单位,这个在前文中已经作为例子展示过了。
淡入淡出(\fad)(\fade)
\fad
有 2 个参数:
- 淡入耗时,单位毫秒;
- 淡出耗时,单位毫秒。
一个简单的淡入淡出代码形如 \fad(1000,1000)
,淡入淡出的时间跟随字幕本身的时间轴。
\fade
有 3 组参数:
- 淡入前的透明度、显示时的透明度、淡出后的透明度,范围是 0~255,值越大透明度越高;
- 淡入前后的时间点;
- 淡出前后的时间点。
一个完整的淡入淡出代码形如 \fade(255,0,100,0,500,1500,3500)
,这样设置,在淡出完成后,字幕还会半透明存在一段时间,如果字幕总长大于 3.5 秒的话。
对齐(\a)
用值(比如 \a6
就可以顶部居中)可以很方便地对齐,具体如下:
左 | 中 | 右 | |
---|---|---|---|
上 | 5 | 6 | 7 |
中 | 9 | 10 | 11 |
下 | 1 | 2 | 3 |
横幅(Banner)
此代码有 3 个参数(注意,它和之前带斜杠的代码不同):
- 速度,单位是秒/1000 像素,如果设为 10,就表示 10 秒/1000 像素,即每秒 100 像素的速度。由此可知,值越小,跑得就越快;
- 方向,0 表示从右到左,1 表示从左到右,默认为 0;
- 淡入淡出范围,可留空。
一个完整的横幅代码形如 Banner;5;0;10
:
它还可以同其他效果共同使用,形如 Banner;5;0;10,{\a6\frx45}
:
结语
尽情探索吧!如果发现有什么好玩的用法,也欢迎你在下方留言。