国语视界

 找回密码
 立即注册
查看: 5925|回复: 14

[技术交流] 【更新】关于粒子特效的个人应用和心得

[复制链接]

16

主题

1193

帖子

1159

积分

营长

大洋
40739
阅读权限
50
发表于 21-4-18 13:59 | 显示全部楼层 |阅读模式
本帖最后由 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行,自动化后原字幕行勾选”注释“,效果如下,可以看到逐字效果其实并没有出现,不知道是本身就不支持呢,还是我设置有问题。





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


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

评分

参与人数 2威望 +50 大洋 +1100 收起 理由
why1812 + 50 + 900 很给力!
cnlang + 200 很给力!

查看全部评分

11

主题

1万

帖子

1926

积分

营长

大洋
67
阅读权限
50
发表于 21-4-18 14:58 | 显示全部楼层
看的有点晕 支持一下 辛苦  辛苦
回复 支持 反对

使用道具 举报

38

主题

2572

帖子

6926

积分

团长

大洋
64549
阅读权限
60
发表于 21-4-18 15:36 | 显示全部楼层
厉害了,看来是少了一些步骤,非常感谢,这就试试!
1
回复 支持 反对

使用道具 举报

11

主题

4873

帖子

687

积分

连长

大洋
56323
阅读权限
40
发表于 21-4-18 15:44 | 显示全部楼层
期待这样越来越多的科普性帖子!!
回复 支持 反对

使用道具 举报

1

主题

3448

帖子

666

积分

连长

大洋
21332
阅读权限
40
发表于 21-4-18 16:56 | 显示全部楼层
感谢楼主分享特效字幕制作教程
回复 支持 反对

使用道具 举报

33

主题

8736

帖子

3501

积分

团长

大洋
74315
阅读权限
60
发表于 21-4-18 17:01 | 显示全部楼层
这是菜鸟的福利
回复 支持 反对

使用道具 举报

16

主题

2030

帖子

566

积分

连长

大洋
21904
阅读权限
40
发表于 21-4-19 00:07 | 显示全部楼层
跟帖看看,慢慢学习吧。
回复 支持 反对

使用道具 举报

22

主题

5398

帖子

804

积分

连长

大洋
6401
阅读权限
40
发表于 21-4-20 11:28 | 显示全部楼层
专业得厉害,学习学习再学习。
回复 支持 反对

使用道具 举报

9

主题

1841

帖子

1055

积分

营长

大洋
28306
阅读权限
50
发表于 21-5-1 10:11 | 显示全部楼层
谢谢楼主分享心得,从中学习一下
回复 支持 反对

使用道具 举报

22

主题

1431

帖子

208

积分

排长

大洋
16731
阅读权限
30
发表于 21-5-1 12:01 | 显示全部楼层
感谢楼主,有心了,我是一张图一张图看的,看孩子太忙,回头动手试试
回复 支持 反对

使用道具 举报

1

主题

4868

帖子

479

积分

排长

大洋
5455
阅读权限
30
发表于 21-5-3 13:28 | 显示全部楼层
感谢楼主分享经验!
回复 支持 反对

使用道具 举报

5

主题

4036

帖子

480

积分

排长

大洋
50368
阅读权限
30
发表于 21-5-14 15:45 | 显示全部楼层
请教楼主,为何我做的到第9个字符的时候粒子就终止了,而且貌似速度与平滑度都不如楼主的,代码中几个时间的计算关系(如卡拉OK总秒数与粒子产生时间)能否详细解释下,非常感谢!




回复 支持 反对

使用道具 举报

16

主题

1193

帖子

1159

积分

营长

大洋
40739
阅读权限
50
 楼主| 发表于 21-5-14 20:10 | 显示全部楼层
本帖最后由 xmdhsb 于 21-5-14 20:12 编辑
zhangyun_1 发表于 21-5-14 15:45
请教楼主,为何我做的到第9个字符的时候粒子就终止了,而且貌似速度与平滑度都不如楼主的,代码中几个时间 ...

是不是没有挂载VSFilterMod? moves3这个代码是挂载mod后才能显示的。mod下载和挂载请前往开心兔大佬的帖子:浅谈ASS的特效代码玩法4
回复 支持 反对

使用道具 举报

5

主题

4036

帖子

480

积分

排长

大洋
50368
阅读权限
30
发表于 21-5-17 14:31 | 显示全部楼层
xmdhsb 发表于 21-5-14 20:10
是不是没有挂载VSFilterMod? moves3这个代码是挂载mod后才能显示的。mod下载和挂载请前往开心兔大佬的帖 ...

非常感谢,果然是VSFilterMod的问题,奇怪的是因为之前是按yaojingzhe的帖子
(全网首篇)Aegisub安装Aegisub-motion v1.0.9等84个自动化脚本教程设置的自动化脚本,帖子强调必须是64位的Aegisub_r8942
加载兔佬帖子中的VSFilterMod立马报错。用32位的Aegisub则自动化也报错。
后面找了个64位的VSFilterMod反复折腾几次,竟然没问题了。
回复 支持 反对

使用道具 举报

16

主题

1193

帖子

1159

积分

营长

大洋
40739
阅读权限
50
 楼主| 发表于 21-5-18 06:43 | 显示全部楼层
zhangyun_1 发表于 21-5-17 14:31
非常感谢,果然是VSFilterMod的问题,奇怪的是因为之前是按yaojingzhe的帖子
(全网首篇)Aegisub安装Aegis ...

因为mod必须和aegisub版本一致,aegisub是32位的,mod也必须32位;aegisub64位的,mod必须64位,否则加载不了mod。根据大佬们的说法,32位的兼容性更好,而且实测64位不能挂avs黑边,所以我都在用32位版本。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表