ae用表达式视频批量添加字幕技巧

工作流程

在此活动的准备过程中,我与编辑确定我将使用该节目的最终音频在After Effects中生成带有Alpha通道的字幕。

您将能够直接在项目中使用文本框,预渲染简化了我们在该上下文中的生活。

撰稿人还获得了音频并用它来编写所有语音文字,创建了在After Effects中制作字幕所需的换行符。每当有没有字幕的句号时,她就会在文档中添加一个空白行。

通过手中的音频和副本,我在After Effects中收集了文本和音频,并进行了音频预览(键盘上的“。”)。我将预览的帧速率调整为正常速度的两倍,花一半的时间来收听整个节目。当我听到它时,我一直为每个换行符生成标记 (在键盘上使用“*”)。在此过程结束时,字幕已准备好呈现。

分离文本并在正确的时间范围内传播的任务由表达式执行

使用表达式

我不是表达方面的专家,但随着时间的推移,我学会了如何阅读它们,而我现在能够理解它们的大部分含义。我认为花时间研究它们非常重要,为了创建这个字幕项目,我使用了以下表达式:

split()

这个表达是惊人的,非常有帮助。我在Zack Lovatt的帖子中学会了如何使用它。它基本上打破了部分文本,使用你喜欢的任何字符。就我而言,我用它来打破字幕的界限。语法很简单:

text.sourceText.split("/")[i]

将其翻译成适当的英语,意味着:

抓取此文本的内容(text.sourceText),每次出现字符“/”时将其分成不同的块(拆分(’/’)。请只显示第5块(用任意数字替换i)。谢谢!

2DeadFrog After Effects:字幕分割表达式

但是,我们怎样才能使正确的块出现在确切的时刻,就像标记一样?

计数标记

如果我可以随着时间的推移创建一个计算层中标记数量的表达式,我会马上解决这个问题。我无法做到这一点。但沃尔特Soyka做到了,并解释如何在这个创新奶牛职位。对他来说,是冰球的数字记分牌。对我来说,解决我的问题。

m = thisLayer.marker;

i = m.nearestKey(time).index;

if (m.nearestKey(time).time > time){ i–;}

if (i < 1) { i = 1};

i–; i

这个表达式更难以阅读,但它基本上保留了一个名为“i”的包络即我们通过的每个标记的参考编号。如果我们通过的最后一个标记是第二个,那么“I”将是2.如果它是第五个,“I”将是5。

2DeadFrog After Effects:字幕标记计数器表达式

有了这个,你可能已经知道两个表达式如何协同工作,对吧?每次我们通过标记时,分割表达式将在信封上查看它所持有的数字,然后它会在合适的时间向我们显示相应的文本块。

但是,如果计数块的数量小于标记的数量,那么可能会在表达式中产生错误,不是吗?

try {code} catch(err) {code}

2DeadFrog After Effects:表达式错误

但我更喜欢没有通知,在这种情况下我们只需要使用以下表达式:

try {code1} catch(err) {code2}

翻译:尝试代码1,如果不成功,使用代码2.简单易行。

最终守则

收集所有这些,我们只需将以下代码应用到文本框的源文本中:

m = thisLayer.marker;

i = m.nearestKey(time).index;

if (m.nearestKey(time).time > time){ i–;}

if (i < 1) { i = 1};

i–;

try {text.sourceText.split(“/”)[i]} catch(err) {“”}

按照上述工作流程在After Effects中使用字幕。使用您想要的格式,您可以更改字体,颜色,阴影,没有任何限制。请记住考虑对比度,以便在任何背景上都具有良好的可读性,我倾向于选择黄色字体,黑色轮廓和阴影,很多是VHS字幕的静脉。

结论

足以让人们不得不复制图层来在After Effects中创建字幕,或者使用Premiere的字符生成器。让表达式为你解决这个问题,并在渲染发生时去煮一杯咖啡。更好地掌握其工作原理,下载地址

积分获取方式:发文赚钱+签到积分+推广返利+充值
本站仅供资源信息交流学习,不保证资源的可用及完整性,有任何问题请联系站长
加入终身VIP:全站资源免费+售后答疑服务 了解一下,网站的发展方向以终身VIP为主
你可以填一下网站发展的问卷调查:https://www.wenjuan.com/s/auY7vaL/ 以便我更好帮助你
转载文章请注明出处
果味酱CG小屋 » ae用表达式视频批量添加字幕技巧

Leave a Reply