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

评论 (0)

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

向安宇

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

聚合文章

克丽丝是谁?(人物设定1.0)
AIP克丽丝的构想
wordpress也要拥抱AI
AI时代我们如何学习

近期评论

要是AI有自我意识,第一件事是不是裁掉老板?
—— 岁寒松柏 4 小时前 AI治理会带来乌托邦还是暴政?
有些平台把简单内容包装成高价课,真是服了
—— SnuggleMuffin 4 小时前 如何选择优质学习平台?
所以AI到底该咋用啊?有人实际用出效果了吗?
—— 鱼鱼 5 小时前 如何提升学习效率?
催更!想看作者用AI做项目实战的后续~
—— 水晶幻梦 5 小时前 AI如何改变学习方式?
内容推荐算法居然能发现新视角,厉害
—— 雨林穿梭 7 小时前 AI如何优化网站管理效率?

猜你喜欢

AE表达式|06、如何做一个Q弹的圆球?@ speed @toFixed(n) @valueAtTime

AE表达式|06、如何做一个Q弹的圆球?@ speed @toFixed(n) @valueAtTime

2018-08-03 16:50:46
4,018 2 1
AE表达式|36、怎样做一组循环的圆?

AE表达式|36、怎样做一组循环的圆?

2018-10-24 11:05:46
4,677 0 1
AE表达式|17、怎样做一对扇动的翅膀? @ Math.sin

AE表达式|17、怎样做一对扇动的翅膀? @ Math.sin

2018-08-30 23:06:50
5,659 0 3
MG点线动画临摹《THE EDITOR》-01(形状层&Beam效果)

MG点线动画临摹《THE EDITOR》-01(形状层&Beam效果)

2018-09-30 12:56:44
2,413 2 2
3

关于我:

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

推荐栏目:

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

特色专题:

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

向安宇

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