【第二期】AE数字递增表达式 保姆级教程

AE数字递增的表达式 第二期

这次我们依然来解决关于数字递增的表达式问题

</> After Effects expressions

a. 比如我们需要0-5秒,数字从0-150的递增变化

如下图所示:


0-5秒 0-150递增

表达式:

Math.floor(linear(time, 0, 5, 0, 150)) 
表达式解析:

linear(time, 0, 5, 0, 150)意思是,随着时间0秒到4秒,做1-10的变化

Math.foor( ) 对数值取整,返回数值的整数

然后你会发现,到5秒结束时,数字显示 148 ?

其实这是时长的问题,帧速率:25帧/秒,5秒01帧才是表达式的结束点。

修改合成时长即可解决问题

这里我就不修改时长了,用修改表达式来完成5秒结束时显示数字150:

如下图所示:


5秒结束显示数字150

表达式:

Math.floor(linear(time, 0, 4.9, 0, 150)) 

</> After Effects expressions

b.如果我们希望数字从000开始显示,变成:000——>150

让个位0 => 000,十位10 => 010

先看效果
如下图所示:


000开始显示

表达式:

a = Math.floor(linear(time, 0, 4.9, 0, 150));
b = a.toString().length;
if(b == 1) {
  a = '00' + a;
  } else if(b == 2) {
    a = '0' + a;
    } else if(b == 3) {
      a;} 
表达式解析:

将数字变化Math.floor(linear(time, 0, 4.9, 0, 150))定义变量为a

toString()方法:将number整数类型转为string字符串类型

length函数: 返回字符串的长度,比如0返回1,10返回2,100返回3

a.toString().length( a的字符串长度 )定义变量为b

if..else语法

if (条件表达式)
{
    当条件为 true 时执行的代码
}
else
{
    当条件不为 true 时执行的代码
}

添加if...else条件判断语句

  • 当 b == 1 时——> a = '00' + a

显示个位数时,比如0-9,显示为000-009

  • 当 b == 2 时——> a = '0' + a

显示十位数时,比如10-99,显示为010-099

  • 当 b == 3 时——> a

显示百位数时,比如100-150,a不做变化

</> After Effects expressions

c.换一种思路,修改表达式

其实我们也可以使用switch,因为if判断条件都是 == 相等运算符,一直在匹配1、2、3,没有用到其他条件

switch语法

switch(expression) {
    case n:
        代码块
        break;
    case n:
        代码块
        break;
    default:
        默认代码块
} 

所以

表达式可以修改为:
a = Math.floor(linear(time, 0, 4.9, 0, 150));
b = a.toString().length;
switch(b){
  case 1:
    a = '00' + a;
  break;

  case 2:
    a = '0' + a;
  break;

  case 3:
    a;
  break;
  }

效果一模一样


000开始显示 000-150递增

</> After Effects Expiession

d.最后,还有一种表达式+打关键帧的办法来解决000-150的递增效果

采用两层的方法实现


两层堆叠
其实很简单,两层的原理:
  1. 红色是打关键帧的层,白色是写表达式的层

  2. 表达式层显示0-9时,关键帧层是00

  3. 表达式层显示10-99时,关键帧层是0

表达式层,0-4.9秒0-150的递增变化

Math.floor(linear(time, 0, 4.9, 0, 150)) 

复制表达式层,去掉表达式,输入000,动画里加上不透明度,调成0%

范围选择器调整:

  • 单位 => 索引

  • 模式 => 相减

  • 平滑度 => 0%

使用方式
  1. 第一个关键帧,在数字进行到 9 时打帧,数值为2

  2. 第二个关键帧,在数字进行到 10 时打帧,数值为1

  3. 第三个关键帧,在数字进行到 99 时打帧,数值为1

  4. 第四个关键帧,在数字进行到 100 时打帧,数值为0

</> After Effects expressions

好了,以上就是本篇的全部内容了,希望对各位观众老爷有所帮助,如果有疑问,可以在评论区发表你的想法!

我们下期再见!
see you
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容