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

 找回密码
 加入社区
查看: 8364|回复: 37

【aegisub教程】Template 修饰语 (by 鬼道) [复制链接]

Rank: 5Rank: 5

发表于 2012-7-17 15:06:23 |显示全部楼层
本帖最后由 ひまり 于 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。。。-_-|||)
以上,我觉得基本够用了,下面还有一些。。。

1

查看全部评分

Rank: 5Rank: 5

发表于 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次。。。。
好了,蛋疼的讲座完了,我也准备准备撤了。。。

Rank: 5Rank: 5

发表于 2012-7-17 15:09:22 |显示全部楼层
格式好丑啊,呼叫奶大,帮忙整整。。。。@milkjing

Rank: 4

发表于 2012-7-17 15:52:27 |显示全部楼层
鬼道师傅教程!!!!
必须来学习!

正式会员

妖木

Rank: 4

发表于 2012-7-17 17:11:56 |显示全部楼层
学习……鬼道老师!!

Rank: 6Rank: 6

发表于 2012-7-17 19:35:06 |显示全部楼层
帮顶

Rank: 4

发表于 2012-7-17 23:37:04 |显示全部楼层
坐等写到maxloop。。。当年着实不会这货

Rank: 4

发表于 2012-7-18 01:27:11 |显示全部楼层
坐等鬼道老湿补完全部教程

Rank: 4

发表于 2012-7-19 08:33:03 |显示全部楼层
来支持个

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2012-7-19 22:57:39 |显示全部楼层
ひまり 发表于 2012-7-17 15:09
格式好丑啊,呼叫奶大,帮忙整整。。。。@milkjing

给力,支持一下!

p.s. 看起来挺整洁的

Rank: 4

发表于 2012-8-6 15:06:17 |显示全部楼层
我还去度娘文库给你加了5金币

Rank: 1

发表于 2012-8-23 11:33:53 |显示全部楼层
好东西!对于我这种新人来说

Rank: 4

发表于 2012-8-23 11:41:31 |显示全部楼层
好东西盖顶!!!

Rank: 5Rank: 5

发表于 2012-8-27 20:33:47 |显示全部楼层
好详细啊~~终于找到了...马上回去学习一下~~!

Rank: 4

发表于 2012-9-10 23:54:02 |显示全部楼层
最初看的时候毛也不懂 这几天研究了会 现在再看明朗了~

Rank: 4

发表于 2012-11-19 16:24:04 |显示全部楼层
还是新手,表示完人不懂,先下来收藏!

Rank: 4

发表于 2012-11-24 11:04:52 |显示全部楼层
那个multi怎样用啊?能否给个实例?

Rank: 4

发表于 2013-1-3 12:46:30 |显示全部楼层
instructive for beginners. thanks.

Rank: 4

发表于 2013-1-6 12:31:38 |显示全部楼层
nice~果断啃下来。

英文版和日文版说明书看的晕乎乎,果然还是有Chinese的赛高

Rank: 4

发表于 2013-2-3 20:18:57 |显示全部楼层
本帖最后由 斯巴拉西 于 2013-2-3 20:38 编辑

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

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

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

有些不想做的太复杂的特效觉得套用template就行了,但是苦于可写的语句知道的太少,请高人赐教。官网英文实在压力很大,论坛里搜到的也都是我知道的。。。
您需要登录后才可以回帖 登录 | 加入社区

GitHub|TCAX 主页

GMT+8, 2018-12-17 05:05

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH