ass文件下载链接: 百度网盘 提取码: nj5g
年更(误
这次公开的是Walkure 女武神 2nd Live中的 僕らの戦場 特效
特效主要分为三个部分,本次讲解特效1,即文件中JP样式对应特效
下面进入正题,模板解析:
code行 | |||
行号 | 修饰语 | 功能 | 备注 |
1 | syl all | 建立角色与颜色对应关系 | |
2 | once | 获取/计算帧持续时间 | |
3 | syl noblank | 取得字体矢量绘图代码* | 使用Yutils库 |
code行定义的内容较为简单,前面的教程基本涵盖了这次的内容,可以自行阅读
下面着重讲解template行
template行 | ||
行号 | 修饰语 | 功能 |
13 | syl noblank notext | 文字入场波动效果 |
14 | syl noblank notext | 退场效果 |
JP样式的特效由两部分组成,波动入场+位移退场
代码量主要集中在波动入场部分
1.循环、时间设定部分
由于波动效果依赖逐帧变化,所以可以看到循环数、retime的设置与帧持续时间有关,这也是code中需要获取帧持续时间的原因,这样做即可保证每一行仅持续1帧:
!maxloop(($sdur+200)/frame_dur)!
!retime(“syl”,(j-1)*frame_dur,-$sdur+j*frame_dur)!
2.样式设定部分
{\3c!c! ———-根据code 行1建立的颜色对应关系赋予文字不同的颜色
\blur!3-((j<=12) and math.round(3*j^2/144,2) or 3)! ———blur计算,自行理解
\shad0\p1\pos($left,$top)\an7 ———阴影\开启绘图\位置设定\对齐设定( *注意pos内容和对齐的搭配)
\bord!(maxj-j)<10 and math.round((j-maxj)/5+2,2) or “0”!} ———边框计算,自行理解
3.图形部分
这部分是实现本效果的核心,主要使用了Yutils库的shape filter函数,这个函数可以将输入的有序数对(序列)x,y进行运算,并将运算结果返回。
本次输入的是名为“text”的单音节对应的文字矢量绘图,对于每一对x,y坐标,将进行如下运算
x=x*(1.3-j/maxj*0.3)+4*math.sin(y+0.5*j)*(1-(j/maxj)^0.5)
y=y+4*math.sin(x+0.5*j)*(1-(j/maxj)^0.5)
实现波动效果的关键是 变形量与循环计数 j 成类三角函数关系,这样变形量即可产生正负变化,使用-1的n次方也可以;并且最终j=maxj时,x,y计算后应该等于原x,y
将x,y返回,即可构成新的变形后的绘图代码
变形量是值得摸索的参数,想要较好的控制它,需要一定的数学抽象能力
至此,僕らの戦場的特效1已经讲解完毕了,有问题的童鞋可以在下方交流
战姬绝唱Live 2016中你最喜欢的字幕特效?
投票总人数: 216
关于第一行Color Allocation该怎么制作,需要注意一些什么地方