[心得+回馈]入门级的动画代码教程
aegisub吧
全部回复
仅看楼主
level 1
xpnew 楼主
感谢吧里的大神们:
qwe7989199
半竹轩
戥灬可乐加冰
我已经把想要的效果做出来了!
然后,我把其中的心得和体会写出,分享一下。
简单说就是2个:
日文字幕缩小、消失
中文字幕放大模糊
2处代码分别是:
{\fad(300,1000)\move($sx,$sy,$lcenter,!$sy+5!,!$ldur-450!,$ldur)\t(!$ldur-450!,!$ldur-250!,2,\alpha&H00&\fscx20\fscy20\blur10)}
{\fad(300,300)\bord0\pos($sx, $sy)\fscx126\fscy126\blur10\t(0,300,1,\bord1\blur0\fscx100\fscy100)\t(300,!$ldur-300!,1,\bord1)\t(!$ldur-300!,$ldur,1,\fscx126\fscy126\blur10)}
其中第2条,来自本吧,https://tieba.baidu.com/p/4459051870
本人稍作处理。
第1条,是学习了第2条以后,自己搞出来的。
当然,代码和效果都很简单,重点是向才入门的同学介绍一下其中的经验。
2016年05月22日 03点05分 1
level 1
xpnew 楼主
这里先说一下,本人的技术背景,会flash动画、Action script、 JavaScript 、C#
说这个目的有2个:
1、如果您是初学者,那就请不要深究,我是怎么想到的,在这地方浪费脑力,肯定是无用功;而要尽快按照步骤,去重现相关的操作和效果。
2、如果我一不心带入了别的地方的技术术语,还请见谅和指出,我会在回复当中给予解释和说明。
再说一个,就是这里不包含aegisub和相关软件基本操作的部分,假定您已经掌握了如下的内容:
A、基本的拉轴、叠轴
B、字体的设定和使用
C、样式管理器的使用
D、视频、音频的载入
E、字幕的位置和布局知识
F、分辨率的知识、视频分辨率的知识
(特别是戥灬可乐加冰 指点下发现,aegisub对视频的分辨率不是自动适应的)
2016年05月22日 03点05分 2
level 1
xpnew 楼主
关于这个教程,这里列出2个最重要的参考资料:
2016年05月22日 03点05分 3
level 1
xpnew 楼主
关于这个教程,这里列出2个最重要的参考资料:
1、标签的使用说明:
2、内联变量:
本教程,只说明怎么让你的字幕“动起来”,在此基础之上,“加花”的部分,请参考上面的链接,以及其它更深入的教程。
2016年05月22日 03点05分 6
level 1
xpnew 楼主
啊,被吞了。。。。。
aegi--vmoe--info
docs/3.2/ASS_Tags/
/3.1/Automation/Karaoke_Templater/Inline_variables/
2016年05月22日 03点05分 7
@xpnew 国内编程界的传奇人物 ,风云翻译的 LUA中文参考手册。
2016年05月23日 03点05分
level 12
{\fad(300,1000)\move($sx,$sy,$lcenter,!$sy+5!,!$ldur-450!,$ldur)\t(!$ldur-450!,!$ldur-250!,2,\alpha&H00&\fscx20\fscy20\blur10)}
\t动态里面为啥要加\alpha&H00&,这个是全显,不是全透明哦
其实有\fad(300,1000)的1000毫秒淡出,也不需要加动态透明度变化了
2016年05月22日 08点05分 8
1000毫秒淡出 效果不明显。 关键是中日混合字幕 日文的移动、变小效果强过了中文的模糊淡化,所以,我让日文的先开始也先结束。如果H00是全显的话,那就是我学艺不精了。还好,翻译发现了问题,我还得重新渲染。马上就去改了。
2016年05月22日 08点05分
level 14
有脚本语言基础可以尝试玩自定义function实现效果,不必拘泥于auto4自带这些常用函数
2016年05月22日 11点05分 9
嗯。看了你写的函数帖子。不过,一来我内置的指令对我目前的需求还算可以;二来年纪大了懒得学习新知识,所以,暂时先不研究自定义函数了。
2016年05月22日 13点05分
level 1
xpnew 楼主
在正式开始之前,再说2个前置的知识点:指令格式、批处理。
一、指令格式
根据官方手册(吐槽一下,官方手册的排版,看着真心不易,阅读界面太不友好了。)内置的指令分为2种:花括号外的;花括号内的( { 和 } )。
花括号外的,主要就是换行、空格的指令。
我只用过\n 和\N,前者你会发现不确定什么时候发生作用,后者简洁明了:断开,其后的文字换一下行。当然,这和本教程的内容没有关系。
花括号内的,就是各种修饰指令、控制指令、动画指令。这些是本教程重点要说的内容。
为了强作印象,这里给出一个例子:
{\fad(1000,1000)}测试字幕
希望上面这张图能够说明,学个示例的演示过程:
打开软件,aegisub默认会创建一个空白的文档,如果你现在正在编辑着什么字幕的话,你也可以按下ctrl+N,创建一个新的空白字幕文档。接下就是图上的步骤。
1~3,打开一个空白的视频。
4、5,打开一个空白的音频
6,拉出一条字幕的时间轴。注意,开头的部分留出来一点空白,以便看到效果。
7,输入指令和字幕。
8,视频定位的指针归位
9,播放视频测试效果
在99%以上的情况下,你将会看到一个字幕的淡入淡出效果。
二、批处理
批处理,是我从别的计算机领域拿过来的名词。如果我们手动处理一条字幕,给字幕加上指令、特效的过程,叫做“单处理”,那么,通过aegisub一次性处理多条字幕、多个字符,或者多个卡拉OK音节,我就叫它“批处理”。
换句话说,aegisub内置的“自动化“ +”应用卡拉OK模板“,我合在一起,称为批处理。
比如说,我有七行字幕(我喜欢的数字是7):
测试字幕1
测试字幕2
测试字幕3
测试字幕4
测试字幕5
测试字幕6
测试字幕7
都要淡入淡出效果,我可以把{\fad(1000,1000)}复制7次,然后复制到每一行;我也可以通过批处理,把7行或者更多的行,都套用上{\fad(1000,1000)}。
下面的操作,你可以自己试一试,当然,能够看过来的往往不是新手,您也可以选拔跳过。
准备工作:空白文档、空白视频、空白音频。
准备工作:若干字幕,样式”Default“
准备工作:不处理的字幕,样式设置除了”Default“以外任何一个,如果没有,请新建一个样式
我这里是这样子的
接下来鼠标单击第1行。(可略过,但是有的人习惯左键单击,先确认选中)
在第1行字幕上单击鼠标右键,在弹出的菜单上左键单击”插入(之前)“,这样软件会创建一个空行。

接下来,在空行上操作:
1、勾选”注释“
2、确认,这条字幕的样式,和前面”测试字幕1~7“是一样的,比如我这里都是”Default“。
3、调整起始时间(这个我略有强迫症,你可以选跳过)
4、在特效一栏,输入”template line“
5、输入指令,也就是前面淡入淡出 {\fad(1000,1000)}
设置完的新行是这样子的。
接下来是批处理:
单击”自动化“菜单 ,单击”应用卡拉OK模板“
套用之后,变成如下的样子:
之后,就是视频指针归位、播放视频以测试效果。
(本节完,接下来是动画的部分了)
2016年05月22日 14点05分 11
错别字:为了强作印象,应该是”为了强化印象“。”选拔跳过“应该是”选择跳过“。
2016年05月22日 14点05分
换句话说……称为批处理。 这句少写了一句话:虽然菜单的名字叫做“自动化”,然而实际上既不能自动拉轴,又不能给字幕套用特效。所以,对于我这个初学者,真心感觉不到自动化在哪里。所以,我把这2个固定的步骤合并在一起,叫做批处理。
2016年05月23日 00点05分
回复 xpnew :我觉得你弄混了全自动和自动的概念,而且你自己都说批处理了,批处理本来就是自动化的方向之一
2016年05月23日 00点05分
@qwe7989199 我的意思是这个“自动化”对初学者,一点也不友好(PS:我只是说自动化名不符实,并不是说这个软件)——最后都是“手动”处理的。个人看法是,这个菜单的名字,对目前的我来说,还是“插件”或者“扩展”更合适一些。
2016年05月23日 01点05分
level 10
[笑眼]
2016年05月22日 23点05分 12
level 1
xpnew 楼主
下面是正式的内容——动画的部分,让你的字幕“动”起来!
这次,我们先从一个示例开始。和前面的部分一样,空白字幕、空白视频、空白音频。
再添加一段字幕文本:测试字幕
我这里现在是这样子的:
在“字幕栏”双击第一行字幕(也是唯一一行),因为我的“”样式是底部居中对齐,所以是这样的:
接下一光标定位到,字幕文本的输入区域,“测试字幕”这几个字的前面。在键盘上个输入:
{\move(50,50,300,300)}
然后变成这样:
可以看到,在3视频预览区,字幕从A的位置跑到a那里去了。
接下来,复位视频播放的指针,播放视频,接来你就会看到,字幕从屏幕的左上向右下移动一段距离。
你可能为了这个“动”起来的字幕雀跃了3秒钟,还是5秒钟,然后就发现问题了——这样的话,岂不是乱飞?
我如果想在字幕快结束的时候,从原来的位置,向下飞出怎么办?
我想要在字幕开始的时候,从屏幕左边飞入怎么办?
那么下一节,将会讲到绝对位置和相对位置的问题。
顺便说下复位和归零的问题:
如果 在字幕区双击某一条字幕的话,时间轴会跳转到该条字幕的起始位置。这对我们观察字幕的进入(淡入、飞入等等)效果是比较不利的,所以在熟练之前,建议还是归零复位一下比较好。
2016年05月23日 03点05分 13
善用可视化排版工具,直接把定位模式改成移动就行了。。。对屏字情况下这样打数字略麻烦
2016年05月23日 06点05分
我的“”样式 ,引号里面是Default.即:我的“Default”样式
2016年05月23日 07点05分
level 1
xpnew 楼主
继续填坑来了。
这一节,将会引入并讲解,非常重要的概念:绝对参数(绝对值)、相对参数(相对值),并且为下一节“内联变量”做准备。
当然,这两节合并在一起,其实也没有什么,只是考虑到以前写的内容,都很短的篇幅,所以,这次就把它们分开了。
我最早接触到这两个概念的时候,是在98年学习DOS命令的时候。但是呢,这部分知识在之后的十几年间,是经常被用到的。
所以,这一节虽然略显枯燥,还是请读者努力听下去,尽量把这个知识点学会。
先来说“绝对”这个:绝对参数,就是以固定的、全局的对象做参照,计算出来的参数值。
比如说,上一小节里,的指令:
{\move(50,50,300,300)}
这个就是以视频的坐标原点(0,0)参照,找到运动的2个坐标值:从原点的右边50像素、下边50像素这里找到起点,再从原点的右边300像素、下面300像素找到终点。
再比如说:影片开始播放的时间点是0分0秒,以这个时间为参考,指定一个时间。
这2个例子是“固定对象”,还有一种情况是“全局对象”,比如说影片的宽度、高度、影片的总的时长等等。但是鉴于我目前只是学了皮毛,这些“全局对象”的各方面参数怎么获取,我尚不清楚。以后学会了再到本楼层的回复当中补充。
然后说,相对参数。
相对参数,就是以不固定的、灵活的、个体的对象做参照,计算出来的参数。
如图所示:当字幕的样式是“居中对齐”的时候, 每条字幕的受到字数、字号等因素影响,字幕的左边位置,是一个“浮动”的值,如果你的动画、特效如果想要以这个值为参考,就是在使用相对参数。
使用相对参数,是个很必要的技能,这样,我们的Code才行,灵活起来、”自适应“起来、”智能“起来。
下面,我们来看一个例子:字幕飘动。就是每条字幕呈现以后,到消失的这段时间,从原来的位置,向左或者向右移动那么一小段。具体来说,就是英文向左移动,中文向右移动80像素。
首先,和以前一样,创建一个空白待用的字幕文档。
然后,添加中文和英文各自的样式:
添加几条测试的字幕:
添加2个模板行,注意对应相应的样式:
中文:
{\move($lx,$ly,!$lx+80!,$ly)}
英文:
{\move($sx,$ly,$lleft,$ly)}
接下来是批处理:
单击”自动化“菜单 ,单击”应用卡拉OK模板“
结果是这样:
之后,就是视频指针归位、播放视频以测试效果。
不过,到了这里还没有结束。
你需要改变样式,
然后别忘记了重新批处理:
单击”自动化“菜单 ,单击”应用卡拉OK模板“
之后,就是视频指针归位、播放视频以测试效果。
模板行里面使用的代码,用到了“内置变量”,下一节课我们再详细介绍它们。
(本节完)
2016年05月30日 10点05分 14
level 1
彩蛇赛高,先收藏了
2020年12月09日 09点12分 16
level 13
顶,感谢lz
2021年01月14日 14点01分 17
1