本帖最后由 xmdhsb 于 21-4-18 19:17 编辑
写在最前面:下午我又对这个粒子特效的代码做了一些试验,重新编辑此贴,将图片里的一些注意点都标记了。整体更长了,见谅
代码并非原创。源代码来自蘭丶曦大神发布的Aegisub中低阶粒子特效的教程,原贴链接:
https://cnlang.org/thread-84585-1-1.html,特此感谢。看此贴前请先阅读蘭丶曦大神的帖子,以便有一个概念。
感谢bobo大佬发布了有奖活动。链接:
https://cnlang.org/forum.php?mod=viewthread&tid=84590&page=1#pid3191006
我为了参加这个活动赚大洋,所以拜读了蘭丶曦大神的帖子,在这里分享一下自己的制作过程和一些心得。
首先,自己的Aegisub版本是32位的3.2.2 ,并且挂载了vsfilter mod,貌似必须挂mod, 否则特效不显示。个人制作步骤如下:
1. 打开ASSDraw3, 画出一个圆(方块、三角形、五角星啥的都行),为了表示不同,这里自己随手画了一个五角星,注意最下面自动生成的图形代码。

2. 打开Aegisub,新建一个空白字幕,建一个空白视频,打上你想显示的字(字体颜色啥的请随意),建一个空白音频,在卡拉OK的模板上为这段字打上K值。

3. 在字幕前面插一空行,特效栏写“template syl noblank notext”,把“注释”勾上,文本写上蘭丶曦大神发布的模板代码。
!maxloop(5)!!retime("syl",-math.random(300,900),math.random(900,1500))!{\moves3(!$lleft+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lcenter+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lright+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!)\p1\bord1\blur3\shad0}!yuan!

注意:自动化文本和字幕的样式必须一致,如同为"default"。另据个人研究,代码最后的!yuan! 是去调用了code行中yuan="XXXXXX"的代码,所以可以把!yuan! 删掉,code行也不写,直接在代码后将ASSDraw3的图形代码复制黏贴进去。代码显示为
!maxloop(5)!!retime("syl",-math.random(300,900),math.random(900,1500))!{\moves3(!$lleft+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lcenter+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lright+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!)\p1\bord1\blur3\shad0}m 0 0 b -1 1 -3 3 -4 4 b -1 4 2 3 5 3 b 2 2 -1 2 -4 1 b -2 3 0 4 2 6 b 2 6 2 6 2 6 b 2 6 2 6 2 6 b 1 4 1 2 0 0 
======================================================================= 如果是按照原贴,用!yuan!, 就再另起一行,特效栏写”code once“,把”注释“勾上。文本栏输入:yuan="XXXXX",XXXXX就是图形代码。另,这个“!yuan!”只是个名字,可以改成其他任意英文名(数字试了下不行),例如我自己输了"ad", code行里的yuan也同样改成ad。
自己试了一下两个效果是一样的。 ======================================================================= 4. 选中字幕行,点击“自动化”-:应用卡拉OK模板“,会自动应用。
在这个时候,原先的那段字会被自动打上karaoke标签,并勾选了“注释”,将“注释”的勾去掉,否则不会显示文字。
5. 点击播放,效果如下

=======================================================================
如果要加颜色,就在应用自动化前,在原先的代码后追加颜色代码,例如c&H23FF00&\3c&H0000FF&,就和给字幕换颜色一样,p1\后的代码就是对这个图形做特效,和给字幕加特效一个道理,可以自己改。

=======================================================================
如果是随机颜色,原贴貌似没有发相关代码,以下代码源自百度Aegisub贴吧吧友,在此表示感谢!
!remember("a",000000)!\3c&H!recall.a+math.random(0,999999)!&
加上随机颜色的代码为:
!maxloop(5)!!retime("syl",-math.random(300,900),math.random(900,1500))!{\moves3(!$lleft+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lcenter+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!,!$lright+math.random(-50,30)!,!$lmiddle+math.random(-50,30)!)\p1\bord1\blur3\shad0\!remember("a",000000)!\3c&H!recall.a+math.random(0,999999)!&}m 0 0 b -1 1 -3 3 -4 4 b -1 4 2 3 5 3 b 2 2 -1 2 -4 1 b -2 3 0 4 2 6 b 2 6 2 6 2 6 b 2 6 2 6 2 6 b 1 4 1 2 0 0

自动化应用效果如下

=======================================================================
以下是我自己的试验,没兴趣的可以不看。
这段颜色随机代码,个人使用下来,觉着色彩随机的不是很对,就那么几个随机颜色,我对这段代码的理解是:
这段代码貌似只调用了000000-999999数字的颜色,而颜色的代码其实是从000000(黑色)到FFFFFF(白色)的,有很多英文+数字代表的颜色。我尝试着将999999换成FFFFFF,自动化就报错了,目前还没找到解决办法。不知蘭丶曦大神是否方便可以更新一下随机颜色的代码。
---------------------------------------------------------------------------------------------------------------------------
也可以在字幕前加各种特效代码,自己试了淡入淡出和字体变小


----------------------------------------------------------------------------------------------------------------------------
还试了原贴中的 template pre-line行,自动化后原字幕行勾选”注释“,效果如下,可以看到逐字效果其实并没有出现,不知道是本身就不支持呢,还是我设置有问题。



不勾选”注释“,效果如下

自动化实在是太深奥了,我目前也基本只能套模板照抄,如有错误,恳请大神指正。希望有大神发一下关于自动化模板的教程。也希望坛友们能踊跃尝试!
|