<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 18種常用AE表達(dá)式解析

    2020-8-27    濤濤

    很多朋友面對(duì)AE表達(dá)式望而生畏,不過(guò)再難的東西都會(huì)有它最本質(zhì)的規(guī)則,如果你理解了基本的原理和常用的表達(dá)式命令,這也許會(huì)提高你的工作效率。我通過(guò)自己對(duì)AE表達(dá)式的理解,嘗試用最簡(jiǎn)單的語(yǔ)言解釋一些看似復(fù)雜的操作,如果此篇文章能給你帶來(lái)一些啟發(fā),不勝榮幸~

    首先什么是表達(dá)式呢?

    表達(dá)式就是AE內(nèi)部基于JS編程語(yǔ)言開(kāi)發(fā)的編輯工具,可以理解為簡(jiǎn)單的編程,不過(guò)沒(méi)有編程那么復(fù)雜。其次表達(dá)式只能添加在可以編輯的關(guān)建幀的屬性上,不可以添加在其他地方;表達(dá)式的使用根據(jù)實(shí)際情況來(lái)決定,如果關(guān)鍵幀可以更好的實(shí)現(xiàn)你想要的效果,使用關(guān)鍵幀就可以啦,表達(dá)式大部分情況下是可以更節(jié)約時(shí)間,提高工作效率的。

    接下來(lái)看一下如何添加表達(dá)式

    超實(shí)用!18種常用AE表達(dá)式解析

    表達(dá)式工具

    A.表達(dá)式開(kāi)關(guān) B.表達(dá)式圖表 C.表達(dá)式關(guān)聯(lián)器 D.表達(dá)式語(yǔ)言菜單

    超實(shí)用!18種常用AE表達(dá)式解析

    由于AE里不同的屬性的參數(shù)不同,常用的我們可以分為:數(shù)值(旋轉(zhuǎn)/不透明度)、數(shù)組(位置/縮放)、布爾值(true代表真、false代表假/0代表假、1代表真)這三種形式來(lái)進(jìn)行書(shū)寫(xiě)表達(dá)式。對(duì)于表達(dá)式AE也有很多內(nèi)置的函數(shù)命令,直接可以在表達(dá)式語(yǔ)言菜單里面進(jìn)行調(diào)用。

    接下來(lái)一起看看常用的表達(dá)式有哪些吧!

    1. time表達(dá)式

    原理:

    time表示時(shí)間,以秒為單位,time*n =時(shí)間(秒數(shù))*n (若應(yīng)用于旋轉(zhuǎn)屬性,則n表示角度)

    舉例:

    若在旋轉(zhuǎn)屬性上設(shè)置time表達(dá)式為time*60,則圖層將通過(guò)1秒的時(shí)間旋轉(zhuǎn)60度,2秒時(shí)旋轉(zhuǎn)到120度以此類推(數(shù)值為正數(shù)時(shí)順時(shí)針旋轉(zhuǎn),為負(fù)數(shù)時(shí)逆時(shí)針旋轉(zhuǎn))

    注意事項(xiàng):

    time只能賦予一維屬性的數(shù)據(jù)。(位置屬性可進(jìn)行單獨(dú)尺寸的分離,從而可單獨(dú)設(shè)置X或Y上的time)

    超實(shí)用!18種常用AE表達(dá)式解析

    2. 抖動(dòng)/擺動(dòng)表達(dá)式

    wiggle(freq, amp, octaves = 1, amp_mult = 0.5, t = time)

    原理:

    freq=頻率(設(shè)置每秒抖動(dòng)的頻率);amp=振幅(每次抖動(dòng)的幅度);octaves=振幅幅度(在每次振幅的基礎(chǔ)上還會(huì)進(jìn)行一定的震幅幅度,很少用);amp_mult=頻率倍頻(默認(rèn)數(shù)值即可,數(shù)值越接近0,細(xì)節(jié)越少;越接近1,細(xì)節(jié)越多);t=持續(xù)時(shí)間(抖動(dòng)時(shí)間為合成時(shí)間,一般無(wú)需修改);一般只寫(xiě)前兩個(gè)數(shù)值即可

    舉例:

    若在一維屬性中,為位置屬性添加wiggle(10,20),則表示圖層每秒抖動(dòng)10次,每次隨機(jī)波動(dòng)的幅度為20;若在二維屬性中,為縮放添加n=wiggle(1,10);[n[0],n[0]],則表示圖層的縮放XY在每秒抖動(dòng)10次,每次隨機(jī)波動(dòng)的幅度為20;若在二維屬性中,想單獨(dú)在單維度進(jìn)行抖動(dòng),需要將屬性設(shè)置為單獨(dú)尺寸后添加wiggle(10,20),表示圖層的縮放X軸在每秒抖動(dòng)10次,每次隨機(jī)波動(dòng)的幅度為20。

    注意事項(xiàng):

    可直接在現(xiàn)有屬性上運(yùn)行,包括任何關(guān)鍵幀

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    3. index表達(dá)式(索引表達(dá)式)

    原理:

    為每間隔多少數(shù)值來(lái)產(chǎn)生多少變化

    舉例:

    若為圖層1的旋轉(zhuǎn)屬性添加表達(dá)式index*5 ,則第一個(gè)圖層會(huì)旋轉(zhuǎn)5度,之后按Ctrl+D去復(fù)制多個(gè)圖層時(shí),第2個(gè)圖層將旋轉(zhuǎn)10度,以此類推;若想第一層圖形不產(chǎn)生旋轉(zhuǎn)保持正常形態(tài),復(fù)制后的圖形以5度遞增,表達(dá)式可寫(xiě)為(index-1)*5

    超實(shí)用!18種常用AE表達(dá)式解析

    4. value表達(dá)式

    原理:

    在當(dāng)前時(shí)間輸出當(dāng)前屬性值

    舉例:

    若對(duì)位置屬性添加表達(dá)式為value+100,則位置會(huì)在關(guān)鍵幀數(shù)值的基礎(chǔ)上對(duì)X軸向右偏移100(正數(shù)向右側(cè),負(fù)數(shù)像左側(cè));若想控制Y軸的位置屬性,則可對(duì)位置屬性進(jìn)行單獨(dú)尺寸的分割,從而可單獨(dú)控制Y軸(正數(shù)向下,負(fù)數(shù)向上)

    注意事項(xiàng):

    更多的使用場(chǎng)景是結(jié)合其他表達(dá)式一起應(yīng)用

    超實(shí)用!18種常用AE表達(dá)式解析

    5. random表達(dá)式(隨機(jī)表達(dá)式)

    原理:

    random(x,y)在數(shù)值x到y(tǒng)之間隨機(jī)進(jìn)行抽取,最小值為x,最大值為y

    舉例:

    若為數(shù)字源文本添加表達(dá)式random(20),則數(shù)據(jù)會(huì)隨機(jī)改變,最大值不會(huì)超過(guò)20;

    若為數(shù)字源文本添加表達(dá)式random(10,100),則數(shù)據(jù)會(huì)在10<數(shù)值<100之間隨機(jī)改變; 若為數(shù)字源文本添加表達(dá)式seedRandom(5, timeless = false),random(50),則數(shù)據(jù)會(huì)在50以內(nèi)隨機(jī)改變(前面的5是種子數(shù),如一張畫(huà)面中需要多個(gè)相同區(qū)間的數(shù)值做隨機(jī)變化,就要為他們添加不同的種子數(shù),防止兩者隨機(jī)變化雷同),若希望數(shù)字隨機(jī)變化為整數(shù)則應(yīng)添加表達(dá)式為Math.round(random(2,50)),表示在2和50之間隨機(jī)改變無(wú)小數(shù)

    注意事項(xiàng):

    隨機(jī)表達(dá)式不僅局限于數(shù)據(jù)上的使用,其他屬性也可以應(yīng)用,若數(shù)值為整數(shù)Math的M要大寫(xiě)

    超實(shí)用!18種常用AE表達(dá)式解析

    6. loopOut表達(dá)式(循環(huán)表達(dá)式)

    原理:

    • loopOut(type=”類型”,numkeyframes=0)對(duì)一組動(dòng)作進(jìn)行循環(huán)
    • loopOut(type=”pingpong”,numkeyframes=0)是類似像乒乓球一樣的來(lái)回循環(huán);
    • loopOut(type=”cycle”,numkeyframes=0)是周而復(fù)始的循環(huán);
    • loopOut(type=”continue”)延續(xù)屬性變化的最后速度,
    • loopOut(type=”offset”,numkeyframes=0)是重復(fù)指定的時(shí)間段進(jìn)行循環(huán);
    • numkeyframes=0是循環(huán)的次數(shù),0為無(wú)限循環(huán),1是最后兩個(gè)關(guān)鍵幀無(wú)限循環(huán),2是最后三個(gè)關(guān)鍵幀無(wú)限循環(huán),

    以此類推

    舉例:

    如下圖gif

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    7. timeRemap表達(dá)式(抽幀)

    原理:

    timeRemap*n,n以幀為單位

    舉例:

    將圖層設(shè)置為timeRemap*10,代表每隔10幀就抽掉1幀畫(huà)面,(根據(jù)要抽取的速率決定)

    注意事項(xiàng):

    使用timeRemap表達(dá)式之前要啟用時(shí)間重映射,否則無(wú)法使用此表達(dá)式

    超實(shí)用!18種常用AE表達(dá)式解析

    8. linear表達(dá)式(線性表達(dá)式)

    原理:

    • linear(t, tMin, tMax, value1, value2)表示linear(time, 開(kāi)始變化的時(shí)間, 結(jié)束變化的時(shí)間, 開(kāi)始變化時(shí)的數(shù)值, 結(jié)束變化的數(shù)值);
    • linear(t, value1, value2)表示當(dāng)time在0到1之間時(shí),從value1變化到value2;
    • ease(t, tMin, tMax, value1, value2)的含義與linear一樣, 區(qū)別是在tMin和tMax點(diǎn)處,進(jìn)行緩入緩出,使數(shù)據(jù)更加平滑;
    • easeIn(t, tMin, tMax, value1, value2)與linear的含義一樣, 區(qū)別是在tMin處,進(jìn)行緩入,使數(shù)據(jù)更加平滑;
    • easeOut(t, tMin, tMax, value1, value2)與linear的含義一樣, 區(qū)別是在tMax點(diǎn)處,進(jìn)行緩出,使數(shù)據(jù)更加平滑

    舉例:

    見(jiàn)下圖均以(time,0,3,131,1000)為例,若為數(shù)字的源文本屬性添加此表達(dá)式可以制作出倒計(jì)時(shí)的效果n=linear(time, 0, 3, 3, 0)表示從0-3秒數(shù)字從3到0,希望數(shù)字為整體需添加Math.floor()

    注意事項(xiàng):

    倒計(jì)時(shí)的用法比較常用,整數(shù)M要大寫(xiě)

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    9. Other Math(角度弧度)

    原理:

    degreesToRadians(degrees) 角度轉(zhuǎn)為弧度(degrees度的變量或表達(dá)式)radiansToDegrees(radians)弧度轉(zhuǎn)為角度(radians弧度的變量或表達(dá)式)

    舉例:

    常用語(yǔ)數(shù)學(xué)中的一些計(jì)算sin,cos,tan,sec,csc,cot等

    超實(shí)用!18種常用AE表達(dá)式解析

    10. layer表達(dá)式

    原理:

    layer(index)中index 是數(shù)值,按照編號(hào)檢索圖層;layer(name)中name 是一個(gè)字符串,按照名稱檢索圖層(若沒(méi)有圖層名稱,則根據(jù)源名稱);layer(otherLayer, relIndex)中otherLayer 表示圖層對(duì)象,relIndex 表示數(shù)值,檢索屬于圖層對(duì)象的數(shù)值圖層

    舉例:

    • layer(index)—thisComp.layer(1).position;
    • layer(name)—thisComp.layer(“形狀圖層1”);
    • layer(otherLayer, relIndex)—thisComp.layer(thisLayer, 1).active 將返回 true

    超實(shí)用!18種常用AE表達(dá)式解析

    11. marker表達(dá)式

    原理:

    marker.key(index)中index 是數(shù)值;marker.key(name)中name 是一個(gè)字符串

    舉例:

    thisComp.marker.key(1).time表示返回第一個(gè)合成標(biāo)記的時(shí)間;thisComp.marker.key(“我叫注釋名稱”).time表示返回具有名稱”我叫注釋名稱”的合成標(biāo)記的時(shí)間

    超實(shí)用!18種常用AE表達(dá)式解析

    12. comp(合成屬性和方法)width與height表達(dá)式

    原理:

    width表示返回合成寬度;height表示返回合成高度

    舉例:

    [thisComp.width/2, thisComp.height/2]表示寬度和高度為合成的一半也就是居中的位置

    超實(shí)用!18種常用AE表達(dá)式解析

    13. param表達(dá)式

    原理:

    param(name)中name表示字符串;param(index)表示數(shù)值

    舉例:

    effect(“高斯模糊”).param(“模糊度”)效果控制點(diǎn)始終位于圖層空間中

    超實(shí)用!18種常用AE表達(dá)式解析

    14. 彈性表達(dá)式

    原理:

    復(fù)制粘貼表達(dá)式使用就可以,amp表示振幅,freq表示頻率,decay表示衰減(根據(jù)不同需求做不同的調(diào)整)

    舉例:

    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);

    amp = .03;

    freq = 2.5;

    decay = 4.0;

    value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

    }else{value;}

    上述內(nèi)容復(fù)制粘貼使用即可

    注意:motion2腳本也帶此功能,方法不唯一

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    15. 反彈表達(dá)式

    原理:

    k表示反彈最終結(jié)果,a表示反彈阻力,b表示反彈變化時(shí)間

    舉例:

    k=500; a=8; b=30; x=k*(1-Math.exp(-a*time)*Math.cos(b*time));[x,x](根據(jù)不同情況調(diào)節(jié)kab的數(shù)值即可)

    超實(shí)用!18種常用AE表達(dá)式解析

    16. 數(shù)字遞增表達(dá)式

    原理:

    StartNumber表示開(kāi)始時(shí)的數(shù)值,EndNumber表示結(jié)束時(shí)的數(shù)值,StartTime表示開(kāi)始的時(shí)間,EndTime表示結(jié)束的時(shí)間,和前面的linear表達(dá)式相對(duì)應(yīng)

    舉例:

    StartNumber=1;

    EndNumber=20;

    StartTime=0;

    EndTime=3;

    t=linear(time,StartTime,EndTime,StartNumber,EndNumber);Math.floor(t)

    超實(shí)用!18種常用AE表達(dá)式解析

    17. 擠壓與伸展

    原理:

    spd表示擠壓拉伸的速度,maxDev表示擠壓拉伸的大小,decay表示衰減

    舉例:

    spd =20;maxDev =10;

    decay = 1;

    t = time – inPoint;

    offset = maxDev*Math.sin(t*spd)/Math.exp(t*decay);

    scaleX = scale[0] + offset;scaleY = scale[1] – offset;

    [scaleX,scaleY]

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    18. 運(yùn)動(dòng)拖尾

    原理:

    delay表示要延遲的幀數(shù)

    舉例:

    為位置屬性添加表達(dá)式delay = 0.5;

    d = delay*thisComp.frameDuration*(index – 1);

    thisComp.layer(1).position.valueAtTime(time – d);

    如想要實(shí)現(xiàn)不透明度拖尾需為不透明度屬性添加表達(dá)式opacityFactor =.80;

    Math.pow(opacityFactor,index – 1)*100(調(diào)整好一個(gè)圖層后復(fù)制多個(gè))

    超實(shí)用!18種常用AE表達(dá)式解析

    超實(shí)用!18種常用AE表達(dá)式解析

    文章來(lái)源:優(yōu)設(shè)    作者:凌旬 

    藍(lán)藍(lán)設(shè)計(jì)www.skdbbs.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)



    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 国产精品99久久99久久久| 免费精品99久久国产综合精品 | 97久久综合精品久久久综合| 久久国产乱子伦精品免费午夜| 国产99视频精品免视看7| 伊人久久大香线蕉精品不卡| 精品欧美| 93精91精品国产综合久久香蕉| 国产精品扒开腿做爽爽爽视频| 9191精品国产免费久久| 2022国内精品免费福利视频 | 国产亚洲精品a在线观看| 国产精品高清一区二区人妖 | 亚洲精品乱码久久久久久久久久久久| 久久国产热这里只有精品| 国产成人99久久亚洲综合精品 | 国产精品露脸国语对白| 亚洲精品制服丝袜四区| 久久久久人妻一区精品果冻| 国产精品JIZZ在线观看老狼| 久久伊人精品青青草原高清| 成人无码精品1区2区3区免费看| 日韩精品少妇无码受不了| 真实国产乱子伦精品视频| 国产香蕉精品视频在| 国产免费久久精品丫丫| 国产精品龙口护士门在线观看| 热re99久久精品国99热| 亚欧洲精品在线视频免费观看| 国产精品内射久久久久欢欢 | 国产精品成人A区在线观看| 亚洲动漫精品无码av天堂| 中文无码精品一区二区三区| 亚洲第一区精品日韩在线播放| 精品无码国产污污污免费网站国产| 国产精品热久久无码av| 国产观看精品一区二区三区| 国产精品熟女福利久久AV| 国产精品美女久久久免费| 国产精品亚洲欧美大片在线看| 国产一级精品高清一级毛片|