向安宇知识库 向安宇知识库
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
      • 非虚构
      • 剧本
      • 小说
      • 文言
      • 随笔
      • 日记
    • 视听
      • 纪录片
      • 设计
      • 视频
      • 摄影
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
首页 › 创作向 › 课程 › AE表达式|文字闪烁及滚动效果
  • 3
  • 0

AE表达式|文字闪烁及滚动效果

向安宇
2018-02-01 10:04:31

AE表达式|文字闪烁及滚动效果-向安宇知识库

Modulus函数

Modulus简单说就是求余,在AE表达式里用“%”表示,比如:
5÷3=1余2
那么表达式里:5%3 返回值就是2

解释了这个函数,我们就可以来说怎么实现文字闪烁了,首先建立一个文字层,随便输入几个字作为占位符,然后给sourceText添加表达式。
AE表达式|文字闪烁及滚动效果-向安宇知识库

效果是这样的:
AE表达式|文字闪烁及滚动效果-向安宇知识库

解释一下这个表达式:

首先建立一个文字阵列t = ["飞向","电影","致力于","视频","创意"],在AE表达式里的阵列[0]代表第一个值,[1]代表第二个值……依次类推。这里引入了变量t,所以t[0]就是“飞向”,t[1]就是“电影”。

为了让时间线播放时候字体自动切换,引入time,t[time]就可以实现变化,比如time为1时,就是“电影”。time的单位是秒,其值是有小数点的,所以增加一个Math.floor向下取整的函数。

接着要解决的是:上面定义的文字阵列t中,只有5个值,当time≧5之后,表达式就会报错,因为阵列里并不存在[5]。这里就需要用到Modulus函数了:
5÷4=1余1,返回值是1 ;
6÷4=1余2,返回值是2 ;
……
表达式写作Math.floor(time)%4,就可以循环播放了。之所以%4,是因为上面文字阵列长度是4,所以这个数字可以用length代替。最后表达式写作:

  1. t = ["飞向","电影","致力于","视频","创意"];  
  2. n = Math.floor(time)%t.length;  
  3.   
  4. t[n]  

Split()函数

split函数允许把内容分割成为阵列。用法很简单,比如这个例子里,我并不向每次更改文字内容都要到表达式编辑界面,而是希望直接更改文字层。所以让“t”直接拾取sourceText

t = text.sourceText;

然后将“t”分割成为整列

s = t.split(" ");

引号里的值就是定义用什么来分隔阵列,可以是空格、回车、逗号等等。当然还需要把地下两行的“t”改成“s”,因为这里我们需要的是阵列“s”,最后表达式就是:

  1. t = text.sourceText;  
  2. s = t.split(" ");  
  3. n = Math.floor(time)%s.length;  
  4.   
  5. s[n]  

 
但是其实这样做依然有个问题,因为链接到的是本图层的文字内容,窗口显示的会是经过表达式运算的内容。也就是说,在编辑文字内容时候,窗口显示的只会根据当前时间线位置显示阵列中的一个值,非常不方便。
 
解决办法就是新建文字层,把“t”的值拾取过来:

AE表达式|文字闪烁及滚动效果-向安宇知识库

这样可以直接在新建的文字层上输入和编辑内容,编辑完后隐藏就可以了。表达式变成为:

  1. t = thisComp.layer("飞 向 电 影").text.sourceText;  
  2. s = t.split(" ");  
  3. n = Math.floor(time)%s.length;  
  4.   
  5. s[n]  

这个表达式里是用空格作为split函数分隔的依据,AE表达式用的是JavaScript,可以用“\ r”(中间无空格)来代替“回车”。这样方便输入大段的文字。

这里向安宇复制了一段之前分享的弹性表达式作为文字内容,并把添加了上述表达式的文字层复制基层,调整y轴位置让他们上下排列好,就实现了文字滚动的效果了。

AE表达式|文字闪烁及滚动效果-向安宇知识库

AE表达式|文字闪烁及滚动效果-向安宇知识库

其表达式如下(加上index是为了让每层文字不同):

  1. t = thisComp.layer("flytofilm").text.sourceText;  
  2. s = t.split("\r");  
  3. n = Math.floor(time*4)%s.length;  
  4.   
  5. s[n+index]  
AE表达式
3
AE表达式|随机单个文字跳跃效果
上一篇
AE表达式|关联出点和入点
下一篇

评论 (0)

登录后可发布~
立即登录
暂无评论

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢

聚合文章

1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
克丽丝是谁?(人物设定1.0)
AIP克丽丝的构想
wordpress也要拥抱AI

近期评论

不同意知识过时这么快,数学公式几百年都没变啊
—— Baron von Laughsalot 2 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
这学习方法太适合我这种记性差的了,必须追更!
—— 狂血战士 2 月前 AIP克丽丝的构想
数字人做语言教学太香了,求Anni快出实操指南!
—— 贪吃小熊 2 月前 Anni搞钱系列:普通人用AI,到底能做起来什么副业?
想问作者会开线下课吗?想带孩子去听听
—— 秋分桂落 2 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
想问下这个AI工具对服务器配置要求高吗?
—— 狂喜的烟花 2 月前 wordpress也要拥抱AI

猜你喜欢

聊一聊我的剪辑的流程

聊一聊我的剪辑的流程

2019-10-13 23:01:58
1,817 0 3
AE表达式|21、如何玩转字符串?@substr @parseInt @replace

AE表达式|21、如何玩转字符串?@substr @parseInt @replace

2018-09-17 17:03:57
3,082 1 2
AE表达式|12、如何利用标记点进行精确控制?(实用进阶)@markerKey

AE表达式|12、如何利用标记点进行精确控制?(实用进阶)@markerKey

2018-08-25 15:49:21
5,640 0 13
AE表达式|19、如何制作一只黑色幻蝶?@ Math.sin  @ valueAtTime

AE表达式|19、如何制作一只黑色幻蝶?@ Math.sin @ valueAtTime

2018-09-03 11:33:07
1,495 0 0
3

关于我:

想要读万卷书,行万里路,看万部电影。

推荐栏目:

视频论文 课程 后期制作 非虚构 照片 视频

特色专题:

专题汇总 宜看一侃 帧影帧画 重读文学史 青玉记
Copyright © 2016-2026 向安宇知识库. 鄂ICP备16005400号-1 鄂公网安备42050602000017号
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
    • 视听
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
  • 剪辑
  • 转场
  • 纪录片

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢