TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: 【aegisub教程】Template 修饰语 (by 鬼道) [打印本页]

作者: ひまり    时间: 2012-7-17 15:06:23     标题: 【aegisub教程】Template 修饰语 (by 鬼道)

本帖最后由 ひまり 于 2012-7-17 15:39 编辑

我又来蛋疼的发教程了,应该算原创吧,按照官网的顺序+自己的一些蛋疼经验。。。= =

       我用aegisub就是经常写template,然后自动化,这种方法对于一些简单的效果实现还是不错的,对于一些复杂的效果,一般都是抄别人的表达式(没有编程才能啊。。。),至于像素字啥的,我到现在还不会,直接套用奶大的东西还是不错的(笑。。。),今天蛋疼地给新人们讲一下修饰语的东东,实际这些东西在官网的manual里面都能找到啦。。。
不管是写template还是code,都会带一些修饰语,像template syl,code once,code line等等,后面的syl,line,once就是修饰语,这个很重要,因为关系作用的范围。。。虽然有些可以省略,如果省略,像template,就会默认为syl,而code则会默认为once。一般这么省写的人很少,我这么懒,但是没省过。。。下面,讲几个我比较熟的吧,表喷me。。。(我知道奶大不会喷我= =)
   

一、once
这个修饰语比较简单,不过只能用于code行,没见过有人写template once的。。。一般只有code once,顾名思义就是这行代码在卡拉ok模板执行过程中只运行一次,并且这种代码一般都会写在其他code行或者template行的前面,并按照所声明的顺序运行。这行一般写的内容无非是自定义的函数,以便在后面的template里面直接调用。。。(我记得assdraw打开经常看见的一个名字ai-chan,最喜欢声明一堆东西,然后后面调用。。。我记性不好,根本记不住他前面声明了啥。。。)
例子:
例子我就随便弄个好了。。。(官网那个也不错,实际。。。)
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,code once,
shape="m 0 0 b -4 -2 -11 -14 -1 -12 b -1 -12 0 -10 1 -12 b 10 -15 5 -2 0 0  "
大家喜闻乐见的图形。。。。这样只会可以直接用shape了。。。。不用再不断的复制那串数字。


二、line
这个修饰语在code和template行都可以用,而且比较常见。。。
不过提醒大家的是,如果line和template一块用的话,后面可以加上名字的,如果不加的话只是单纯用template line,则没有匹配的效果,只是对相应的样式有效,嗯。。。我语言表达不好,举个例子吧,比如一个没有名字的template line:
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template line,{\r\t($start,$end,\bord0)}
这行很普通,就是单纯的改变音节的描边厚度而已。。。对所有该样式都会有效。。。
但是如果是下面一种情况:
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template line jumper,{\r\t($start,$mid,\frz-0.1)\t($mid,$end,\frz0}
这个是加了名字的template line ,它只会对被命名为jumper的才会有效。。。。(这个好像inlinefx的感觉,我也用的很少。。。)
如果line和code一块用,则没有命名的情况。。。。
比如:
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,code line,fxgroup.funky = line.actor == "funky"
这个主要声明了说话人是funky,下面才会有效。。。(我印象中也是ai-chan喜欢这么干。。。)
三、pre-line
这个修饰语和line有点像,不过它只能和template一块用,也是可以加名字和不加名字的,完全和line一样,但是它不能和code一块用。
四、syl
估计这个最常见了,没人不知道吧,这个code和template都能用,不可加名字。
例子:
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template syl,{\pos($x,$y)}
单纯指示位置。。。= =
五、furi
furi大概就是furigana的缩写吧,假名的意思,如果你打k值的内容是假名,也可以用这个,个人觉得没啥意思。。。方便11区人的东西。。。
六、syl furi
这两个可以连起来。。。同五。。。没啥用,(天朝人做的话,做个syl tianchao。。。-_-|||)
以上,我觉得基本够用了,下面还有一些。。。


作者: ひまり    时间: 2012-7-17 15:08:35

本帖最后由 ひまり 于 2012-7-17 15:39 编辑

七、all
顾名思义,所有都作用。。。。对整个字幕文件的每个音节。。。= =
八、char
这个是character的缩写,用这个会对每个字产生作用,不一定是音节。。。
九、fx name
这个修饰语我经常用,哈哈,奶大的东西可以控制每句话,每个字的效果的话,实际aegisub本身也能做到。。。
例子
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template syl fx drop,{\move($x,$y,$x,!$y+30!,$start,$end)}
上面的效果名字叫做drop,要想实现这个效果,只要在{\k21\-drop}hi{\k10}gu{\k23}ra{\k22}shi {\k38}ga里面加上\-drop,这个效果会作用整个一句话,如果写在中间则会对后面的产生效果,前面的不会。。。
十、keeptags
这个东西也很实用,主要是打k值的时候,有时候自己在原句中加了一些tags来控制颜色,字体,但是一旦应用了template,这些东西就消失了,这时候加上keeptags则不会。。。
貌似不能和char或multi一块用。。。
例子
template line keeptags: {\r\t($start,!$start+1!,\frx40)\t(!$start+1!,$end,\frx0)}
karaoke: {\k21}hi{\k10}gu{\k23}ra{\k22}shi {\k38}ga {\k37\1c&H0000FF&}na{\k37}ku
十一、multi
这个东西估计也有人用过,这个主要是日语里面的汉字发音往往不是占一个音节的情况,甚至用多个假名注音,这时候会这么做,老实说这个算比较高级的用法了吧,占了多个音节,高亮就会有多个。。。我一直想试试,但是因为麻烦一直没用,可以自动实现汉字头顶注假名的效果哦~~(2001貌似讲过。。。)
例子
template syl multi: {\an5\pos($scenter,$smiddle)\1a&HFF&\t($start,$end,\bord5\3a&HFF&)}
karaoke: {\k33}風{\k36}#{\k89}の{\k46}花{\k28}#{\k57}よ
风读作kaze,两个音,多的一个用#来占位。。。。实际可以写成#|XX(写假名),应用之后假名会自动到汉字头上。。。一个音用一个#。。。。风这样的两个就应该用两个,不过这个例子没要实现那种效果。。。所以只是单纯用#占位而已。。。
十二、noblank
这个简单说一下,就是对空格无效。。。(特别提醒一下,不要小看空格,我就吃过亏。。。不提了。。。)
十三、notext
这个经常在做图形,曲线啥的效果时候用,和template一块用。。。
例子:
code once: sword_shape = "m 0 0 l 5 -5 l 5 -30 l 10 -30 l 10 -32 l 2 -32 l 2 -40 l -2 -40 l -2 -32 l -10 -32 l -10 -30 l -5 -30 l -5 -5 "
template syl notext noblank: {\an5\move($scenter,!$smiddle-30!,$scenter,$smiddle,!$start-20!,$start)\p2}!sword_shape!
十四、repeat n,loop n
这个讲完,就不讲了。。。(空调坏了,我待会出去转转。。。)
这两个都是指定效果的重复次数的。。。。repeat还真没用过,我一直用loop。。。。(貌似还用过maxloop()的函数,那是偷别人的啦。。。。)
例子
template syl loop 4: {\move($x,$y,!$x+math.random(-30,30)!,!$y+math.random(-30,30)!,$start,$end)\alpha&Hc0&\t($start,$end,\alpha&HFF&)}
这个效果就是从原来位置向上下左右大约30像素位置随机运动。。。。然后重复4次。。。。
好了,蛋疼的讲座完了,我也准备准备撤了。。。

作者: ひまり    时间: 2012-7-17 15:09:22

格式好丑啊,呼叫奶大,帮忙整整。。。。@milkjing
作者: zxcqwert    时间: 2012-7-17 15:52:27

鬼道师傅教程!!!!
必须来学习!
作者: mzlmcx    时间: 2012-7-17 17:11:56

学习……鬼道老师!!
作者: zxdfcgv    时间: 2012-7-17 19:35:06

帮顶
作者: BBA    时间: 2012-7-17 23:37:04

坐等写到maxloop。。。当年着实不会这货
作者: tnti    时间: 2012-7-18 01:27:11

坐等鬼道老湿补完全部教程
作者: youkaze    时间: 2012-7-19 08:33:03

来支持个
作者: milkyjing    时间: 2012-7-19 22:57:39

ひまり 发表于 2012-7-17 15:09
格式好丑啊,呼叫奶大,帮忙整整。。。。@milkjing

给力,支持一下!

p.s. 看起来挺整洁的
作者: 青小艹    时间: 2012-8-6 15:06:17

我还去度娘文库给你加了5金币
作者: jasmine    时间: 2012-8-23 11:33:53

好东西!对于我这种新人来说
作者: 希望的原野    时间: 2012-8-23 11:41:31

好东西盖顶!!!
作者: oloroso    时间: 2012-8-27 20:33:47

好详细啊~~终于找到了...马上回去学习一下~~!
作者: TG家的小丸子    时间: 2012-9-10 23:54:02

最初看的时候毛也不懂 这几天研究了会 现在再看明朗了~
作者: Forever    时间: 2012-11-19 16:24:04

还是新手,表示完人不懂,先下来收藏!
作者: exe12356    时间: 2012-11-24 11:04:52

那个multi怎样用啊?能否给个实例?
作者: yiphonn    时间: 2013-1-3 12:46:30

instructive for beginners. thanks.
作者: kinally    时间: 2013-1-6 12:31:38

nice~果断啃下来。

英文版和日文版说明书看的晕乎乎,果然还是有Chinese的赛高
作者: 斯巴拉西    时间: 2013-2-3 20:18:57

本帖最后由 斯巴拉西 于 2013-2-3 20:38 编辑

我之前也是学了一些template语句,但是表达式里可套用的语句知道的太少了。

我知道只有$start,$end,$mid,$dur,$kdur,$x,$y,$i,除此之外,$后面还可以加什么呢?

还有关于函数,除了楼主例子中的math.random,还有什么函数呢?比如一个文字向两边等距离等速度移动,是不是有可以实现对称移动的函数之类的?

有些不想做的太复杂的特效觉得套用template就行了,但是苦于可写的语句知道的太少,请高人赐教。官网英文实在压力很大,论坛里搜到的也都是我知道的。。。
作者: axdf    时间: 2013-2-9 13:13:18

看了两行觉得自己Aegisub白学了
作者: jirachi8768    时间: 2013-2-15 17:42:13

官网如果有汉化就好了……
作者: 紫恋水晶    时间: 2013-4-2 19:56:40

初学者的福音啊,谢谢
作者: lyoung    时间: 2013-7-29 18:22:45

必须来学习!
作者: 岛屿    时间: 2013-9-14 23:55:03

我感觉这玩意儿到现在我还是只会打时间轴和K值,其他的真的还是似懂非懂
作者: kfgsyjj    时间: 2014-1-14 11:50:46

学习,谢谢分享
作者: aaronyoukaze    时间: 2014-2-7 19:17:38

本帖最后由 aaronyoukaze 于 2014-2-7 19:18 编辑

教学帖先码着,
现在这个程度还不太看得明白专有名词但相信好好学习后就能看懂的!
谢谢LZ
作者: shana酱油    时间: 2014-2-9 18:06:20

在某字幕里看到有special这样的修饰语,请问这个是什么意义的,还有看到有fxgroup,这个跟你说的fx name不知是不是一样的
作者: ひまり    时间: 2014-2-10 19:21:17

shana酱油 发表于 2014-2-9 18:06
在某字幕里看到有special这样的修饰语,请问这个是什么意义的,还有看到有fxgroup,这个跟你说的fx name不 ...

有一些是自定义的东西。。。有些人甚至把自己名字当fx的名字,然后放在说话人那里。。。。还有的是为了一行套用多种特效把fx进行命令分类的。。。
作者: 那小小小ruby    时间: 2014-10-25 22:46:59

好难~有种要晕的赶脚 我要努力学习
作者: apody929    时间: 2014-12-11 14:20:27

谢谢楼主大大分享 收下学习了!
作者: dano    时间: 2015-6-28 05:46:54

目前就是学者的水平
作者: wuyiji    时间: 2016-6-7 16:22:18

好的,看下
作者: aku    时间: 2017-4-4 18:54:05

谢谢楼主
作者: 2985915136    时间: 2017-4-6 21:11:33

学习学习
作者: basketmaru    时间: 2017-4-18 09:54:22

這裡的教程對新手來說實在太有幫助了,謝謝板主!
作者: bluecy3    时间: 2018-8-22 11:01:30

超赞!帮我理清楚这些的关系!
作者: qinkoae    时间: 2018-9-13 14:36:13

谢谢,好头疼耶




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2