運用表達式製作隨機閃爍的星星動畫

有時候我們想做點夢幻的畫面,比如夜空、宇宙背景、或是某個 Logo 動畫上浮出來的時候,後面「點點閃爍的小星星」就是氛圍加成的關鍵 。

『 但……難道真的要一顆一顆手動畫? 』

當然不用!我們要用表達式,讓星星自動:

  • 出現 → 閃 → 消失 → 換地方 → 再閃

  • 而且全部都有點隨機、彼此不一樣

第一步:建立「星星圖層」

  • 方法 1:用形狀工具畫個白色圓點。

  • 方法 2:用 PNG 星星圖片或 AE 內建星型。

第二步:建立「四個屬性的表達式」

  • 設定四個屬性的表達式:

第三步:複製「星星圖層」

  • 選擇圖層後,按 Ctrl + D 複製出 10~30 個圖層。

  • 這些是獨立的星星,每顆會隨機閃爍出現。

📌 Position(隨機出現位置)

cycle = 3;// 每輪總長度(秒)
delay = index * 0.3; // 每顆延遲 0.3 秒(依 index 順序)
seedRandom(index + Math.floor((time - index * 0.3) / cycle), true);
x = random(0, thisComp.width);
y = random(0, thisComp.height);
[x, y];

📌 Opacity(出現閃爍)

cycle = 3;// 每輪總時間
fadeIn = 0.8;// 淡入時間
hold = 1.2;// 保持亮的時間
fadeOut = 1.0;// 淡出時間
fadeOut = 1.0;    // 淡出時間
delay = index * 0.3;// 每顆延遲 0.3 秒(依 index 順序)

t = time - delay;

if (t < 0){
  0; // 延遲階段,尚未進入動畫
}else if (t % cycle < fadeIn){
  linear(t % cycle, 0, fadeIn, 0, 100);// 淡入到多少100
}else if (t % cycle < fadeIn + hold){
  100; // 保持100亮度
}else if (t % cycle < fadeIn + hold + fadeOut){
  linear(t % cycle, fadeIn + hold, fadeIn + hold + fadeOut, 100, 0);// 100亮度後淡出
}else{
  0;
}

📌 Rotation(隨機角度)

cycle = 3;// 每輪總時間
delay = index * 0.3;// 每顆延遲 0.3 秒(依 index 順序)
t = time - delay;

seedRandom(index + Math.floor(t / cycle), true);
random(0, 360);

📌 Scale(同步放大縮小)

cycle = 3;// 每輪總長度(秒)
fadeIn = 0.8;// 淡入階段持續 0.8 秒
hold = 1.2;// 保持亮/縮放狀態 1.2 秒
fadeOut = 1.0;// 淡出階段持續 1 秒
delay = index * 0.3; // 每顆延遲 0.3 秒(依 index 順序)

t = time - delay;

if (t < 0){
  s = 0;// 延遲階段,尚未進入動畫
}else if (t % cycle < fadeIn){
  s = linear(t % cycle, 0, fadeIn, 0, 50);// 從0放大到50
}else if (t % cycle < fadeIn + hold){
  s = 50;// 保持50大小
}else if (t % cycle < fadeIn + hold + fadeOut){
  s = linear(t % cycle, fadeIn + hold, fadeIn + hold + fadeOut, 50, 0);// 從50縮小到0
}else{
  s = 0;
}
[s, s];

✅ 說明重點

  • delay = index * 0.3 | 每顆星星延遲出現

  • t = time - delay | 補償延遲後的實際時間

  • Math.floor(t / cycle) | 確保每輪才重新亂數一次

  • index + Math.floor(...) | 每顆星星、每一輪都能唯一標記

  • random(0, 360) | 給出新的隨機角度(保持該輪不變)

這樣每當星星「換位置時」,Rotation 也會跟著換,做到位置與旋轉同步更新 。

🧪 效果總覽

  • Position每輪換位置(隨機出現)

  • Opacity淡入閃爍後淡出,交錯時間出現

  • Scale配合 Opacity 同步縮放

  • Rotation(選用)每輪角度隨機旋轉

🎯建議與延伸

  • 加上效果:Glow、Add 模式、Drop Shadow,讓星星更閃

  • 可將這些表達式製作成 AE Preset,快速套用

  • 延遲值 delay = index * 0.2 可改成 random(0, 1.5) 變更成隨機延遲

Previous
Previous

無插件製作 Liquid Animation 液態動畫!

Next
Next

AE如何模擬畫面震動增加動畫張力