AE 的 Random 隨機表達式,隨機排列動畫簡單做出來!

林鴨子

林鴨子

2025年5月17日 上午 3:05

AE 教學

今天來教大家在 AE 裡讓數值隨機跳動的方法

以及各種隨機表達式的應用

那我們就準備開始囉!

本文目錄


表達式簡介

 AE 的表達式是可以透過輸入指定的代碼來讓電腦自動演算物件的動態。

輸入時我們只需在物件內的屬性欄位按住 Alt 點擊碼表圖案即可直接開始輸入,

如果想要取消的話,再按住Alt點擊碼表圖案一次就可以取消囉!

固定 Random 數值

 在 Rotation (旋轉)表達式欄位輸入 Random 的基礎文法:

random(0,360)

這裡的 random 會使數值隨機變化,

而後方括號內的 0 和 360 則是變化的範圍,

意思是讓該數值在 0 到 360 之間隨機變化。

輸入完畢後點及旁邊的空白區域,

並按下空白鍵預覽,

會發現 random 會讓該物件的 Rotation (旋轉角度) 不斷的隨機變化,

而變化的範圍就是 0 到 360 度之間。

若將表達式改為:

random(270,360)

則旋轉的角度就會被限縮在 270 到 360 度之間。

這邊如果你希望 random 限縮的範圍是從 0 到某個數字之間,

其實可以直接把 0 給省略掉:

random(360)

若 random 後方的括號內只有一個數字,

AE 就會默認為從 0 到該數字之間隨機變化。

這個 random 表達式打完之後再複製圖層,

每個圖層的隨機值都會不一樣哦,

因此可以先打完 random 表達式並進行複製,

讓每個圖層之間都有差異變化。

若要將 random 表達式運用在 Position (位置) 或是 Scale (尺寸)

這類有兩個以上的參數上,則需要以「對數」的形式輸入,

對數需要由中括號去概括多個數字或算式,每個數字或算式之間書又由逗號隔開:

[x,y]

因此將 random 運用在 Position 上則會像是如下打法:

[random(300,1620),random(300,720)]

上列打法意思是讓 x 軸座標(水平位置)在 300 到 1620 之間隨機,

讓 y 軸座標(垂直位置)在 300 到 720 之間隨機。


固定 Random 數值

 基本的 random 表達式會在按下空白鍵撥放之後隨機亂跳,

如果希望隨機數值固定住不要隨時間變動的話需要使用下列表達式:

seedRandom(0, timeless = true); 

gaussRandom(0,360)

這裡需要再表達是第一行補上 seedRandom(0, timeless = true); 

且要檢查 timeless = 後方是否為 true ,若為 false 則會取消固定,

且換行時需要用分號「;」隔開。

第二行就可以輸入 random 表達式,不過這邊需要把 random 改成

gaussRandom ,記得 R 要大寫,這樣才能配合第一行的固定表達式。

輸入之後一樣複製圖層會使每個圖層之間相互有隨機差異,

不過按下空白鍵就不會隨機亂跳了。

其實 random 和 gaussRandom 是兩種不同的隨機模式,

random 會限縮在指定的範圍之內,

而 gaussRandom 則是會有個相較彈性的範圍空間,

且越中間的區域越容易被選擇到。

若要應用在 Position 或是 Scale 對數的話,可以輸入:

seedRandom(0, timeless = true); 

[gaussRandom(300,1620),gaussRandom(300,720)]

這裡第一行一樣需要輸入 seedRandom(0, timeless = true); 

第二行就可以在中括號之間輸入兩組 gaussRandom 表達式。

這樣複製圖層並按下空白鍵就不會隨便亂變動位置囉!


隨機數字

 如果要製作隨機跳動的數字可以先用文字工具在畫面中輸入任意文字,

並在文字圖層的下拉選單中找到 Text > Source Text,

在 Source Text 中輸入表達式,

算式結果為多少,文自救會直接呈現多少數字囉,

例如直接輸入 200 ,畫面中的文字就會呈現 200。

接下來我們輸入表達式:

random(100,,400)

會發現數字開始隨機變化了,但是後面兜了一大串小數點。

如果要消除小數點,可以在整個 random 表達式的後方加上

.toFixed(0)

.toFixed 可以修正前方數字的小數點位數,

括號內的數字代表要顯示小數點後幾位。

這樣修正好小數點之後隨機數字就會比較正常囉!


控制隨機速率

 上述講到的 random 表達式其實都可以配合一個叫做 Posterize Time 的特效

去控制隨機亂跳的速率,

這個特效可以將整個圖層的幀率降低,

Frame Rate 輸入多少就會讓該圖層的幀率變為每秒幾幀。

像這樣我們將數字和圖形圖層個別加上 Posterize Time 效果,

讓數字 Frame Rate 變為 3 ,

圖形 Frame Rate 變為 6 ,

就會得出以下效果囉!

以上就是 random 表達式家族的介紹與應用,希望可以幫助到您並節省製作動畫的時間!

延伸閱讀:

AE 動畫 MG 動畫必學基本功:關鍵影格大解密!
AE 新手必學 8 大類快捷鍵,提升影片後製效率
AE內建200種常用特效中英文預覽(After Effects Effects Presets GIF)

想知道更多特效的教學內容:

林鴨子特效魔法師 IG

想閱讀更多免費教學文章:

鴨鴨鎧開知識釣竿屋