国语视界

 找回密码
 立即注册
查看: 65789|回复: 192

[字幕技术] 浅谈ASS的特效代码玩法2:新手知识篇-代码中的小知识

  [复制链接]

118

主题

800

帖子

6614

积分

团长

大洋
375220
阅读权限
60
发表于 21-4-17 22:56 | 显示全部楼层 |阅读模式
本帖最后由 开心兔 于 21-5-2 23:02 编辑

前言
续前一篇《新手入门篇-培养良好的操作习惯 》后,我猜会有一些新手小伙伴按奈不住开始摩拳擦掌的想要开始书写代码,制作属于自己的华丽特效字幕了。那么在开工之前,我想还是再给新手小伙们多补充一些知识,一些通常被忽略但完全有必要了解一下的特效代码知识。

所以友情提个醒,此篇帖子内容可能更加枯燥,如果你已掌握特效代码的相关知识,请你退出,因为这篇内容对你毫无意义。

这里再次贴一下来自豆瓣网友和路雪。分享的ASS特效代码注解,初学者务必先自行了解各项代码的作用后再来学习:Aegisub的ASS代码使用指南



章节1:特效代码的指令分类介绍
ASS字幕主要是通过各项不同的代码指令将文字或图形呈现出来,任何一个文字或图形的样式均由特效代码的指令所固定,如果指令出现错误,那么特效字幕必然出现错误。

而这些操控文字或图形的指令共分为三个部分,1:样式指令,2:改变指令,3:特殊指令

样式指令:即我们给每一行字幕设定的统一且固定的样式。如下图

在样式管理器中,我们能看到所设置的每一个样式,这就是统一的样式指令,字幕行中的文字大小、字体、颜色、粗细等等,均听命于这个样式指令。当我们需要修改的时候,只能通过样式管理器进行编辑,且被编辑修改后,所有被赋予该样式指令的字幕行全部都会被改变。

这种代码,在ASS文件中,是统一的自动放置在抬头部分的[V4+ Styles]中,如下图


如果我们仅通过ASS文件进行修改的话,必然十分费劲,帖子结尾部分我会放上各个指令名称所对应的功能,新手小伙伴们可以抽时间阅读了解,此处暂不详述。

总而言之,样式指令通常我们运用在对白、歌词以及多条相同样式的字幕行中,这也是我们能快速修改对白样式的最佳方法。前一篇帖子已经进行了讲解,不明所以的小伙伴可以回头再看看。

改变指令:就是在样式指令的基础上,改变其指令方式,达到我们想要的自定义样式。(这句话可能过于专业,但我还是这样介绍了,主要是希望新手小伙伴们,能通透的了解到特效字幕中的代码关系,从而在出现错误的时候,能有思路去排查错误问题)

直白的讲,就是我们写在字幕行中,文字前头大括弧{}内的代码,就是改变指令,就是我们俗称的特效代码!

改变指令的用途,仅仅只是为了达到我们想要的样式,从而将字幕变得更贴近原画风格或是更美观好看。

这里例举一个简单的小例子,如下图


我们通过样式管理器给字幕设置了样式,包含大小、样色、边框、阴影等等。在没有额外添加改变代码的时候,该字幕行仅听命于赋予的样式指令Default。

此时我们想要将这一行中的文字变大,并且换一个字体和颜色,就需要通过改变指令来操作,如下图

在文字前头添加大括弧{},并写上字号代码\fs,参数为200像素,即\fs200;同时写上字体代码\fn,以及字体名称:方正汉真广标简体,即\fn方正汉真广标简体,同时写上颜色代码\c&H06C703&,所改变的结果如下图。


写入的这三个代码的作用就是将原来样式指令中的字体大小100改变成了200,原来的文泉驿微米黑字体变成了方正汉真广标简体,原来的白色文字变成了绿色文字,而其他样式指令不变。例如边框和阴影,依旧是10,边框颜色依旧为红色,阴影颜色依旧是黑色等等,如下图,样式管理器中的Default样式属性并没有变化,仅仅只是写入了改变指令的字幕行发生了变化。


可能有小伙伴看到这里就说了,这种都要如此详细的举例介绍吗?

那是因为曾经有位小伙伴加我QQ,咨询为什么明明没有加边框,但显示的结果却出现了边框?他的这个问题,就是现在这个例子,因为样式指令中包含了边框,但他没有写代码改变样式指令中的边框命令,所以即使在字幕行中没写边框代码,显示的文字依旧会出现边框。

对于掌握了代码的小伙伴来说,这种压根儿就不叫问题,但如果突然有一天,你发现你写入的代码开始不听使唤的时候,不妨打开样式管理器,看看是否是这种类似的问题呢?

比如,我们在使用特殊代码“█”或者“▲”等等作为背景框填充的时候,发现这个特殊代码不显示或是显示的形状诡异,那必定是你样式指令中的字体问题(因为有些字体识别不了特殊代码),此时,你只需要写一个改变字体的代码\fn宋体或\fn黑体,即可解决。

特殊指令:
即不用书写在{}内的指令代码。
比如\N:强制换行,\h强制空格等等,这里不详述,后期应用中再讲解。




章节2:特效代码的书写格式
了解了样式指令和改变指令的关系后,我们再来聊聊代码的书写格式,为了更加通俗易懂,我将直接用特效代码来代替改变指令这个名称。

1:书写特效代码,必须写在大括弧{}内,除特殊指令以外。同时,尽量避免将特效代码写成下列这个样子:
{\fn黑体}{\fs60}{\pos(960,550)}{\c&H06C703&}{\fsp5}{\frz10}.....每一个代码都用一个括弧包含起来,这是错误操作!


这样写代码也不是不行,一样有效,但当你在Aegisub中使用了快捷操作时,会自动添加相应的特效代码,而添加的代码仅会出现在第一个{}中,如果你写了多个{},可能会出现相同的指令代码,从而导致混乱而让代码产生冲突。

所以,工整的写法就只需要一个{}即可。比如:{\fn方正汉真广标简体\fs200\c&H06C703&}这是举的一个小例子

2:另外,每一个指令,必须用\开头,无\则指令无效!

3:代码按先后顺序执行命令。比如:{\fn方正汉真广标简体\c&H06C703&\fs200\t(\fs100)}这是举的一个小例子


如上图,就是这个代码按照先后顺序执行所呈现的结果。提示:先后顺序仅在\t指令中显而易见,其他代码的先后顺序毫无差别。

也就是说,我们在书写代码的时候,当需要使用\t指令时,务必按照先后执行的顺序书写代码,无\t指令时书写顺序可忽略。

4:避免出现重复代码。(非使用\t指令时)

根据代码先后顺序执行的原则,相同的重复代码仅后者有效。

比如:{\fs50\fn黑体\bord3\shad2\be2\fs70\pos(230,420)},在这段代码中的字号大小指令重复了,但只有后者\fs70有效,前面\fs50无效。

当一条字幕的代码过多时,如果出现重复代码可能不易察觉,所以我们书写时一定不要出现重复代码。


章节3:特效代码的参数书写
每一个特效代码都有一个参数,比如\fs50,即为字号的大小参数为50像素。如未设置参数,该代码指令无效。

指令参数有一个的,也有多个的,一个参数的直接写,多个参数的则需用小括号()包含,参数值之间用“,”隔开。比如:\pos(960,540),且仅为英文输入状态的标点符号,中文输入状态下的小括号与标点无效。

至于哪些是一个参数哪些是多个参数的代码请参照豆瓣网友和路雪。分享的ASS特效代码注解:Aegisub的ASS代码使用指南


一个特效指令的多个参数仅可写在一个()内,多个()时无效。


章节:4:字幕显示的上下层级
除了代码的执行有先后顺序外,字幕显示也有上下的层级之分,如下图


时间重叠情况下,字幕显示的层级根据条目顺序而定,条目顺序越大,显示越靠上,如上图中,对白条目顺序为3,则显示在最上层,歌词条目顺序最小,则显示在最下层。

当我们在制作字幕过程中,难免会遇到时间重叠的字幕,想要设置显示层级,则将需要显示在上层的,放在后面即可,字幕的条目顺序自动叠加。

除此以外,我们也可以通过编辑器上的层次编号来控制显示的上下层级关系,如下图


层次编号与条目顺序同理,数值越大越靠上,比如我们将歌词字幕层次编号改为2后,歌词字幕则显示在最上层,如下图


在设置层级显示的时候,默认为层次编号优先执行,然后才是按照条目顺序显示层级,如上图,尽管歌词字幕条目顺序最小,但层次编号优先的原则下,歌词字幕则显示在最上层,无层次编号的时候,按条目顺序显示上下层级。

小知识补充:前一篇我们提到,将注释字幕整理后放在对白字幕前方,此举也是在避免出现特效注释字幕与对白字幕时间重叠时,特效字幕不会显示在上层遮挡住了对白的文字。



关于特效代码的小知识暂且统计这么多,如有遗漏欢迎留言补充,最后贴上ASS文件样式部分[V4+ Styles]对应的代码属性定义,有兴趣的小伙伴可以看看:
游客,如果您要查看本帖隐藏内容请回复


点评

非常喜欢这个教程,别人的教程看不下去,看咱们的原创教程一下就学会了  发表于 21-4-18 05:38

评分

参与人数 6威望 +100 大洋 +3006 收起 理由
老狮子 + 6 字幕人的起点基础课,谁跨越了它,早晚都要.
why1812 + 50 + 600 厉害了我的神!
bobo + 50 + 2000 厉害了我的神!
zhanglangcn + 100 厉害了我的神!
HN200226 + 200 牛逼啊兔哥,竟然在栽树啊。
蘭丶曦 + 100 啪的一下我就来了。

查看全部评分

234

主题

2050

帖子

1754

积分

营长

大洋
55785
阅读权限
50

灌水之王

发表于 21-4-17 23:24 | 显示全部楼层
都是很实用的教程,而且那么详细。
回复 支持 反对

使用道具 举报

69

主题

1110

帖子

4938

积分

禁止访问

大洋
298438
阅读权限
0
发表于 21-4-17 23:52 | 显示全部楼层
太有耐心。
✎﹏从前车马邮件很慢、一生只够爱一个人。
一梦三年、全是他颜。
回复

使用道具 举报

46

主题

753

帖子

1127

积分

营长

大洋
14618
阅读权限
50
QQ
发表于 21-4-17 23:57 | 显示全部楼层
兔哥功德无量,自己牛逼不说,还得让别人牛逼
回复 支持 反对

使用道具 举报

1

主题

1982

帖子

1004

积分

营长

大洋
12650
阅读权限
50
发表于 21-4-18 00:05 | 显示全部楼层
谢谢大神,回复看下代码学习
回复 支持 反对

使用道具 举报

2

主题

3440

帖子

604

积分

连长

大洋
13123
阅读权限
40
发表于 21-4-18 00:23 | 显示全部楼层
看看学学,了解一下就行,哈哈
回复 支持 反对

使用道具 举报

45

主题

1489

帖子

1742

积分

营长

大洋
2869
阅读权限
50
发表于 21-4-18 00:25 | 显示全部楼层
感谢分享,非常实用,一定要好好学习
回复 支持 反对

使用道具 举报

31

主题

8716

帖子

3495

积分

团长

大洋
77236
阅读权限
60
发表于 21-4-18 05:07 | 显示全部楼层
我进来是学习的
回复 支持 反对

使用道具 举报

16

主题

1193

帖子

1159

积分

营长

大洋
40651
阅读权限
50
发表于 21-4-18 06:43 | 显示全部楼层
大神牛逼,进来继续学习
回复 支持 反对

使用道具 举报

4

主题

1209

帖子

276

积分

排长

大洋
13825
阅读权限
30
发表于 21-4-18 07:54 | 显示全部楼层
温习一下,谢谢楼主分享
回复 支持 反对

使用道具 举报

48

主题

1521

帖子

3082

积分

团长

大洋
13119
阅读权限
60
发表于 21-4-18 08:44 | 显示全部楼层
这个必须多多熟悉
回复 支持 反对

使用道具 举报

1

主题

1988

帖子

335

积分

排长

大洋
8738
阅读权限
30
发表于 21-4-18 08:55 | 显示全部楼层
谢谢楼主的分享!这个绝对要顶!!!
回复 支持 反对

使用道具 举报

16

主题

2030

帖子

566

积分

连长

大洋
21904
阅读权限
40
发表于 21-4-18 09:09 | 显示全部楼层
喜欢技术帖,方便大家增长知识,强烈支持分享!
回复 支持 反对

使用道具 举报

3

主题

2616

帖子

7052

积分

旅长

大洋
9710
阅读权限
70

灌水之王论坛元老悍匪之王热心会员

发表于 21-4-18 11:05 | 显示全部楼层
非常详细的教程,辛苦了,必须支持个。
回复 支持 反对

使用道具 举报

98

主题

5050

帖子

7336

积分

版主

大洋
79737
阅读权限
140

帅哥宣传达人皇马褂热心会员版主

发表于 21-4-18 11:43 | 显示全部楼层
第二篇技术知识点来了,噢耶。
国语视界我的家园!
回复 支持 反对

使用道具 举报

77

主题

2020

帖子

3116

积分

团长

大洋
87483
阅读权限
60
发表于 21-4-18 12:06 | 显示全部楼层
膜拜@开心兔 版主,ass的特效函数表里,你把最有用的几个拿出来详细教给我们,非常感谢。你教的这些,正是我想学的,受教了!!!
回复 支持 反对

使用道具 举报

38

主题

2571

帖子

6926

积分

团长

大洋
64543
阅读权限
60
发表于 21-4-18 12:22 | 显示全部楼层
看懂了,不知道做起来怎么样,非常感谢!
1
回复 支持 反对

使用道具 举报

209

主题

1705

帖子

907

积分

连长

大洋
21308
阅读权限
40
发表于 21-4-18 21:53 | 显示全部楼层
学习兔大的经验,开始进步
回复 支持 反对

使用道具 举报

0

主题

157

帖子

24

积分

列兵

大洋
274
阅读权限
10
发表于 21-4-19 05:24 | 显示全部楼层
看看这第二篇教程
回复 支持 反对

使用道具 举报

61

主题

3870

帖子

2931

积分

营长

大洋
90480
阅读权限
50
发表于 21-4-19 15:44 | 显示全部楼层
感谢分享,期待下期!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表