一、什么是表达式:

    AE表达式是直接与源代码对话的一种语言,或者更简单的说,表达式是我们通过一些代码,去实现参数的转移、计算,帮助我们更有效率的去控制某个参数的变化,达到关键帧比较难实现的效果。

    二、什么时候我们需要用到表达式

    1 当我们想使用一个参数的数值去控制另一个参数的数值时,我们可以使用表达式将数值赋予另一个想要控制的参数上。

    2 在使用关键帧去制作一个视频效果的时候,容易卡顿且效率不高,这时候我们可以使用表达式去控制。如果要做一个回弹的效果,单纯自己去K帧效果会偏低且效果不容易做好,通过表达式效率会大大提高。

    3 如果你想使用一个数值对多个数值进行控制或者进行计算后赋值的时候,可以使用表达式去制作,不需要每个数值都单独去做关键帧的动画。

    三、表达式怎么用

    AE中的表达式怎么使用呢?

    第一,在电脑上打开AE软件,进入到工作界面中,点击【新建】,建立一个AE项目。

    第二,进入到AE工作窗口,双击素材面板,找到并打开想要添加表达式的图片、视频。

    第三,将素材(图片、视频)直接往下拖拽到下方图层面板,松开鼠标左键,将自动新建一个合成。

    点击图层前面的三角符号这时,可以看到【变换】,点击打开前面的三角符号。

    3月 - 图1

    我们将可以看到变换下方锚点、位置、缩放、旋转、不透明度5个功能选项,按住键盘Alt键,鼠标左键单击所在功能前面的码表。如下图所示,我们就打开了该功能所在的表达式窗口,直接编辑表达式即可。

    3月 - 图2

    表达式工具
    A.表达式开关B.表达式图表C.表达式关联器D.表达式语言菜单
    3月 - 图3
    由于AE里不同的属性的参数不同,常用的我们可以分为:数值(旋转/不透明度)、数组(位置/缩放)、布尔值(true代表“真”、false代表“假”/0代表“假”、1代表“真”)这三种形式来进行书写表达式。对于表达式AE也有很多内置的函数命令,直接可以在表达式语言菜单里面进行调用。
    四、AE中常用表达式

    下面分享几个AE中实用的表达式,给大家进行拆解分析,希望能帮助到你哟!

    1.wiggle抖动表达式

    3月 - 图4

    wiggle(a,b)
    a代表震动的频率
    b代表震动的幅度
    此案例是直接加在的position位置属性上

    3月 - 图5

    2.循环表达式

    3月 - 图6

    loopOut(type = “cycle”, numKeyframes = 0)

    Cycle是循环的方式
    当然还有cycle、pingpong、offset、continue其他的大家可以自己尝试。

    numkeyframes是循环的段数:
    0所有关键帧循环
    1代表只循环末尾的一段关键帧
    2就是末尾两段

    3月 - 图7

    3.弹性表达式

    3月 - 图8

    amp = .1;
    freq = 3.0;
    decay =6.0;
    n = 0;
    if (numKeys > 0){
    n = nearestKey(time).index;
    if (key(n).time > time){n—;}
    }
    if (n == 0){ t = 0;}
    else{t = time - key(n).time;}
    if (n > 0){
    v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
    value + vampMath.sin(freqt2Math.PI)/Math.exp(decayt);
    }
    else{value}

    amp代表弹力大小 数值越大 弹性越强
    freq代表频率 数值越大 频率越快
    decay代表阻力 功能与弹力相反

    3月 - 图9

    4.手写光标表达式

    3月 - 图10

    // 每秒显示字符

    charPerSec = 2;

    // 可自定义提示符号,预设为 “|”

    prompt = [ “|”, “ “ ];

    // 目前打字显示位置

    typePos= Math.round( time * charPerSec );

    i = Math.round(time % 1);

    text.sourceText = substr( 0, typePos) + prompt[i];

    3月 - 图11

    ae表达式利用得当,既省力又有趣。功能表达式已标注 大家可以自行修改,可以自己试试。