本帖最后由 小司不笨 于 2013-3-29 08:58 编辑
看到幻羽巨巨的帖子后想了一下,觉得每次别人问我怎么做特效的时候我都直接扔个教程给他太糊弄事,所以今天也来跟风写一个...以最近做的樱花庄的OP效果为例,一步一步写出制作过程
当然,观看以下内容需要的基础是了解基本ass代码(不需要背下来,知道怎么回事就行),并且看完幻羽的另外两篇教学后
嗯...其实变色这玩意也是我看别人的特效后模仿的,有兴趣的可以下载下来看看,不过年代久远我也不记得是从哪下载的了....机巧魔神的OPED和猫物语的OP
链接:http://pan.baidu.com/share/link?shareid=382584&uk=1979789437 密码:6762
因为没看过这些特效的代码所以我也不知道我用的代码和他们是不是一样的,不过应该差不多吧...
下面是正题
先扔出樱花庄OP的ass
然后介绍一下vsfiltermod里面的渐变色代码:(直接复制的别人的教程)
Gradients渐变
\$vc(left-top-color,right-top-color,left-bottom-color,right-bottom-color)
\$va(left-top-transparency,right-top-transparency,left-bottom-transparency,right-bottom-transparency)
Creates gradients by using anchor colors or opacity levels. May be slow.Animatable by \t.
用颜色或透明度创建渐变。可能渲染时比较慢。可用\t实现动态效果。(已修复与\fad的兼容问题。调整RRGGBB为BBGGRR。$的取值1-4,分别表示主要颜色、次要颜色、边框、阴影。)
Example
例子 1. {\r\1vc(00FFFF,FFFF00,FF00FF,000000)}\1vc(00FFFF,FFFF00,FF00FF,000000)\N{\r\1vc(00FFFF,000000,00FFFF,000000)}\1vc(00FFFF,000000,00FFFF,000000)\N{\r\1vc(FFFFFF,FFFFFF,000000,000000)}\1vc(FFFFFF,FFFFFF,000000,000000)\N{\r\1vc(0000FF,000000,000000,0000FF)}\1vc(0000FF,000000,000000,0000FF)\N{\r\3va(FF,FF,00,00)}\3va(FF,FF,00,00)\N{\r\3va(FF,00,FF,00)}\3va(FF,00,FF,00)
别看代码很长,其实很简单,简单的描述的话就是 \1vc(左上角颜色,右上角颜色,左下角颜色,右下角颜色) \1va(左上角透明度,右上角透明度,左下角透明度,右下角透明度)
嗯 然后我们继续 根据说明资料上写的可以用\t实现动态效果,所以就有了字幕的动态渐变色 再说的直白点就是 我想要在0到1秒钟的时间内让这个字的左上角从白到蓝 右上角从蓝到白 左下角从绿到黄 右下角从黄到黑(颜色随手写的...) 于是怎么做呢? {\1vc(左上角颜色,右上角颜色,左下角颜色,右下角颜色)\t(起始时间,终止时间,\1vc(左上角颜色2,右上角颜色2,左下角颜色2,右下角颜色2))} 这样就做到了一次渐变色 但是那个特效里面的字是一直在变色的,所以我们也可以用\t让他一直变色 于是就有了 {\1vc(左上角颜色,右上角颜色,左下角颜色,右下角颜色)\t(起始时间,终止时间,\1vc(左上角颜色2,右上角颜色2,左下角颜色2,右下角颜色2))\t(起始时间2,终止时间2,\1vc(左上角颜色3,右上角颜色3,左下角颜色3,右下角颜色3))\t(起始时间3,终止时间3,\1vc(左上角颜色4,右上角颜色4,左下角颜色4,右下角颜色4))……省略} 大概\t的时间值写到5000左右就差不多了,一句歌词的长度,而且后面的部分基本可以复制粘贴改个数字就行 我也不知道有没有更好的办法....我是一直用这个蠢办法的
基本结构就是这个了,然后要具体应用到template上去 首先是随机性,我们看到视频里的特效都是无规律的变色(透明度)的 于是就要用到下面的代码 temp = {} function set_temp(ref,val) temp[ref] = val; return val; end //这段前面幻羽的教学有讲过...
color = {"(HFFFFFF,HBF87FF,HBF87FF,HBF87FF)","(HBF87FF,HFFFFFF,HBF87FF,HBF87FF)","(HBF87FF,HBF87FF,HFFFFFF,HBF87FF)","(HBF87FF,HBF87FF,HBF87FF,HFFFFFF)",} //这段幻羽也有讲过,建立一个可供随机挑选的几组数据,因为我的樱花庄OP只是白色和粉色之间的渐变,所以需要的颜色不多
!retime("start2syl")!{\an5\1vc!color[math.random(1,4)]!\pos($center,$middle)\t(0,400,\1vc!color[math.random(1,4)]!)\t(400,800,\1vc!color[math.random(1,4)]!)\t(800,1200,\1vc!color[math.random(1,4)]!)\t(1200,1600,\1vc!color[math.random(1,4)]!)\t(1600,2000,\1vc!color[math.random(1,4)]!)\t(2000,2400,\1vc!color[math.random(1,4)]!)\t(2400,2800,\1vc!color[math.random(1,4)]!)\t(2800,3200,\1vc!color[math.random(1,4)]!)\t(3200,3600,\1vc!color[math.random(1,4)]!)\t(3600,4000,\1vc!color[math.random(1,4)]!)\t(4000,4400,\1vc!color[math.random(1,4)]!)} !retime("syl2end")!{\an5\1vc!color[math.random(1,4)]!\pos($center,$middle)\t(0,400,\1vc!color[math.random(1,4)]!)\t(400,800,\1vc!color[math.random(1,4)]!)\t(800,1200,\1vc!color[math.random(1,4)]!)\t(1200,1600,\1vc!color[math.random(1,4)]!)\t(1600,2000,\1vc!color[math.random(1,4)]!)\t(2000,2400,\1vc!color[math.random(1,4)]!)\t(2400,2800,\1vc!color[math.random(1,4)]!)\t(2800,3200,\1vc!color[math.random(1,4)]!)\t(3200,3600,\1vc!color[math.random(1,4)]!)\t(3600,4000,\1vc!color[math.random(1,4)]!)\t(4000,4400,\1vc!color[math.random(1,4)]!)} !retime("syl")!{\an5\pos($center,$middle)\t(0,!$dur/2!,\3c&HFFFFFF&\fscx130\fscy130\1vc(HFFFFFF,HFFFFFF,HFFFFFF,HFFFFFF))\t(!$dur/2!,$dur,\3c&HFFFFFF&\fscx100\fscy100\1vc!color[math.random(1,4)]!)} //这三段一起说,首先是retime的用法,详细说明可以参考这篇文章 ,这个就是把一句歌词拆成了3部分,每句的开始至唱到当前歌词 当前歌词 当前歌词至每句最后,分别对应着!retime("start2syl")! !retime("syl")! !retime("syl2end")!,然后就是渐变色的随机挑选,可以看到我用的是\1vc!color[math.random(1,4)]! 这句话,这里面的1,4就是特效第三行中对应的4种颜色搭配,然后\pos($center,$middle)是确定当前字幕位置 然后是背景的樱花飞 cherry = "m 9 23 b 8 22 7 21 6 20 b 4 18 3 16 2 12 b 2 9 3 5 4 3 b 5 2 6 1 7 1 b 8 3 8 4 9 5 b 10 4 10 3 11 1 b 13 2 14 3 14 3 b 15 5 16 8 16 12 b 15 16 14 18 12 20 b 11 21 10 22 9 23" //樱花的图形
!retime("syl",0,math.random(600,2000))!{\an5\fscx!set_temp("scale",math.random(28,68))!\fscy!temp.scale!\bord1\1c&HBF87FF&\3c&HFFFFFF&\shad0\blur2\move(!$center+math.random(-15,15)!,!$middle+math.random(-15,15)!,!$center+math.random(-80,80)!,!$middle-math.random(-80,80)!)\t(0.2,\frx!math.random(-4500,4500)!\fry!math.random(-6000,6000)!\frz!math.random(-4500,4500)!)\fad(0,500)\p1}!cherry! //这段主要是樱花的飞行方式,这只是一种,其他的飞行方式大家可以发挥想象力自己创造
嗯...都写完啦,应该已经很简单直白了吧... 还有不明白的欢迎下面回帖问...
|