引导语
这是个人觉得作为尝试,最有意思的部分,因此,会将全篇描绘得尽量更好。
ASS有着一系列特效标签,它们时而便捷娟秀,时而刻板难用。如何更好地去运用它们,本篇将为您提供可能的参考……
必要说明
调整出的效果,除开能对比的“还原程度”外,必定是充满主观倾向的。
因此以下部分建议或不能适合您的喜好,请酌情参考。
特效使用
在文字/绘图前输入大括号:{},在大括号内可以填入若干特效,如【{\bord1\shad1\fad(300,300)}】
- 大部分标签只影响大括号的后续文字
如【極{\bord1}彩{\1c&H000000&}花{\1c&HFFFFFF&}夢】,\bord1会作用于“彩花夢”三个字,\1c&H000000&会作用于“花夢”两个字,\1c&HFFFFFF&仅会作用于“夢”字但会覆盖之前\1c&H000000&的效果
但是\fad、\pos、\an等标签只会生效第一个,其后的均无效,且会影响整段文字!即便在末尾! - 标签重复一般以最后一个为准
【{\shad1\shad2}極彩{\shad3}花夢】每个字的\shad实际为2233
当然,\fad、\pos、\an等标签仍然例外 - 部分标签互斥
最经典的莫过于\pos和\move,又让字幕不动又让字幕动,很明显的互斥,互斥时以第一个为准
\clip和\iclip也会互斥 - 如果标签后未设定数值,则默认为默认值,如样式默认的\bord2,在标签中只写入\bord则默认为\bord2
透明度之类的同理,方便调整且在更改默认样式之后不需额外调整 - 数字位数不要太高
在通过自动化生成得到特效字幕时,做除法时容易导致位数过高
大部分效果所需设定的数字一般在小数点后一位
如果对坐标的处理则整数足矣
添多易添乱,而且过于精细的数字已经不是肉眼能够分辨的领域了,没有必要和空气斗智斗勇
特效标签 - 实用组
\N 换行符
*在文本中作用,即非{}内
实用程度5
使用情况:屏幕字的还原
或许\N会让特效处理变得麻烦,会出现问题——但不需计算坐标、额外行,就可以拥有换行功能
它已经超出了实用与否的地步,它是换行符
使用方式:【这是第一行\N这是第二行】
会受\an影响而改变换行风格
如果您是極彩字幕组成员
除屏幕字还原外请勿使用本标签
没有降低行间间距的方式,但是拉宽可以考虑:【\N{\fscy10}\N{\fscy}】
\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】以取消阴影
值可以取小数
可以用于绘图!
阴影位于相对于原字的纵向增加<值>个像素,横向增加<值>个像素的位置
对于底部常驻字幕,加点阴影增加层次感是不错的选择
但4c取得需比3c深许多,否则可能会有视错觉
\xshad 阴影横轴坐标
为\shad的补充,指定单方向的阴影坐标
使用与\shad类似,相对于原字的坐标
与\shad不同的是,此标签的值可以是负数
\yshad 阴影纵轴坐标
为\shad的补充,指定单方向的阴影坐标
使用与\shad类似,相对于原字的坐标
与\shad不同的是,此标签的值可以是负数
\blur 高斯模糊
实用程度5
使用方式:【\blur<值>】以设定高斯模糊程度,【\blur0】以取消高斯模糊
值可以取小数,请勿将值设定得过高!
\bord不为0则仅模糊边框
可以模糊绘图
高斯模糊的含金量就不用多说了
高斯模糊的含金量就不用多说了
高斯模糊的含金量就不用多说了
应该不用多说了吧?
\fn 设置字体
实用程度4
使用方式:【\fn<字体名称>】以设定显示字体
就算字体名称是中文、有空格,也不要打""之类的,属于是非常逆天的设定了
使用的字体名称,如果进行预览的设备没有安装此字体,且mkv附件中也没有,则加载会出错
一种说法认为字幕需要将用到的字体全部分别写一个样式,方便修改、采集
亦有不少过激的想法认为字幕组不应该用到\fn
但实际可能出现用到非常多字体的情况,平白地增加样式数量也会造成困扰
我们始终认为\fn是一个非常有效的标签
且通过如萝莉工坊的字体子集化工具也能直接提取出来所有字体,甚至采集也可以直接查看字幕文件顶部
\fs 字体大小
实用程度5
使用方式:【\fs<值>】以设定字体大小
值可以取小数
根据画布大小、字体不同而效果不同,故换字体后需要检查下大小是否合适
含金量不用多说
\fscx \fscy 缩放
实用程度5
使用方式:【\fscx<值>】【\fscy<值>】以设定相应轴的缩放【\fscx100】【\fscy100】以恢复相应轴的缩放
值可以取小数,但大可不必精确到小数
可以缩放绘图
【\N{\fscy50}\N{\fscy}】可以控制行间距
此标签多用于绘图,故绘图时坐标不需按照1080P的画布来
可以缩放绘图!!!
含金量过高
\fsp 字间间距
实用程度4,或者客观而言应该是5
使用方式:【\fsp<值>】以设定字间间距,【\fsp0】以取消间距
值可以取小数及负数
在字体样式中可以设定默认间距,建议值自然是0,优秀的字体设计会考虑到字间距,但由于适用对象不同也会存在需要调整间距的情况
高潮台词稍微设定一下字间距或许会有较好的效果,但取值过高后违和感会骤增
容易不对称,生气气
\frx \fry \frz 旋转变换
实用程度5
使用方式:【\frx<值>】【\fry<值>】【\frz<值>】以设定对应轴的旋转,【\frx0】【\fry0】【\frz0】以清除对应轴的旋转
另有\fr为\frz简写,但是请用\frz
旋转中心可以由\org进行调整,值的单位是角度(deg),\frz360等于没转(但可用于运行动画)
值可以取小数及负数
可以用于绘图
通过侧边小工具可以可视化调整,但不建议以此调整
一般而言精确到小数点后1位即可,但是在各种组合参数下,可能需要精确到3-4位
实际操作时大部分倾斜字可能再额外使用\fax进行还原的效果更加优秀
通过三组旋转的组合来还原屏幕字,或者进行字和绘图的动态效果
含金量不用多说了
\fax \fay 剪切变换
实用程度4
使用方式:【\fax<值>】【\fay<值>】以设定剪切变换程度,【\fax0】【\fay0】以清除对应变换
值一般取在[-1,1]范围内,普遍为很低的值所以一般需要精确到小数点后2位
不受\org影响
一般不会用到\fay,其造成的影响一般较大而难以把控
一般\fax取值在0.01-0.20,大部分情况下请精确到小数点后2位,在组合参数的特殊情况下可能需要精确到小数点后4位
在用于还原屏幕字的时候非常好用!!!尤其是\fax
由于剪切变换是线代相关的,所以并不是那么容易理解——但用就行了,个人觉得非常好用
\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<值>&(即&HAA&)的形式,值为00-FF的16进制数,虽然<参数>可以直接填入<值>但请不要这样做
16进制数大致理解为:0123456789abcdef这样走,故&HFF&为全透明(也就是不显示),&H00&为不透明
alpha为整体的透明程度,1-4a分别对应1-4c的显示部分
一般会使用到的是\alpha和\1a,前者提供的总体透明度调整一般用于动画效果,后者一般用于绘图或者还原屏幕字
在还原屏幕字时经常会遇到原字为黑色,但是由于环境光线而不是&H000000&的情况,但仍然可以试着将字的1c设为纯黑而额外添加1a进行调整
透明度的含金量
\an 对齐
实用程度5
使用方式:【\an<值>】以设定对齐方式
实际值在[1,2)范围内则视为an1,[2,3)视为an2,以此类推,(-∞,1)∪[10,+∞)均为无效值而会保持默认,但请不要设定成小数或者奇怪的数
使用后会改变参考点,比如\an1会将参考点移至左下,之后使用\pos、\move均为以此参考点运作
绘图请指定此参数!如{\an7\p1}...
大部分的屏幕字还原都需要考虑用\an,因为屏幕字还原需要设定坐标,而\an极大程度影响了坐标选取
如一行字从下浮到上,还原时使用\an8贴在原字下方可能比较好
强调,绘图请务必指定此标签,且尽量特效部分均指定此标签
\pos 设定坐标
实用程度5
使用方式:【\pos<参数>】即可
<参数>为坐标值(x,y),其中x即为横轴坐标值,y为纵轴坐标值
坐标值可以取小数及负数,但大可不必精确到小数,可以取到画布外(超出1920*1080的范围)
坐标的含金量
\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逐帧做(当然不是说一定要手打)
\fad 渐变
实用程度5
使用方式:【\fad<参数>】使该行字幕的出现/消失变为渐现/渐消
<参数>为(i,o),其中i为渐现时间(ms),o为渐消时间(ms),两者之和大于字幕持续时间时会出错
可以只设定渐现,如【\fad(300,0)】则会让字幕出现改为渐现,而消失则正常瞬间消失,同理仅渐消也可以通过【\fad(0,300)】做到
跟用\t改变\alpha效果一致但,方便
如果是让字幕跟场景一起渐消渐现,取值精确到百位即可
作用于整行,所以直接添末尾也挺方便的
特效标签 - 考虑组
\b 粗体
实用程度3
使用方式:【\b1】设为粗体,【\b0】恢复默认;但此外根据字体可能有【\b100】【\b400】【\b700】【\b900】,但是大部分字体不支持那么多字重值
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定粗体效果
少部分字体仅一个字重,用\bord1无效
粗体的粗细程度无法指定,但是这是除了用\bord麻烦且不美观的方式加粗之外唯一的加粗方式,加之大部分字体对于字幕而言较细,是较可行的一个手段了
\be 柔化模糊
实用程度3
使用方式:【\be<值>】以设定柔化模糊程度,【\be0】以取消柔化模糊
值可以取小数
\bord不为0则仅模糊边框
其实我个人一开始是非常不喜欢这个标签的,绝大部分情况下跟blur比就是弟弟
但是放下成见后发现这个标签在\bord0时的表现和用处几乎远超blur,在还原无边框的屏幕字时可能会非常有效
\i 斜体
使用方式:【\i1】设为斜体,【\i0】取消斜体
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定斜体效果
一般而言,效果不如\fax
斜体的倾斜程度无法指定,几乎无法用于还原屏幕字,鸡肋
\r 重置标签
实用程度3
使用方式:【\r<样式名>】即可
<样式名>可以为空,即当前样式的默认样式
实际使用还是单个标签的重置偏多,【\标签名】然后不跟值就可以重置,而且更为清晰
鸡肋
特效标签 - 避免组
\n 软换行
*在文本中作用,即非{}内
实用程度0
弟弟标签
理由:与\N相比仅在换行风格不同时会有区别
但请让所有换行都是预先控制过的,效果都是可预见的
\h 硬空格
*在文本中作用,即非{}内
实用程度1
理由:老老实实用空格,这玩意儿非常容易出问题
在Karaoke下会被识别为\和h,而空格不会;对于大部分字体而言,此标签效果会造成设备不同而潜在的效果不可控
\s 删除线
实用程度2
使用方式:【\s1】添加删除线,【\s0】取消删除线
实际[0,1)范围内取消效果,[1,2)范围内有与数值无关的固定删除线效果
没有多少用武之地——且难看
另,需要的话可以用绘图实现更为优秀的删除线效果,虽然会比较麻烦
\fe 字符集
用不到也尽量别用
\a 旧对齐
请不要使用
理由:近似于\an,但违背直觉易造成混淆
\q 换行风格
请勿让字幕因\N以外的情况而换行
理由:请让所有换行都是预先控制过的,效果都是可预见的
\org 旋转中心
实用程度2
使用方式:【\org<参数>】即可设定该行旋转中心
<参数>为(x,y),其中x为x轴坐标,y为y轴坐标
坐标可以取小数及不在1920*1080画布内的坐标
可以同\t和\frz实现较为复杂的运动效果,将旋转中心的坐标值设定得非常远,此时\t(\frz3)则会有\move做不到的效果
不过实际这个操作会让\frx\fry极其难调整,且其运动还是过于不可控,建议还是别这样做
理由:操作一般过于麻烦
\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,参数还挤一堆
属实是寄大成者
理由:过于麻烦且无用
特效标签 - 特别组
\k \K \ko \kf 卡拉OK
主要即为\k,其余几个全是陪跑
使用方式:请想开一点,除了Karaoke外不要用此标签
此处及此后都不会介绍其直接效果,因为只会有自动化一个合理的使用情形
而如果要了解自动化了,应该就不会在意这个标签的直接效果,也不会不知道该怎么使用了
\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也可作用
真画起来还是会很折磨的
结语
实际这里还是有比较多没有讲到的,因为这些入门不是仅针对“入门”,后续的复杂处理中可能又会再次提及这部分的运用
当然,如果您无意在自动化上耗太多精力学习,或者对真正打代码之类的不喜欢,到此为止的特效标签也已经足够了,还需要参阅的话就请自行跳过自动化部分了
这里是困难的结束吗?但对真正的困难只会是开始