fbpx

《AE教學》用表達式做出計時器吧!表達式 / Timecod / Numbers

哈囉!又到了快樂的教學時光,

今天要來和大家分享一個製作計時器的表達式!


在分享表達式之前先和大家兩個AE內建的計數特效:

1.Timecode

Timecode可以直接套用在任何圖層上,

他會將該圖層直接轉換為影片計時器,

所以如果想要在影片上蓋上一個Timecode需要額外新增一個圖層並套用。

Timecode能夠快速製作簡單的計時器,

相較之下能夠調整的參數並不多,只有底色、文字顏色等等。

在Display Format中可選擇計時器顯示的方式。

大概就是這幾種樣式,

而且不能夠控制是否顯示時、分、秒、微秒。

在Time Source中可以選擇替整個Comp計時或是替該圖層計時,

舉例來說如果你將圖層往後移動2秒,並選擇Layer Source,

在Comp中撥放至第二秒才會開始啟動計時器。

2.Numbers

接下來介紹專門計數的特效Numbers,

和Timecode一樣可以套用在所有圖層上並轉換計數器,

加入特效後會跳出一個視窗,你需要在這裡就決定文字樣式。

Numbers相較Timecode就來的自由許多,

可以調整的除了剛才的字體樣式,顏色、填色方式、是否亂數等在這裡都可以調整。

在Type一樣可以選擇顯示方式,顯示Timecode系列的選項就可以變成計時器。

不過Number的缺點就是Timcode的選擇需要配合影片楨率,

但選項固定只有30、25、24,假如你今天使用60楨的影片就無法用Numbers精確的計算時間了。

3.表達式計時器

接下來就是我們的主角!表達式計時器!

要製作表達式計時器首先你需要新增一個Text圖層。

你可以先在Text圖層打幾個字方便待會觀察。

接著點開Text > Source Text,並Alt + 左鍵點擊左側的小碼錶Icon進入表達是輸入區。

在輸入區打上表達式:

countspeed = 1;
clockStart = 0;

function times(n) {
if (n<10) return "0" + n
else return "" + n
}

clockTime = clockStart + countspeed*(time – inPoint);

if (clockTime < 0) {
minus = "-";
clockTime = -clockTime;
} else {
minus = "";
}

t = Math.floor(clockTime);
min = Math.floor((t%3600)/60);
sec = Math.floor(t%60);
minus + times(min) + ":" + times(sec)

 

直接把上方文字複製進去就可以了。

你會發現文字自動變成計時器了!

這個計時器的計時方式是抓取實際時間而不是楨數,

因可以精確的計時。

而且這個計時器是可以更換顯示方式的!

你可以將表達式的

t = Math.floor(clockTime);
min = Math.floor((t%3600)/60);
sec = Math.floor(t%60);
minus + times(min) + ":" + times(sec)

改為

t = Math.floor(clockTime);
h = Math.floor(t/3600);
min = Math.floor((t%3600)/60);
sec = Math.floor(t%60);
ms = clockTime.toFixed(3).substr(-3);
minus + times(h) + ":" + times(min) + ":" + times(sec) + ":" + ms

這裡每一排的開頭文字 t、h、min、sec、ms分別代表:

時間參數(不需要調整)、小時、分鐘、秒、微秒的代號。

你可以自由新增減少完整的一排,只要特別注意最底下的那排表達式

minus + times(h) + ":" + times(min) + ":" + times(sec) + ":" + ms

括號內的代號是否與想顯示的所有數列,並檢查":"的數量是否正確。

更凱完畢看起來就像這樣:

特別注意,如果你想更便微秒的位數,

你可以將

ms = clockTime.toFixed(3).substr(-3);

改為

ms = clockTime.toFixed(2).substr(-2);

這樣就能夠更變為二位數了!

增加減少以此類推。

如果你想製作倒數計時器也可以,

只需要在所有表達式設定完畢之後檢查你的Comp時間長度,例如現在長度為5秒,

將Text圖層Comp起來之後對著Comp右鍵 > Time > Time-Reverse Layer(圖層時間倒轉)。

這麼一來就完成倒數計時器囉!

剩下就是替你的計時器作點裝飾~

 

 

此教學專案檔下載(cc 2018以上):

分享在 facebook
分享至FB
分享在 telegram
分享至TG

解鎖站內所有需密碼的內容

時事特效教學 | 讓你學會最新特效

隨機文章