Featured image of post ASS 特效字幕基础教程

ASS 特效字幕基础教程

特效字幕真酷,那么它们是如何制作的呢?我探究了一下制作方法,得到了本篇原创教程,旨在抛砖引玉。

软件准备

制作特效字幕所需的软件如下:

  • Arctime Pro:制作特效字幕的主力软件,界面现代、美观,预览方便;
  • PopSub(提取码:kh7e)(官网):制作特效字幕的辅助工具,用于生成特效代码,如果你能够直接手撸代码,不用它也可以。软件首次启动需要口令:POPGO-FANSUB

基本操作

首先简单讲一下界面:

左边是预览区,在一开始,将视频文件拖到这里就可以载入。

如果你有预先准备好的完整字幕台本,可以直接粘贴到右边,它会在你打轴的时候一行一行自动填入,如果没有,留空就可以。

底部是字母轴管理区,还有辅助你判断位置的声音波形。我已使用截图所示的「JK 键拍打工具」按照视频打了一小段的轴,结果就是一段一段的半透明黄色色块,双击它们,就能向其中添加字幕文本。

所谓「JK 键拍打工具」,就是让你用键盘上的 J K 两个键轮替长按,在时间轴上留下一段段的字幕槽。一个小的经验之谈是,字幕可以比声音更早一点点展示,比声音更晚一点点消失。

样式设置

首先展示如何操作:

按图中所示顺序就能编辑默认的字体样式。你可以按照需要调整字体、大小、位置等,使之适合画面。

Arctime Pro 的字幕轴类似于 Photoshop,拥有多个「字幕层」,你只要定义不同层位于不同的区域,就能防止它们相互遮挡。这一点可以依靠字幕的分组管理来实现:

「默认字幕」点选了哪个组,新创建的字幕块就会隶属于哪个组。

所以你可以看到画面顶部有了一行注释。现在你应该已经可以完成基本的字幕制作了。

特效设置

到了这一步,我们就可以用 PopSub 来辅助我们编写 ASS 效果代码了。

按下图所示顺序操作,你就可以获得一段简单的、可以让字幕移动起来的效果代码:

坐标的原点是画面的左上角。稍微调整一下数值,将不带尖括号({})的代码复制粘贴到 Arctime Pro 里边:

就能让「大婶」俩字跟随人物移动了:

所以你也可以看到,最后起效果的就是代码,如果你能直接掌握代码,那么丢掉 PopSub 这根「拐棍」也完全没问题。

这里有一份 ASS 字幕特效代码大全,你可以照着查、试。下面提供一些用于抛砖引玉的简单设置,图形化界面能够直接调整的就不在后文中提及了。

换行(\N)

此代码需要直接同字幕文本写在一起,而不能写入效果代码部分,下面是实例:

字幕文本:「腿好了,去年腿还好的不就忽悠瘸了吗?今年你看我给他怎么忽悠他上车的」

可以看到由于太长,两侧已经溢出无法显示了。此时需要在文本中添加一个换行符:

新的文本:「腿好了,去年腿还好的不就忽悠瘸了吗?\N今年你看我给他怎么忽悠他上车的」

该代码也同时适用于制作中英双语字幕。中文部分结束换行,并定义英文字幕的另一种小字号样式即可。

动态效果(\t)

此代码有 4 个参数:

  1. 开始时间,单位毫秒,如省略就以字幕开始时间为准,起算点是字幕出现的时间点;
  2. 结束时间,单位毫秒,如省略就以字幕结束时间为准,起算点是字幕出现的时间点;
  3. 加速度,默认值是 1,小于 1,会令动态效果速度减慢;反之则会加快;
  4. 目标效果,移动、字号、缩放、旋转、间距、变色、透明度……

一个简略的动态效果代码形如 \t(\fscy500)\fsc 在下面讲解):

一个完整的动态效果代码形如 \t(1000,2000,2,\fscy500)。意思就是说,字幕出现后 1 秒钟再开始变化,在字幕出现后 2 秒完成变化,即变化用时 1 秒,且变化速度是加快的。

再比如 \fs1\t(\fs30),从 1 像素逐渐放大到 30 像素,适合跟随那些由远及近的文字内容。

动态效果的嵌套

你可能已经注意到 \t 身后有括号,这就意味着括号是可以层层嵌套的,\t 里边还能有 \t,形如

1
\frz360\t(51,100,\frz390\t(100,150,\frz360\t(150,200,\frz330\t(200,250,\frz360\t(250,300,\frz390\t(200,250,\frz360\t(300,350,\frz330\t(350,400,\frz360)))))))))

这是一个快速的抖动效果。

缩放(\fsc)

此代码有 2 个参数:

  1. 缩放方向,x 表示横向,y 表示纵向;
  2. 缩放大小,单位是 %,不可小于零,默认值为 100。

一个完整的缩放代码形如 \fscy500

字间距(\fsp)

此代码只有 1 个参数:

  1. 间距值,单位像素,可正可负,默认 0。

一个完整的字间距代码形如 \fsp-10

旋转(\fr)

此代码有 2 个参数:

  1. 旋转时的参考轴:
    • x - 水平轴;
    • y - 竖直轴;
    • z - 垂直于屏幕面的轴;
  2. 角度,正为逆时针,反之为顺。

一个完整的缩放代码形如 \frx45

再比如 \fry45

还比如 \frz45

当然它们也能组合着使用,如 \frx45\fry45

像这样的透视关系,就非常适合用来匹配视频画面中的店铺标牌等。再加一个移动代码,就能让字幕跟上移动的标牌。

移动(\move)

此代码有 3 组参数:

  1. 移动开始的横纵坐标,坐标原点(0,0)位于左上角;
  2. 移动结束的横纵坐标,坐标原点(0,0)位于左上角;
  3. 移动开始和结束的时间点,如省略就以字幕开始和结束的时间为准,单位也是毫秒。

一个完整的移动代码形如 \move(200,400,280,400,100,300),可以看到纵坐标都是 400 没变,而横坐标有变动。字幕出现 0.1 秒后开始向右移动,移动耗时 0.2 秒,移动的距离是 80 个单位,这个在前文中已经作为例子展示过了。

淡入淡出(\fad)(\fade)

\fad 有 2 个参数:

  1. 淡入耗时,单位毫秒;
  2. 淡出耗时,单位毫秒。

一个简单的淡入淡出代码形如 \fad(1000,1000),淡入淡出的时间跟随字幕本身的时间轴。

\fade 有 3 组参数:

  1. 淡入前的透明度、显示时的透明度、淡出后的透明度,范围是 0~255,值越大透明度越高;
  2. 淡入前后的时间点;
  3. 淡出前后的时间点。

一个完整的淡入淡出代码形如 \fade(255,0,100,0,500,1500,3500),这样设置,在淡出完成后,字幕还会半透明存在一段时间,如果字幕总长大于 3.5 秒的话。

对齐(\a)

用值(比如 \a6 就可以顶部居中)可以很方便地对齐,具体如下:

5 6 7
9 10 11
1 2 3

横幅(Banner)

此代码有 3 个参数(注意,它和之前带斜杠的代码不同):

  1. 速度,单位是秒/1000 像素,如果设为 10,就表示 10 秒/1000 像素,即每秒 100 像素的速度。由此可知,值越小,跑得就越快;
  2. 方向,0 表示从右到左,1 表示从左到右,默认为 0;
  3. 淡入淡出范围,可留空。

一个完整的横幅代码形如 Banner;5;0;10

它还可以同其他效果共同使用,形如 Banner;5;0;10,{\a6\frx45}

结语

尽情探索吧!如果发现有什么好玩的用法,也欢迎你在下方留言。

Written by ZexWoo. All rights reserved.
Built with Hugo
主题 StackJimmy 设计