- Adobe After Effects 2020應用培訓教材
- 王琦主編
- 1871字
- 2021-06-15 16:05:01
第4節 循環表達式
當動畫中需要出現不斷重復的動作時,通常的方法是對關鍵幀進行復制粘貼,但是這種方法不但效率低,得到的結果也往往不夠精確。這時如果使用循環表達式來處理將事半功倍。
提示
循環表達式的使用前提是必須有關鍵幀動畫,循環相當于將已有的關鍵幀動畫進行重復播放。
知識點1 添加循環表達式的方法
為需要制作循環動畫的屬性添加表達式,在“表達式語言”下拉菜單中執行“Property-loopOut(type="cycle",numkeyframes=0”命令即可,如圖1-25所示。

圖1-25
提示
loopOut和loopIn的區別。
loopOut是指向時間軸的右側進行循環,即在將來的時間內進行循環;而loopIn是指向時間軸的左側進行循環,即在過去的時間內循環。
知識點2 循環語句解讀
循環表達式語句結構如圖1-26所示。

圖1-26
常用的循環類型包括3種:“cycle”(周期型)、“pingpong”(彈動型)和“continue”(持續型)。這3種類型的循環會在后面的案例中分別進行講解。
有效的關鍵幀段數是指循環從圖層的最后一個關鍵幀開始,一直播放到圖層的出點。要循環的片段由“numKeyframes”值決定。
“numKeyframes”值是用來確定循環全部關鍵幀中的倒數幾段的,例如“numKeyframes=3”為循環倒數3段關鍵幀動畫,“numKeyframes=0”為循環全部關鍵幀。
知識點3 3種循環類型
下面通過實例來講解3種不同類型的循環。
在本課素材包中找到并打開“循環源文件.aep”文件,得到圖1-27所示的卡通風格場景。

圖1-27
1. “cycle”(周期型)
“cycle”是默認的循環類型,作用是重復指定段的動畫,效果相當于單純的循環播放。
■ 步驟01 制作太陽光動畫
展開形狀圖層“太陽”,執行“內容-形狀1-修剪路徑”命令。在第0幀處為修剪路徑效果的開始和結束屬性添加關鍵幀,將時間指示器拖曳至第10幀處,將開始和結束值都調至“100%”,完成陽光發散動畫,如圖1-28所示。

圖1-28
在時間軸面板中的第18幀處,分別單擊開始和結束屬性左側的“在當前時間添加和移除關鍵幀”按鈕,為動畫插入定幀,使動畫過程中間停止。
■ 步驟02 循環太陽光動畫
分別為修剪路徑效果的開始和結束屬性添加表達式,單擊“表達式語言”按鈕執行“Property-loopOut(type="cycle",numkeyframes=0”命令,效果如圖1-29所示。

圖1-29
2. “pingpong”(彈動型)
“pingpong”的循環方式是重復指定段,并向前和向后交替。
其效果相當于“正向+反向”的循環播放,通常用來實現往復運動的效果。在本例中,云彩和小樹的運動就是這種往復運動。
■ 步驟01 制作小樹動畫
選中“小樹1”圖層,執行“效果-扭曲-CC Bend It”(彎曲)命令。在效果控制器面板中將Start屬性的位置定位在小樹的根部,將End屬性的位置定位在小樹的頂部,如圖1-30所示。

圖1-30
在第0幀處,調整Bend屬性值為“-20”并添加關鍵幀,在第1秒處,將Bend屬性值調為“20”并添加關鍵幀。選中兩個關鍵幀并按快捷鍵F9使動畫緩動,如圖1-31所示。

圖1-31
■ 步驟02 循環小樹動畫
為Bend屬性添加表達式,單擊“表達式語言”按鈕,執行“Property-loopOut(type="cycle",numkeyframes=0”命令,將循環類型“cycle”改為“pingpong”,即可實現小樹往復擺動動畫,如圖1-32所示。

圖1-32
對“小樹2”和“小樹3”圖層進行相同操作,并將3棵小樹的關鍵幀適當錯開,使動畫富有變化,完成3棵小樹的動畫。
■ 步驟03 制作云彩動畫
為“云1”和“云2”圖層中的圓角矩形的位置和大小屬性制作動畫,完成云彩左右擺動和形狀變化的動畫。選中“云1”圖層,展開“內容-矩形2-矩形路徑1”,為位置和大小屬性添加表達式,并使用循環語句實現動畫的循環,方法和制作小樹動畫類似,如圖1-33所示。

圖1-33
3. “continue”(持續型)
“continue”循環的特點是不重復指定段,但會繼續基于第一個或最后一個關鍵幀的已有動畫對屬性動畫加以延伸,也就是說會按照原有動畫的方向和速度繼續循環。
■ 步驟01 汽車動畫準備
將“前輪”和“后輪”圖層選中,通過父子關聯器將兩個輪子設定為“汽車”圖層的子級。為“前輪”圖層的旋轉屬性添加表達式,并通過表達式關聯器。鏈接到“汽車”圖層的位置屬性上,使得“前輪”圖層的旋轉和“汽車”圖層的位置屬性產生關聯。為了使車輪轉速快些,可以在表達式后面輸入“*2”使轉速加倍。然后對“后輪”圖層進行相同的操作,如圖1-34所示。

圖1-34
提示
“continue”循環并不是重復之前的關鍵幀片段,而是要將關鍵幀繼續執行下去,和“numkeyframes”指向關鍵幀片段的方式是不一致的。所以“continue”這種循環方式不接受“keyframes”或“duration”參數,需要從其語句中刪除。
■ 步驟02 汽車動畫制作
先將汽車拖曳至畫面外,在第0幀處為“汽車”圖層的位置屬性添加關鍵幀。將時間指示器拖曳到第1秒處,在查看器面板中將汽車向右拖曳到窗口內。為“汽車”圖層的位置屬性添加表達式,執行“Property-loopOut(type="cycle",numkeyframe=0”命令,將循環類型寫為“continue”,并將“numkeyframe=0”刪除,汽車就會按照原有的速度繼續向前開,如圖1-35所示。

圖1-35
最終完成效果如圖1-36所示。

圖1-36
至此,本小節已講解完畢。請掃描圖1-37所示二維碼觀看本小節幾個小動畫的詳細操作視頻。

圖1-37