更新於 2024/12/16閱讀時間約 8 分鐘

《Ae教學-random》【搞什麼系列】第四章-閃爍的燈火_AE表達式(expression)

【搞什麼系列】第四章-閃爍的燈火 (random)

【搞什麼系列】第四章-閃爍的燈火 (random)


此篇教學動圖會有閃爍情形, 請斟酌觀看。

種下樹苗後,你繼續在各個副本裡冒險升級。今天的你一如既往的在陰暗的洞穴副本裡探險著,突然手上的魔法燈籠開始閃爍了起來。你心想:今天先到這裡好了,等等先回村子看看有沒有可以補給的地方。


離開副本後,你快速回到村裡。


嗨!我是新手村村長 Fei!很高興看到你又來找我了。探索的進度如何啊?看你的樣子應該進行得很順利!不過你前一陣子是不是去太多副本裡探險了,看你手上的魔法燈籠消耗得很快,今天來教你怎麼控制魔法燈籠的閃爍吧~


1. 新手的主線任務

random(最大值)

random() ( )內的數,如果只有單一數值的話是代表指定隨機的最大值,預設的最小值就是 0。


村長的施法時間
舉個例子讓這顆球隨機出現及消失,村長手上拿著一顆球,並開始對它施咒……在 Opacity 使用 random(80)

在Opacity上使用random


提醒:以下動圖會有閃爍情形

random(80)

random(80) 就是指定透明度隨機數值為 0-80%



random(最小值,最大值)

random() ( )內有兩個數值是代表指定隨機的 (最小值 , 最大值)。


村長的施法時間
Opacityrandom(60,80) ,意思是指定透明度為隨機數值 60-80%


random(80) 與 random(60,80)

比較一下,random(80)random(60,80) 的差別,明顯看得出來 0-80% 透明的變換幅度較大

要特別注意的是:random 是無法控制的隨機!因此當你每次使用,即便咒語設定的數值是一樣的,都無法施展出一模一樣的效果


學完了隨機控制最大最小值,你就可以自由地控制你的魔法燈籠了。以後就算冒險到一半也不怕囉!魔法燈籠的光源必要時也可以拿來當作訊號燈來使用喔!


你:random 可以套用在其他數值上嗎?
村長:可以的,你先試看看套用在 Scale上!


random() 應用在 Scale 上

你打開【Transform > Scale】,施展咒語 random(130)

無法套用在scale上

你:欸?怎麼沒用?
村長:因為 Scale 是有兩個軸向的,沒有指定軸向數值的話會導致咒語失敗!


指定軸向的話,要使用矩陣 [] 的概念。
之前的章節也有使用過(第二章-time及第三章-wiggle)

a = random(130);
[a,a]

//[a,a]​用來宣告上面數值是矩陣

a 只是代數,可更換,不影響結果。

random 作用在 Scale上

指定 x,y 為 a,因為只有單一代數,所以會是等比的隨機縮放


另外,[] 矩陣內的可以做四則運算 (適合用於製作橢圓與長方形的縮放喔!)

a = random(130);
[a*2,a]

也可以指定 a、b 兩個代數,讓 x、y 軸個別進行隨機縮放

a = random(130);
b = random(60);
[a,b]

[ ] 四則運算與 2 個代數的運用



村長的技巧補充時間:
如需要較為緩和的縮放效果,可以使用 Ae 動態模糊,可以快速緩和視覺的刺激。

如何套用動態模糊?

Ae 預覽時,顯示動態模糊會耗費較多效能。如果要減少預覽時消耗過多效能,可以先將預覽時的動態模糊關閉。右上的按鍵只是開啟/關閉預覽時的動態模糊,輸出的檔案動態模糊還是會在喔!

套用動態模糊

套用完的縮放是不是對眼睛的刺激較小了呢!



gaussRandom() 是什麼?

高斯隨機為較為柔和、自然的隨機。使用信賴區間的方式,調整隨機的比例,出現中間值的機率較高,極端值的機率較低。

信賴區間

gaussRandom() ( )內也可以使用單一數值設定最大值兩個數值則是設定最小值,最大值

random 與 gaussRandom 的比較

相較起單純只用random隨機透明度,gaussRandom 隨機的透明度更為柔和,最大值為 50% 的話,因為機率較高,所以大多數的隨機透明度都會在 25% (平均值)左右。

村長的小提醒:
gaussRandom 的 R 是大寫,而 random 的話,r 是小寫喔!


恭喜你完成新手的主線任務-燈籠
任務獎勵:全新的燈籠
(道具。可在暗處探險時使用,必要時也可以拿來當作訊號燈來使用。使用後便會開始消耗耐久度。)


----------嘿!基礎你學完了!如果還想繼續升級,請往下看!----------
接下來的內容就不是基礎篇(主線任務)囉~


2. 小進階技巧

有辦法出現較有規律的隨機嗎?
其實是有的!但還是沒辦法控制出一模一樣的隨機。

seedRandom(seed,timeless);

將 seedRandom 套用在 Scale

seedRandom(6,0); //6是種子碼、0 是timeless(永恆):只能設定0(false)、1(true)。
x = gaussRandom(40,50);
[x,x]

seedRandom


seedRandom(seed,timeless);

seed:是指定要使用的種子碼。同一組種子碼會出現一樣的數值,但因為 random 沒辦法出現一模一樣的結果,指定種子碼給 random 或 gaussRandom 也只能讓隨機較為規律

timeless (永恆):只能設定兩個數值 0、1 。
0 代表“false”
1 代表“true”


在表達式中可以輸入 0 或 false ,代表數值 "是永恆的嗎?不是。"

seedRandom(1,0);
seedRandom(1,false);


在表達式中可以輸入 1 或 true ,代表數值 "是永恆的嗎?是。"
可在畫面上保持不變,但它仍然會選擇一個隨機值。

seedRandom(1,1);
seedRandom(1,true);


村長課外課時間

seedRandom 應用在 wiggle 上

Position 裡輸入

seedRandom(6,0);
wiggle(10,50)

會發現套用同一組種子碼的狀態下,擺動的軌跡會一樣

wiggle規律化


隨機顏色

在 Fill 中使用

random([0,0,0,0],[1,1,1,1])

a = [0,0,0,0];
b = [1,1,1,1];
random(a,b)

Fill > color

顏色順序為 RGBA,代表紅 (Red)、綠 (Green)、藍 (Blue)和 Alpha 通道 (Alpha)
哪一個數值越高代表越偏向哪一個顏色,而同時提高 3 個數值會越來越多機率出現白色。

隨機顏色


隨機數字

在 Source Text 中使用 random(00000,99999).toFixed(0)

Text > Source Text

隨機數字

.toFixed(0) 在之前第二章 Time 時有學過,忘記的話可以去複習一下!



✴️村長的宣傳時間✴️

📌最新動畫作品在這 ➡️ instagram
📌更新會比 IG 晚一天 ➡️ YouTube
📌追蹤✅、點❤️、分享🔗、收藏📂


合作請
私訊 Instagram
或寄信至 x.fei.4044@gmail.com


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.