[魔典] 日本动画字幕制作 #03 运魔术之奇效
引导语

这是个人觉得作为尝试,最有意思的部分,因此,会将全篇描绘得尽量更好。

ASS有着一系列特效标签,它们时而便捷娟秀,时而刻板难用。如何更好地去运用它们,本篇将为您提供可能的参考……

必要说明

调整出的效果,除开能对比的“还原程度”外,必定是充满主观倾向的。

因此以下部分建议或不能适合您的喜好,请酌情参考

特效使用

在文字/绘图前输入大括号:{},在大括号内可以填入若干特效,如【{\bord1\shad1\fad(300,300)}】

  1. 大部分标签只影响大括号的后续文字
    如【極{\bord1}彩{\1c&H000000&}花{\1c&HFFFFFF&}夢】,\bord1会作用于“彩花夢”三个字,\1c&H000000&会作用于“花夢”两个字,\1c&HFFFFFF&仅会作用于“夢”字但会覆盖之前\1c&H000000&的效果
    但是\fad、\pos、\an等标签只会生效第一个,其后的均无效,且会影响整段文字!即便在末尾!
  2. 标签重复一般以最后一个为准
    【{\shad1\shad2}極彩{\shad3}花夢】每个字的\shad实际为2233
    当然,\fad、\pos、\an等标签仍然例外
  3. 部分标签互斥
    最经典的莫过于\pos和\move,又让字幕不动又让字幕动,很明显的互斥,互斥时以第一个为准
    \clip和\iclip也会互斥
  4. 如果标签后未设定数值,则默认为默认值,如样式默认的\bord2,在标签中只写入\bord则默认为\bord2
    透明度之类的同理,方便调整且在更改默认样式之后不需额外调整
  5. 数字位数不要太高
    在通过自动化生成得到特效字幕时,做除法时容易导致位数过高

大部分效果所需设定的数字一般在小数点后一位
如果对坐标的处理则整数足矣
添多易添乱,而且过于精细的数字已经不是肉眼能够分辨的领域了,没有必要和空气斗智斗勇

特效标签 - 基础组

\n  软换行

*在文本中作用,即非{}内

实用程度0
弟弟标签

\N  换行符

*在文本中作用,即非{}内

实用程度5

或许\N会让特效处理变得麻烦,会出现问题——但不需计算坐标、额外行,就可以拥有换行功能
它已经超出了实用与否的地步,它是换行符

使用方式:【这是第一行\N这是第二行】
会受\an影响而改变换行策略

\h  硬空格

*在文本中作用,即非{}内

实用程度1

老老实实用空格,这玩意儿非常容易出问题

\i  斜体

 

实用程度2

使用方式:【\i1】设为斜体,【\i0】取消斜体
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定斜体效果

斜体的倾斜程度无法指定,几乎无法用于还原屏幕字,鸡肋

\b  粗体

实用程度3

使用方式:【\b1】设为粗体,【\b0】恢复默认;但此外根据字体可能有【\b100】【\b400】【\b700】【\b900】,但是大部分字体不支持那么多字重值
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定粗体效果

粗体的粗细程度无法指定,但是这是除了用\bord麻烦且不美观的方式加粗之外唯一的加粗方式,加之大部分字体对于字幕而言较细,是较可行的一个手段了

\s  删除线

实用程度2

使用方式:【\s1】添加删除线,【\s0】取消删除线
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定删除线效果

没有多少用武之地——且难看
另,需要的话可以用绘图实现更为优秀的删除线效果

\bord  边框宽度

实用程度5

使用方式:【\bord<值>】以设定边框宽度,【\bord0】以取消边框
可以取小数,虽然可以取很大,但不要取太大
作用效果按像素来的,所以720P的\bord1和1080P的\bord1的实际效果是不一样的!

边框是曲边的,在用于还原绘图或大字的时候不那么适用
对于不同的3c,\bord的取值也不尽相同,因为部分色彩在宽/窄边框下效果可能收到影响
边框可以让白字在白色背景下也可以被辨析,边框的含金量就不用多说了

\xbord  横向边框宽度

为\bord的补充,指定单方向的边框宽度

使用与\bord一致

\ybord  纵向边框宽度

为\bord的补充,指定单方向的边框宽度

使用与\bord一致

使用补充

一个可能的较为优秀的组合:【\xbord3\ybord.5\blur4】将xbord拉高的同时降低ybord,再给一点blur或be

\shad  阴影距离

实用程度5

使用方式:【\shad<值>】以设定阴影距离,【\shad0】以取消阴影
可以取小数
可以用于绘图!
阴影位于相对于原字的纵向增加<值>个像素,横向增加<值>个像素的位置

对于底部常驻字幕,加点阴影增加层次感是不错的选择

\xshad  阴影横轴坐标

为\shad的补充,指定单方向的阴影坐标

使用与\shad类似,相对于原字的坐标
与\shad不同的是,此标签的值可以是负数

\yshad  阴影纵轴坐标

为\shad的补充,指定单方向的阴影坐标

使用与\shad类似,相对于原字的坐标
与\shad不同的是,此标签的值可以是负数

\be  柔化模糊

实用程度3

使用方式:【\be<值>】以设定柔化模糊程度,【\be0】以取消柔化模糊
可以取小数
\bord不为0则仅模糊边框

其实我个人一开始是非常不喜欢这个标签的,绝大部分情况下跟blur比就是弟弟
但是放下成见后发现这个标签在\bord0时的表现和用处几乎远超blur,在实现比较像手写字的屏幕字时可能会非常有效

\blur  高斯模糊

实用程度5

使用方式:【\blur<值>】以设定高斯模糊程度,【\blur0】以取消高斯模糊
可以取小数请勿将值设定得过高!
\bord不为0则仅模糊边框
可以模糊绘图

高斯模糊的含金量就不用多说了
高斯模糊的含金量就不用多说了
高斯模糊的含金量就不用多说了
应该不用多说了吧?

\fn  设置字体

实用程度4

使用方式:【\fn<字体名称>】以设定显示字体
就算字体名称是中文、有空格,也不要打""之类的,属于是非常逆天的设定了

可以的话尽量避免在常规字幕中使用\fn,不便于处理——当然也不一定如此
使用的字体名称,如果进行预览的设备没有安装此字体,且mkv附件中也没有,则寄
可以在字幕文件开头声明字体别名以方便处理——当然也不一定需要

总之,常规避免,但要用就用

\fs  字体大小

实用程度5

使用方式:【\fs<值>】以设定字体大小
可以取小数
根据画布大小、字体不同而效果不同,故换字体后需要检查下大小是否合适

含金量不用多说

\fscx \fscy  缩放

实用程度5

使用方式:【\fscx<值>】【\fscy<值>】以设定相应轴的缩放【\fscx100】【\fscy100】以恢复相应轴的缩放
值可以取小数,但大可不必精确到小数
可以缩放绘图

可以缩放绘图!!!
含金量过高

\fsp  字间间距

实用程度4,或者客观而言应该是5

使用方式:【\fsp<值>】以设定字间间距,【\fsp0】以取消间距
可以取小数及负数

容易不对称,生气气

\frx \fry \frz  旋转变换

实用程度5

使用方式:【\frx<值>】【\fry<值>】【\frz<值>】以设定对应轴的旋转,【\frx0】【\fry0】【\frz0】以清除对应轴的旋转
另有\fr为\frz简写,但是请用\frz
旋转中心可以由\org进行调整,值的单位是角度(deg),\frz360等于没转(但可用于运行动画)
可以取小数及负数
可以用于绘图

通过三组旋转的组合来还原屏幕字,或者进行字和绘图的动态效果
含金量不用多说了

\fax \fay  剪切变换

实用程度4

使用方式:【\fax<值>】【\fay<值>】以设定剪切变换程度,【\fax0】【\fay0】以清除对应变换
值一般取在[-1,1]范围内,普遍为很低的值所以一般需要精确到小数点后两位
不受\org影响

在用于还原屏幕字的时候非常好用!!!尤其是\fax
由于剪切变换是线代相关的,所以并不是那么容易理解——但用就行了,个人觉得非常好用

\fe  字符集

用不到也尽量别用

\1c \2c \3c \4c  设定颜色

实用程度5

具体请见02
另,\c是\1c的缩写,但是尽量别用缩写

\alpha \1a \2a \3a \4a  设定透明度

实用程度5

使用方式:【\alpha<参数>】【\1a<参数>】【\2a<参数>】【\3a<参数>】【\4a<参数>】以设定对应透明度,【\alpha&H00&】【\1a&H00&】【\2a&H00&】【\3a&H00&】【\4a&H00&】以恢复不透明
<参数>为&H<值>&的形式,值为00-FF的16进制数,虽然<参数>可以直接填入<值>但请不要这样做
16进制数大致理解为:0123456789abcdef这样走,故&HFF&为全透明(也就是不显示),&H00&为不透明
alpha为整体的透明程度,1-4a分别对应1-4c的显示部分

在还原屏幕字时经常会遇到原字为黑色,但是由于环境光线而不是&H000000&的情况,但仍然可以试着将字的1c设为纯黑而额外添加1a进行调整
透明度的含金量

\an  对齐

实用程度5

使用方式:【\an<值>】以设定对齐方式
实际值在[1,2)范围内则视为an1,[2,3)视为an2,以此类推,(-∞,1)∪[10,+∞)均为无效值而会保持默认,但请不要设定成小数或者奇怪的数
使用后会改变参考点,比如\an1会将参考点移至左下,之后使用\pos、\move均为以此参考点运作
绘图请指定此参数!如{\an7\p1}...

\a  旧对齐

请不要使用

\k \K \ko \kf  卡拉OK

- 真神降临 -

没有实不实用,因为它就在那,有肝就免不了它,没肝不敢用它

\K、\ko、\kf基本就是陪跑,主要就是\k

使用方式:一般情况哪会想着用这标签啊,想开点

具体的将在后续说明

\q  换行风格

请勿让字幕因\N以外的情况而换行

\r  重置标签

实用程度3

使用方式:【\r<样式名>】即可
<样式名>可以为空,即当前样式的默认样式

实际使用还是单个标签的重置偏多,【\标签名】然后不跟值就可以重置,而且更为清晰
鸡肋

\pos  设定坐标

实用程度5

使用方式:【\pos<参数>】即可
<参数>为坐标值(x,y),其中x即为横轴坐标值,y为纵轴坐标值
坐标值可以取小数及负数,但大可不必精确到小数

坐标的含金量

\move  匀速移动

实用程度5

使用方式:【\move<参数>】以设定字幕按坐标的匀速运动
<参数>为(x1,y1,x2,y2,t1,t2),其中x1、y1为初始坐标,x2、y2为目的坐标,运动从t1开始到t2结束
可以不设定t1、t2,此时默认t1为0,t2为该行持续时间
坐标可以取小数及不在1920*1080画布内的坐标,但大可不必精确到小数

在视频区域小工具第二个拖放字幕下,可以拖动\move标签的字幕,但请不要以此拖动
需要强调,\move只能匀速运动,不能变速、仅直线,如果要实现复杂运动还是只有用\pos逐帧做(当然不是说一定要手打)

\org  旋转中心

实用程度2

使用方式:【\org<参数>】即可设定该行旋转中心
<参数>为(x,y),其中x为x轴坐标,y为y轴坐标
坐标可以取小数及不在1920*1080画布内的坐标

可以同\t和\frz实现较为复杂的运动效果,将旋转中心的坐标值设定得非常远,此时\t(\frz3)则会有\move做不到的效果
不过实际这个操作会让\frx\fry极其难调整,且其运动还是过于不可控,建议还是别这样做

\fad  渐变

实用程度5

使用方式:【\fad<参数>】使该行字幕的出现/消失变为渐现/渐消
<参数>为(i,o),其中i为渐现时间(ms),o为渐消时间(ms),两者之和大于字幕持续时间时会出错
可以只设定渐现,如【\fad(300,0)】则会让字幕出现改为渐现,而消失则正常瞬间消失,同理仅渐消也可以通过【\fad(0,300)】做到

跟用\t改变\alpha效果一致但,方便
如果是让字幕跟场景一起渐消渐现,取值精确到百位即可
作用于整行,所以直接添末尾也挺方便的

\fade  睿智渐变

实用程度0

使用方式:【\fade<参数>】使该行字幕透明度进行3个透明度的顺序切换
<参数>为(a1,a2,a3,t1,t2,t3,t4),其中a1、a2、a3为三个透明度(十进制,0-255),t1前为a1透明度,从t1到t2切换到a2透明度,从t3到t4切换到a3透明度,t4后保持a3透明度;从t2到t3保持a2透明度
7个参数缺一不可,属实逆天

那么为什么,要多次改变透明度呢?
就算需要,为什么不用\t呢?

下限比不过\fad,上限比不过\t,参数还挤一堆
属实是寄大成者

\clip \iclip  遮罩

坐标遮罩

使用方式:【\clip<参数>】【\iclip<参数>】使该行字幕仅显示/不显示指定矩形区域内的部分
<参数>为(x1,y1,x2,y2),其中x1、y1为矩形左上角点的坐标,x2、y2为矩形右下角点的坐标
\clip为仅显示此矩形内的部分,\iclip为不显示(即去掉)此矩形内的部分
可作用于绘图

绘图遮罩

使用方式:【\clip<参数>】【\iclip<参数>】使该行字幕仅显示/不显示指定矢量绘图区域内的部分
<参数>为矢量绘图
\clip为仅显示此矩形内的部分,\iclip为不显示(即去掉)此矩形内的部分
可作用于绘图

“矢量绘图”请见\p标签

\t  动画

- 真神降临 -

实用程度5

使用方式:【\t<参数>】使后续字幕按设定的动画效果运作
<参数>为(<标签>),或(<速度曲线>,<标签>),或(t1,t2,<标签组>),或(t1,t2,<速度曲线>,<标签组>)
其中t1为起始时间,t2为终止时间,<速度曲线>指定变化的指数曲线,<标签组>指定可能进行变化的标签组
当不指定时,t1默认为0,t2默认为该行字幕的结束时间,<速度曲线>默认为1

示例:【不作用的文字{\bord1\t(100,200,\bord5\t(200,500,.5,\bord0))}有动画效果的文字】
首先\bord1设定后续文字的边框为1,剩余的标签即为:\t(100,200,\bord5\t(200,500,.5,\bord0))
这实际是一个\t标签,开始时间为100,终止时间为200,标签组即为:\bord5\t(200,500,.5,\bord0)
其中第一个标签为\bord5,即让后续文字在100ms-200ms内边框线性加粗至5
第二个标签为\t标签,不会有动画效果,但是可以用于指定后续特效,也就是\t(200,500,.5,\bord0)也会生效
在200ms-500ms内,按f(x)=x^0.5,x∈[0,1]曲线变化边框效果至0

t1和t2很好理解,如果要进行多次变化,请保证变化效果对应的时间不会冲突,如果进行多次变化,可以\t(\t())嵌套书写,也可以\t()\t()独立书写
<速度曲线>在为1时即为简单的线性变化,简单理解的话,(0,1)时初速快而后逐渐变慢,(1,+∞)时初速慢而后逐渐变快
<速度曲线>如果不是特殊要求就不需要设定了
<标签组>可以存放若干可以生效的标签,不可生效的标签就不要放了,也可以存放\t

不可生效的部分:

\an\fn等想想都觉得不能生效的标签
\pos不行!指定坐标的移动只有逐帧做
\clip\iclip在截出绘图时不可生效!仅在按坐标截出时可以有动画

较为常用的部分:

\1c\3c   \1a\3a   \blur   \bord

以上效果仅供参考,并非任何组的作品

由于\2c\2a基本用不到,\4c\4a的动画效果不是那么好,所以主要以\1c\1a与\3c\3a为主调整颜色及透明度
\1c:对于文字而言用处不大,基本\1c维持白色或者不会需要变色;对绘图而言有一定用处,但可能影响较大(毕竟是1c)
\3c:效果优异!
\1a:通常也不会用,用1a也就是要对整体做透明度处理,此时\alpha或许更为有效
\3a:微调时或许会用到

\blur:\blur本身极强的效果在\t的动画效果下的表现也非常非常优异,高斯模糊的含金量!

\bord:通常和\blur一起使用进行调整,或者在3c改变时进行修整(因为不同颜色的边框宽度需求不同)
同样,改变\xbord及\ybord也是非常有效的手段

\fscx  \fscy

以上效果仅供参考,并非仅使用了简单的特效标签

可以提供非常非常优异的动画效果,而且对绘图也是非常有用

并且还有非常优异的一点,让字或绘图的出现可以更加合理,部分情况下会比调整透明度还要优秀

当然主要在这里需要额外说明的,是尽量不要在\t中使用\fs
\fscx和\fscy绝对不能当成\fs的附属
\fs在需要调整时不可能一个个改参数,而\fscx和\fscy避免了这个问题
\fs不能作用于绘图,而\fscx和\fscy可以
调整请避免使用\fs,而使用\fscx和\fscy

\frx  \fry  \frz

想了想,不贴效果图了
因为此三者标签最佳的使用几乎都是自动化生成复杂效果了,给效果图意义不大

另,\fax和\fay也可作用
但是此两者几乎不可能用于常规的调整

\clip  \iclip

以上效果仅供参考,并非仅使用了简单的特效标签

实际\t中的\clip(和\iclip)非常鸡肋
因为仅当\clip为按坐标截出时才会有动画效果,截出绘图时失效

但\clip作辅助时是真的非常非常有效
因为复杂效果下通常会需要控制字/绘图在哪个区域内显示,或是截出其中某部分以便于加更多复杂的标签
几乎是个必用的“辅助”标签

\pbo  绘图基线偏移

设定矢量绘图的Y轴基线偏移
如\pbo-100一般会使绘图上移100像素

\p  矢量绘图

此处开始就不会讲过于“仔细”,也就是不会磨叽了,并且默认您已经大致入门了,部分效果可能需要您实际操作才能知道用处

使用\p1开启绘图,\p0关闭绘图,默认值为0
如:【这里是正常文字{\p1}m 0 0 b -3 0 -5 2 -5 5 b -5 8 -3 10 0 10 b 3 10 5 8 5 5 b 5 2 3 0 0 0这里是无效文字{\p0}这里也是正常文字】
在\p1中的非绘图文字无效,一般不需要使用\p0来闭合,但如果是在行中插入绘图则可能会需要用到
规范一点的话,绘图结束的那个数字后还是添一个空格

仅介绍\m、\l和\b标签,其余的意义不大且不方便

m <x> <y>

创建一个绘图的开始
比如需要画两个圆,【{\p1}m 0 0 b -3 0 -5 2 -5 5 b -5 8 -3 10 0 10 b 3 10 5 8 5 5 b 5 2 3 0 0 0 m 20 0 b 17 0 15 2 15 5 b 15 8 17 10 20 10 b 23 10 25 8 25 5 b 25 2 23 0 20 0 】在第二个m出开始后即画下一个圆而不会与前一个圆相连
由于是一个独立图形的开始,前一个图形会自行闭合

l <x> <y>

从上一个点画一条直线到(x,y)

图示为【m -5 -5 l 5 -5 l 5 5 l -5 5 】
即为:在(-5,-5)创建绘图开始点,从此点画一条直线到(5,-5),再从(5,-5)画一条直线到(5,5),再从(5,5)画一条直线到(-5,5)
可以看到(-5,5)到(-5,-5)是没有线的,但是此时会默认闭合图形,首尾会默认直线连接,相当于在末尾补上了一个【l -5 -5 】

b <x1> <y1> <x2> <y2> <x3> <y3>

从上一个点画一个三阶贝塞尔曲线到(x3,y3)
(x1,y1)和(x2,y2)为此贝塞尔曲线的控制点

图示为:【m 0 0 b -3 0 -5 2 -5 5 b -5 8 -3 10 0 10 b 3 10 5 8 5 5 b 5 2 3 0 0 0 】
但实际图中并非正圆!

具体自行使用以摸索

ASSDraw

手动打坐标来绘图也就画画简单的,实际要绘图还是用工具方便

在主菜单下的小工具栏打开ASSDraw以绘图

软件中的英语还是非常简单的,而且大部分都有工具符号

Drag:拖拽,也就是移动点
Move:创建一个【m】
Line:创建一个【l】
Bezier:创建一个【b】
Delete:删除一个点

鼠标右键按住画布以拖拽画布/背景,开启Pan drawing会拖拽画布,开启Pan background会拖拽背景,两者均开启则均拖拽

拖入图片后可以以其当背景,此时设置背景透明度会非常有效

右边侧栏可以将当前绘图保存,也可使用已保存的绘图

额外

或许此部分内容将在后续扩充

个人经常使用【{\an7\p1}m -5 -5 l 5 -5 l 5 5 l -5 5 】调色加上\fscx\fscy\frz等来遮住原本的日文屏幕字,再在原位置加上与原文近似风格的中文

画圆基本看需要多大调个差不多的值就行了,视觉上看不出不是正圆的,且也画不出正圆

方形边的\bord是曲边的,此点对于绘图来说可能会比较难处理

实际使用经常需要\fscx\fscy来调整实际大小,画的时候也不需要假定1920*1080的区域,直接按感觉画就行了

除\p需要外,\clip也可作用

真画起来还是会很折磨的

结语

实际这里还是有比较多没有讲到的,因为这些入门不是仅针对“入门”,后续的复杂处理中可能又会再次提及这部分的运用

当然,如果您无意在自动化上耗太多精力学习,或者对真正打代码之类的不喜欢,到此为止的特效标签也已经足够了,还需要参阅的话就请自行跳过自动化部分了

这里是困难的结束吗?但对真正的困难只会是开始

空白

少女还未记录主人的信息,或许需要登录……