欢迎光临散文网 会员登陆 & 注册

【Vegas小技巧】用PTT字幕制作歌词文字动画(文字版)

2023-01-29 19:23 作者:zzzzzz9125  | 我要投稿

懒得写引言。

——zzzzzz9125

第零步 启用BPM网格

关于如何启用并正确设置BPM网格的教程详见七厄前辈的cv1661506,此处不再赘述。


第一步 设置PTT字幕事件的持续时间

在上一篇教程中,我们提到PTT字幕的「关键帧按持续时间的比例记录」,且「级联的持续时间为该PTT字幕事件的“持续时间”的百分比」,可见持续时间对于PTT字幕的重要性。

请注意,事件持续时间事件在时间轴上的长度是两个不同的概念。

事件持续时间相对于事件本身而言的持续时间,事件本身就类似于“一个导入进Vegas的总时长为5秒的视频”,事件持续时间相当于这里的5秒的总时长事件在时间轴上的长度则是对该视频事件经过各种裁切变换之后的实际长度

由于持续时间会影响关键帧在时间轴上的绝对位置,因此,设置好持续时间是使用PTT字幕做文字动画的第一步。


第二步 打关键帧动画

打关键帧之前应该先思考:我们要达成怎样的效果。

歌词出入场的效果大致可分为三类:整体动画,逐字同动画,逐字不同动画

这里重点讲讲逐字同动画效果的技巧。


2.1 打第一个字的关键帧动画

这一步很简单也很麻烦,按照你想做的效果K帧即可。

默认大家在这一步都会了哈,我们直接下一步吧


2.2 级联

上一篇教程介绍了PTT字幕的级联工具,用于制作逐字/逐词/逐行的动画效果。本教程将进一步扩展,将级联与BPM节拍相结合,制作出随歌词节奏运动的级联文字动画。


级联持续时间的设置

上一期教程讲级联时是这么说的:

如上图,假设该级联的持续时间为6s,上图的意义即为:“示例文字”四个字分别被赋予“示”的动画效果,其中“字”的动画比“示”延迟6s,“文”的动画比“示”延迟4s,“例”的动画比“示”延迟2s。若延迟时间为负,则表示提前。

我们可以理解为:从“示”动画开始的时间,到“字”动画开始的时间,其中相差了6s。我们所调整的级联持续时间,就是从第一个字开始运动最后一个字开始运动的时间。这个概念在我们计算级联持续时间时很重要。

级联持续时间的计算公式为:最小单位事件持续时间的百分比×(总字数-1),单位为事件持续时间的百分比。当然这公式有个前提,延迟曲线应该是从左下到右上的一条直线。

最小单位:歌词中每个字动画之间的间隔的最大公因数

至于“总字数-1”,则是由之前提出的级联持续时间的概念而来。

例如:事件持续时间为2.0.000(2个小节=16个八分音符),总字数为5个,每个字之间的间隔均占0.0.032(1个八分音符)的长度。该文字动画的最小单位为0.0.032(1个八分音符),级联持续时间=(1÷16)×100%×(5-1)=25%。敲计算器的时候直接100÷16×4。为什么这么简单的计算还要敲计算器…

这样做出来的效果就是每个文字间隔着0.0.032(1个八分音符)的长度而出现。


但是如果我们所需要的文字出现间隔不是平均分配的呢?

这儿有一个办法:敲空格

在逐字级联中,选定范围内的任何字符都参与级联,并且在级联过程中是“平等”的。借由这一条定律,空格理所当然地能够作为级联的占位符而使用。敲的空格可以在文字编辑模式中设为最小以保证不会影响总体的排版效果。

此时级联持续时间的公式为:最小单位事件持续时间的百分比×(总字数+占位符-1)。

例如这里的“帝京平成大学”:持续时间为1.0.000(1个小节=8个八分音符),总字数为6个,“大”字应占0.1.000(1个四分音符)的长度,其余每个字均占0.0.032(1个八分音符)的长度。我们在“大”字后面敲了一个空格,使“大”和这个占位空格组成我们所需要的1个四分音符长度。该文字动画的最小单位为0.0.032(1个八分音符),级联持续时间=(1÷8)×100%×(6+1-1)=75%。


第三步 排版

如果你的文字动画就只要一两行那种的简单排版,那在这一步上就不需要花太多的时间,调整好字间距等参数即可。


但如果是需要文字PV的那种排版怎么办?

——可以用不同的文字层级进行排版。

上期教程是这么介绍文字层级关系的:

文字分类

按照等级排序,PTT字幕将文字分为:文本块→行→词(以空格为分界)→字符。如上图所示,整个文本为“文本块”,红框表示“行”,黄框表示“词”,最后被细分为“字符”。文本块、行、词、字符均能设置各自的属性参与级联的属性会被覆盖,不能直接更改

注意最后一句话,意思就是:如果你用了字符的属性做级联以后还想搞排版,那么对不起,别想用字符的属性搞排版了。


这里又有一个办法:敲回车

还是这个“帝京平成大学”:因为之前做级联的时候用过字符的属性了,我们无法用字符的属性进行排版。所以我们在每一个字后面敲了回车,所有的字被拆分为,用的属性来排版一通操作下来,整体的排版就完成了。注:如有空格占位符,请在空格后敲回车,否则可能会触发上一篇教程中提到的字符重复bug。)


敲回车法的另一个好处是:敲回车能够同时把字拆成行和词,一下子就多出了两个属性可以利用。在这种情况下,切换层级时会自动跳过的属性,在这一行后边输入一个空格+随便一个文字就能重新调用出的属性。

比如这个文字动画:我们用跟着歌词节奏的级联做了放大入场,占用了字符的属性;用敲回车法做了文字排版,占用了的属性;我们现在还需要一个四个字同时的原地缩小出场。虽然这里的入场和出场动画都有用到级联,但是两个级联的时间间隔是不同的,因此肯定不能通用。我们可以把这个出场的级联交给敲回车法所拆出来的的属性。又是一通操作下来,我们所需要的效果也就做出来了。


当然,敲回车法本身也有bug,比如在文字编辑模式下调整文字大小,或是简简单单换个字体等,都有可能导致排版错乱,这个是需要注意的。因此,建议排版时不要使用文字编辑模式的字号调整文字大小,而应该改用行属性本身的大小缩放功能


完。


2023/02/03 补充:

如果所需要的效果是:逐字级联+排版+对小部分进行调整,用敲回车法会很麻烦。可以在每个字空格占位符也当作一个字之间敲空格,用词的属性来做小部分调整。

例:[示例文字]→[示 例 文 字]

       [示例文 字][示 例 文   字]


原教程最后说的改用行属性本身的大小缩放功能,是建立在排版已经做一半的基础上的用敲回车法做排版这一步之前用文字编辑模式随便搞是没有任何问题的。


2023/02/08 补充:

PTT字幕移动关键帧位置怎么才能只移动横轴位置不变纵轴大小?
——按住Alt。

【Vegas小技巧】用PTT字幕制作歌词文字动画(文字版)的评论 (共 条)

分享到微博请遵守国家法律