参考教程
Karaoke Templater Reference: Code execution environment
个人入门之路
首先练习打轴,b站有各种打轴教程。粗略打轴推荐更改“将当前帧设为起始时间”和“将当前帧设为结束时间”为自己方便的快捷键,然后跟随视频/音频播放直接打轴,一般能达到常速。
其他选项可以依次设置
然后是基础特效代码(位置颜色旋转缩放等),虽然左侧可以直接带预览编写,但是也要熟悉一下,不然没法写特效
特效编写历程
这只是笔记,各种细节请参考文章中链接里面的教程
一开始,我想编写一个逐字浮现的效果,估计要move,retime,fad
首先,熟悉move和fad
参考链接:ASS特效标签
\move(<x1>,<y1>,<x2>,<y2>)
\move(<x1>,<y1>,<x2>,<y2>,<t1>,<t2>)
t1是开始移动时间,t2是停止移动时间(毫秒,相对于字幕起始时间)(教程看得我一脸懵逼,其实就这么简单两个时间点)
\fad(<fadein>,<fadeout>)
两个参数分别是淡入和淡出时间(毫秒),不需要的写0
最后,最蛋疼的东西:retime
我纠结了半个多小时templete line/syl和retime的第一个参数line或者syl有什么关系,试了好多次才明白
现几句话总结分享如下:
templete line/syl说的是模板的作用对象,line是作用于字幕行,syl是分别作用于每个音节(\k那种)
所以,用line的时候,应用后会生成一句字幕,用syl的时候,应用后有多少个音节就出来多少个字幕(用来制作复杂的特效)
retime的第一个参数是使用的时间基准,即addstart和addend是在哪个时间的基础上调整,参数见上图
于是,我希望作用到行,然后每个字延迟50ms,所以使用template syl,retime第一个参数是"preline",然后便有了下面的代码:
!retime("line",$si*50,0)!{\move($x,!$y+20!,$x,$y,0,200)}
测试,效果不错,待后续美化