After Effects 有睡眠/等待/延迟功能吗?

问题描述 投票:0回答:3

我正在尝试编写一个脚本,将

final_text
逐个字母地写入
Text Layer
,在每个字母写入之间等待一小段时间。有什么办法可以做到吗?

final_text = '#a80030';
characters = '';
for(i = 0; i < final_text.length; i++){
    characters += final_text[i];
    text.sourceText +=  characters;
    #sleep for 500ms
}
after-effects
3个回答
1
投票

您混淆了脚本和表达式。

$.sleep
是脚本中全局对象的方法,但在表达式中不是。在表达式中使用它是没有意义的,因为它只会使表达式需要更长的时间来计算。您需要阅读手册

TL;博士: 创建一个文本图层,其中包含最终文本。您还可以在图层的文本源属性上使用表达式。将不透明文本动画器(您确实阅读了手册不是吗?)应用于图层。将动画师的不透明度设置为零。添加表达式选择器并删除普通选择器。

将此表达式应用于选择器:

(time*2 < textIndex)? 100 : 0

这使用字符索引与当前时间 * 2 进行比较(时间以秒为单位),因此每 500 毫秒设置为零不透明度(选择 100%)的字母索引将递增。


0
投票

是的,有

$.sleep()
方法。 所以你需要做的就是

$.sleep(500);

0
投票

嗯,我刚刚启动了一个脚本,它可以完全满足您的要求,这里有一个关于如何使用 PlayPauseRepeat 的快速教程:

https://youtu.be/1lmLQwsyvyY?si=lF99IXQ3d1eUP4Ct

下载链接在视频说明中!

希望你喜欢!如果您这样做,请通过分享、评论或捐赠来支持。

谢谢! 昂

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.