部落格

3D 網站:什麼時候值得做,以及如何維持載入速度

3D 網站什麼時候值得做、什麼時候影片或圖片更合適,以及我們如何讓 Janus Observatory 的十個 3D 世界保持快速、無障礙又好用。

作者: Nicolás Cerón ·

夜晚的老天文館內部:一台黃銅星象投影機將琥珀色的光點投射在深藍色的圓頂上,一顆小小的多面體深紅色行星懸浮在投影機上方。
本頁內容

簡短回答

當主題本身具有空間性,或在其中移動探索能說明一張圖片說不清楚的事情時,3D 網站就值得做:例如你想讓人轉動查看的產品、一個地點、一組資料集、一個世界。如果它只是用來裝飾一個用照片或短片就能說明清楚的頁面,就不值得。無論如何,3D 層都會在下載大小、電池耗用與無障礙方面帶來實際成本,所以請讓頁面在沒有 3D 的情況下也能運作,並把 3D 當作加分的強化效果。

本指南取材自我們自己的兩個專案:Janus Observatory,一個包含十個 3D 世界的瀏覽器體驗;以及 dardo.studio,其首頁以一個即時 3D 場景開場。

3D 什麼時候值得

  • 訪客需要從多個角度觀看某樣東西:產品、建築物、一件設備。
  • 空間本身就是故事:地圖、基地配置圖、一段穿越不同地點的旅程。
  • 互動比文字更快說明一套系統,例如比較不同情境或探索資料。
  • 品牌體驗本身就是產品:新品發表、展覽與行銷活動,這些場合重視氛圍,訪客也預期能自行探索。

什麼時候不值得

  • 3D 場景只是重複標題與圖片已經傳達的內容。
  • 大多數訪客使用中階手機、透過行動網路造訪,而且需要快速取得一項資訊,例如價格、地址或營業時間。
  • 上線後,團隊中沒有人會維護模型、程式碼與替代方案。

3D、影片,還是圖片?

選項適合用途需要注意
以 WebGL 或 WebGPU 呈現的即時 3D探索、旋轉、比較、回應使用者操作模型與程式碼的檔案大小、GPU 負載、無障礙工作、瀏覽器測試
影片每次都以相同方式呈現一段過程或氛圍檔案大小、自動播放規則、字幕、無法互動
圖片或短動畫快速說明一件事較難令人留下印象;無法探索

WebGL 可在所有現代瀏覽器中執行。WebGPU 較新,在某些工作上速度更快,但支援程度仍不一致,因此請規劃替代方案。dardo.studio 的 3D 入口會先嘗試 WebGPU,不支援時退回 WebGL 2;而服務、作品與聯絡頁面則是純 HTML,從不需要等待 3D 場景載入。

打造 Janus Observatory 學到的事

Janus Observatory 將十個已發表的地球未來情境,轉化為一個 17 章的故事、一本地圖集與一座天文台,其中包含十個原創的低多邊形(low-poly)世界,以及一位關節可動的外星天文學家。它運行在 Cloudflare Workers 的免費方案上,而這個方案對應用程式的大小設有上限。專案在 2026 年 9 月 27 日的發布報告中,記錄了讓它保持快速所需的做法:

  • 壓縮模型並保留替代檔案。59 個 3D 模型以 gzip 版本提供,總計 8.2 MB,而不是 15.8 MB,下載量減少 47.9%。無法解壓縮的瀏覽器則會取得原始檔案。
  • 在主執行緒之外解碼,用完就停止。Meshopt 解碼在單一背景 worker 中執行,閒置五秒後就會關閉。
  • 設定 JavaScript 預算並嚴格執行。首頁的初始 JavaScript 經 gzip 壓縮後為 197,059 位元組,預算為 256,000 位元組,建置流程會自動檢查。
  • 留意請求風暴。Next.js 與 OpenNext 技術堆疊中的一個預測性預先擷取(prefetch)迴圈,在一次失敗的瀏覽器追蹤中發出了 11,704 個請求。解決方法是關閉這些連結的預先擷取,而測試現在要求預測性請求必須為零。
  • 固定解析度,而不是追逐影格率。畫布以固定 1 至 1.5 的裝置像素比渲染。報告也撤回了先前一個仰賴降低解析度才達到的影格率數字,因此我們不引用任何影格率數據。

讓網站在沒有 3D 時也能運作

Janus 有一條影響其他一切的規則:核心體驗必須在沒有 WebGL、也沒有 AI 的情況下運作。全部十個情境的紀錄在關閉 JavaScript 時也能載入,控制項不需要 WebGL 也能操作,而鍵盤旋轉、可見的焦點與減少動態效果,都是隨著每項功能一起打造的。它的無障礙頁面列出了各項控制方式、非視覺的對應內容,以及已知的限制。目標是 WCAG 2.2 AA 等級,並透過在 Chromium、Firefox 與 WebKit 上執行的自動化測試檢查。

這條規則對搜尋引擎與 AI 助理也有幫助:文字、名稱與資料都存在於 HTML 中,而不是在畫布裡。

快速、無障礙 3D 頁面的檢查清單

  1. 先寫出沒有 3D 的頁面。如果 HTML 版本說不通,3D 也救不了它。
  2. 決定 3D 要說明什麼,並刪掉任何只是為了看起來厲害的東西。
  3. 在開始建模前設定預算,包括 JavaScript、模型大小與材質尺寸,並在建置流程中檢查。
  4. 壓縮模型,可使用 meshoptimizer 等工具,以 glTF 格式提供,而當你仰賴 DecompressionStream 等較新的瀏覽器功能時,要保留未壓縮的替代檔案。
  5. 在內容之後才載入場景,而且只在它即將進入畫面時才載入。
  6. 限制像素比,避免高密度螢幕渲染四倍的像素。
  7. 遵循 prefers-reduced-motion 設定,為每個互動提供鍵盤操作方式,並在每個畫布旁提供文字替代內容。
  8. 在真實的中階手機上測試,並使用一種以上的瀏覽器引擎,上線後持續追蹤 Core Web Vitals。

費用

3D 會在設計與開發之外,額外增加建模、最佳化與測試的時間,而替代方案是工作的一部分,不是額外項目。我們報價時,它會出現在我們的哥倫比亞網站製作費用指南所說明的成本因素中,也就是「客製化動態效果、3D 或互動式資料」這一項。

Dardo 如何打造 3D 網站

我們透過互動式 3D 網站服務設計並建置 3D 體驗,較輕量的動態與捲動效果則透過創意開發服務處理。我們為 Hyper 以 React Three Fiber 打造了一個捲動驅動的 3D 故事,將零散的訊號整合成單一的顧客輪廓。如果你有一個需要空間才能被理解的構想,歡迎告訴我們。

常見問題

3D 網站會影響 SEO 嗎?

只要內容存在於 HTML 中就不會。搜尋引擎讀取的是文字、連結與結構化資料,而不是畫布中繪製的內容,所以請把名稱、描述與資料放在頁面中,再用 3D 場景加以強化。

3D 網站在手機上能正常運作嗎?

可以,前提是為模型大小與 JavaScript 設定預算、限制像素比,並在真實的中階手機上測試。也一定要提供不需要 WebGL 就能運作的版本。

應該使用 WebGL 還是 WebGPU?

WebGL 可在所有現代瀏覽器中執行。WebGPU 較新,速度可能更快,但支援程度仍不一致,所以如果要使用它,請規劃 WebGL 替代方案,就像 dardo.studio 首頁的做法一樣。

3D 網站可以做到無障礙嗎?

可以,只要隨著每項功能一起打造無障礙設計:鍵盤控制、可見的焦點、減少動態效果,以及在每個畫布旁提供文字替代內容。Janus Observatory 以 WCAG 2.2 AA 等級為目標。

資料來源與延伸閱讀

本頁內容的資料來源,並附上原始發布者提供的更多詳情。