跳转至

ass 标签

1369 个字 预计阅读时间 5 分钟

Abstract

ass 本身文件格式很简单,就是一个纯文本,内部主要内容(样式和字幕)类似 csv 格式(逗号分隔

所以这里着重记录一下 ass 字幕里面的特殊标签。

普通标签

即写在文本中用 \ 开头的标签,很少:

标签 作用
\N 硬换行,即直接换新行(但 ass 并没有调行距的方法)
\n 软换行(不常用,不解释)
\h 硬空格,即一个在开头也不会被忽略的半角空格
直接打半角空格如果在行开头则会被忽略

特效标签写在 {} 内,所以如果要直接打大括号需要用 \ 转义,即 \{\}libass 支持,但 aegisub 内的自动化脚本等基本都不考虑这种情形,即仍将其视为一个 \ 后面是一个空的特效标签(比如 strip tags 脚本会将 \{\} 直接删成 \,所以还是要避免这种情况出现。

特效标签

写在 {} 中的标签,也需要用 \ 开头,用来定义整行字幕或标签后面内容的效果(后称其为整行特效和行内特效

行内特效

标签 作用
\i1 \i0 打开 / 关闭斜体
\b1 \b0 打开 / 关闭粗体(可用 \b<weight> 选择字重)
\u1 \u0 打开 / 关闭下划线
\s1 \s0 打开 / 关闭删除线
\bord<size> 设置边框粗细(像素为单位)
\xbord<size> \ybord<size> 分别设置 x y 方向的边框粗细
\shad<s> \xshad<s> \yshad<s> 设置阴影,类似 bord,注意 xshad yshad 可以设置负数
\be0 \be1 \be<strength> 边框模糊,即模糊 bord 设置的边框,效果不一定明显
\blur<strength> 边缘模糊,strength 较大的时候效果比 be 好,且可以不为整数
\fn<font> 设置字体
\fs<size> 设置字号,一般情况下为像素单位
\fscx<scale> \fscy<scale> x y 方向上的字体缩放,scale 为百分比,即 \fscx100 为不变
多次使用效果不会叠加,就是从原字号大小开始算的比例
\fsp<spacing> 设置字符间距,可以是负数和小数
\frx<deg> \fry<deg> \frz<deg> xyz 三个方向上的旋转,frz 可以写为 fr,旋转中心为 org 指定
可以用 Aegisub 的可视化工具调整
\fax<factor> \fay<factor> 剪切效果(应用在旋转之后,不受 org 影响)
\1c<color> \2c.. \3c.. \4c.. 设置颜色,1c 可以写为 c1234 分别是主要、次要、边框、阴影
颜色表示为 &H<bb><gg><rr>&,注意是 BGR 不是 RGB
\1a<alpha> \2a.. \3a.. \4a.. 设置透明度,1234 意义和上面一样,\alpha 同时设置四个
透明度表示为 &H<aa>&aa 00-FF 的十六进制数
\r \r<style> 重置样式或设为某一样式(清除前面的全部特效标签样式效果)
\k.. \K.. \kf.. \ko.. 卡拉 OK 标签,在卡拉 OK 特效页面中详细介绍

整行特效

静态效果

标签 作用
\an 对齐方式,和 Aegisub 样式编辑中的编号一致,即 2 中下 8 中上
\pos(<x>, <y>) 字幕位置,像素为单位,左上为 (0, 0),向右下分别为 xy 正方向
\an 决定了位置的基准点
\org(<x>, <y>) 设定旋转中心点
\clip(<x1>, <y1>, <x2>, <y2>) 方形遮罩,给定左上和右下两个点,显示方形内的部分
\iclip 显示方形外的部分
\clip(<scale>, <drawing>) 通过矢量绘图创建遮罩,scale 可以省略,默认为 1
drawing 为绘图指令,具体见后文,\iclip 用法同理

动态效果

\move(<x1>, <y1>, <x2>, <y2>)

在字幕持续的时间内,从 (<x1>, <y1>) 移动到 (<x2>, <y2>)

\pos 效果冲突,避免出现在同一行。

\move(<x1>, <y1>, <x2>, <y2>, <t1>, <t2>)

<t1> <t2> 相对于该行开始时间,以毫秒为单位,在 <t1> <t2> 时间内进行移动。

\move 标签也可以通过 Aegisub 可视化设置。无法进行变速移动。

\fade(<t1>, <t2>)
<t1> <t2> 以毫秒为单位,在开头 <t1> 毫秒淡入,结尾 <t2> 毫秒淡出。
\fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4>)
更复杂的透明度变化,在 <t1> <t2> 间透明度从 <a1> 变到 <a2>,在 <t3> <t4> 间再变到 <a3>
\t(<t1>, <t2>, <accel>, )

tags 特效标签的施加展现为动画效果,一些标签不可用比如 \fn,以及 \clip \iclip 只能是矩形遮罩,不支持矢量遮罩的动画

<t1> <t2> 相对于该行开始时间,以毫秒为单位,表示动画的时间范围,可以省略(表示动画持续整个行的时间

<accel> 表示加速度,默认为 1 匀速,可以省略(不是缓入缓出的参数,而仅仅是一直加速)

绘图标签

实际上也属于行内的特效标签,但语法相对复杂,所以单独拿出来了。

标签 作用
\p1 \p0 打开 / 关闭绘图模式,\p 后可接 2 的次方设置绘图分辨率缩放比例
\pbo<offset> 绘制时的基线偏移距离(y 方向上的,向下为正)

绘图指令

类似 svg 中的 path 路径语法,但相对少一些。

m <x> <y>
移动到 (<x>, <y>),且自动闭合路径开启新图形(绘图指令都要从此开始)
n <x> <y>
移动到 (<x>, <y>),但不闭合路径。
l <x> <y>
画一条线到 (<x>, <y>),也可以接多对 <x> <y> 连续画多条线。
b <x1> <y1> <x2> <y2> <x3> <y3>
画一条三次贝塞尔曲线,给定三个点坐标分别为两个控制点和一个锚点(另一个锚点为当前位置
B 样条相关(不常用)
s <x1> <y1> <x2> <y2> ... <xn> <yn>
均匀 B 样条,至少要给定三个点。
p <x> <y>
B 样条添加一个点。
c
闭合 B 样条。

PS: 使用 {\p1}m 0 0 l 100 0 100 100 0 100{\p0} 即一个方块配合 \fscx \fscy 缩放来制作任意矩形更方便。


最后更新: 2023年8月8日 23:28:15
创建日期: 2023年8月8日 23:28:15
回到页面顶部