Design

為什麼工作室首頁 hero 用 3D 而不是 2D

2026 年 5 月 5 日約 8 分鐘閱讀作者:Hao0321 Studio

本站首頁的 hero 是一段 61 frames 的 liquid chrome 3D 動畫 — 「H」字母融化變形成「0321」的金屬流體。整體製作 3 個工作天,相比 2D illustration 多花 5 倍時間。為什麼還是選 3D?

差異化的價值

2024 年到處都是 Apple-style 漸變、Stripe-style 線條圖、Linear-style 簡潔 UI。所有 SaaS 跟個人作品集網站視覺相似度極高。

使用者打開新網站的前 3 秒會做一個判斷:「這個工作室跟其他人有沒有不一樣」。如果 hero 是常見風格 — 答案是「沒有」,視覺記憶點 0。

3D liquid chrome 是視覺差異化的賭注:

2D vs 3D 的工作量對比

項目2D illustration3D 動畫
初期構思2 小時2 小時
建模 / 畫圖4 小時(在 Figma)8 小時(Blender)
動畫 / 互動2 小時(Lottie 或 SVG)4 小時(keyframe + simulation)
渲染5 小時(61 frame × 5 min)
後處理 / 優化1 小時3 小時(壓縮、frame 序列)
總計9 小時22 小時

實作流程

1. 在 Blender 建模

2. 材質:Liquid Chrome

3. 燈光

4. 渲染:Cycles + Denoiser

5. 轉 WebP 序列

cd renders/
for f in *.png; do
  cwebp -q 80 "$f" -o "${f%.png}.webp"
done

每張從 ~200KB PNG 壓到 ~30KB WebP,61 張總共 ~1.8MB。

網頁端整合

61 frames 在 Canvas 上根據 scroll 進度切換:

const FRAME_COUNT = 61;
const frames = [];
// 預載入
for (let i = 0; i < FRAME_COUNT; i++) {
  const img = new Image();
  img.src = 'hero-frames-new/frame_' + pad(i+1) + '.webp';
  frames[i] = img;
}

// scroll handler
function update() {
  const heroH = hero.offsetHeight;
  const y = window.scrollY;
  const p = Math.max(0, Math.min(1, y / (heroH * 0.9)));
  const idx = Math.floor(p * FRAME_COUNT);
  drawFrame(idx);
}

Performance 考量

什麼樣的網站不適合 3D hero

3D hero 適合「創作型工作室」 — 客戶就是要被視覺打動。

結語

3D 不是萬靈丹,是「願意多花 5 倍時間換差異化」的賭注。對作品集網站,這個賭注通常值得 — 因為使用者來這裡就是要看你的視覺品味。

有想做 3D hero 的朋友,可以先從 Polyhaven HDRI + Blender 教學開始,不一定要付費 C4D。