Play video
Pause video

360°
環景圖

Three.js 互動式 3D 產品展示

2025

360° 環景圖截圖
Scroll
專案類型 互動式 3D 產品展示
開發時間 2025 年
主要技術 Three.js, WebGL

專案概述

360° 環景圖是一個以 Three.js 打造的互動式 3D 產品展示頁面,以 LED 高效能漁業集魚燈為展示案例,讓使用者透過拖曳旋轉、滾輪縮放從任意角度檢視產品細節。

頁面整合了 3D 即時渲染、多色燈光切換、水下場景模擬、X 光透視模式等互動功能,搭配產品規格、傳統燈具比較表與投資回報率分析,兼具視覺展示與銷售說服力。

採用純 HTML5 + CSS3 + JavaScript 開發,無需任何建置工具,透過 ES Module Import Map 載入 Three.js,部署於 Netlify 提供即時預覽。

核心功能

01

360° 3D 互動展示

支援滑鼠拖曳旋轉、滾輪縮放,讓使用者從任意角度檢視產品細節,搭配自動旋轉功能呈現完整外觀

02

即時燈色切換

提供綠、藍、白、黃、紅五種燈色即時切換,LED 面板、光暈環、粒子特效同步更新色彩

03

多模式檢視

內建開關燈、水下場景、X 光透視等多種檢視模式,完整展現產品在不同環境下的表現

04

產品規格與 ROI 分析

整合詳細產品規格表、傳統燈具對比圖表,以及投資回報率分析,兼具展示與銷售功能

技術細節

Three.js 3D 渲染引擎

Three.js 0.163 為核心渲染引擎,透過 ES Module Import Map 從 CDN 載入,無需打包工具。渲染器啟用 ACES Filmic Tone Mapping(曝光值 1.2)與 PCF Soft Shadow Map,呈現電影級的光影質感。

場景加入 FogExp2 指數霧效(密度 0.012),營造深海氛圍的景深感。相機使用 PerspectiveCamera(FOV 45°),搭配 OrbitControls 實現拖曳旋轉(阻尼係數 0.06)與滾輪縮放(距離 4–18)。

3D 模型建構

LED 集魚燈以純程式碼建模(Procedural Modeling),無需外部 3D 檔案。主體由 CylinderGeometry(32 面平滑柱體)構成,頂蓋與底蓋為獨立幾何體。掛鉤使用 TorusGeometry,電纜以 Catmull-Rom 曲線搭配 TubeGeometry 生成。

8 片 LED 面板以 BoxGeometry 環狀排列(角度 = i/8 × 2π),材質採用 MeshPhysicalMaterial,具備 emissive(自發光)、transmission: 0.3(玻璃折射)與 opacity: 0.95(半透明)屬性。7 圈光暈環以 TorusGeometry 疊加,opacity 0.3 營造柔和光暈。

即時光影與動畫系統

動態光源由 4 顆環形 PointLight + 1 顆中央 PointLight 組成,強度隨亮度滑桿即時調整。環境光(0x1a2a4a)與方向光(0x4466aa)提供基礎照明。

LED 面板以 正弦波脈衝動畫(2 Hz)模擬呼吸燈效果:pulse = 0.85 + sin(t×2) × 0.15。水下場景使用雙頻率 sin/cos 波形產生擬真海浪,搭配粒子系統(連續上浮動畫)呈現水中氣泡效果。

互動控制功能

提供六種互動控制:自動旋轉(1.5°/frame)、開關燈(emissive intensity 0–2.5)、水下場景(wavy plane + 粒子特效)、X 光透視(wireframe + opacity 0.15)、燈色選擇(綠/藍/白/黃/紅即時切換)、亮度滑桿(0–100% 連續調節)。

換色時所有視覺元素同步更新:LED 面板 color/emissive、PointLight color、光暈環 emissive、粒子系統顏色,確保畫面一致性。

效能優化策略

Pixel Ratio 上限為 Math.min(devicePixelRatio, 2),避免高 DPI 裝置過度渲染。3D Canvas 僅覆蓋 Hero 區段(非全頁),減少 GPU 負擔。相機阻尼(dampingFactor 0.06)提供流暢的慣性操作,FogExp2 自然裁切遠處物件減少繪製量。

幾何體採用共享策略——光暈環建立一次後多次定位,冷卻鰭片共用相同 BoxGeometry,材質則為各元件獨立實例避免狀態污染。動畫以 Clock-based Delta Time 驅動,確保不同幀率下動畫速度一致。

頁面架構與部署

頁面以純 HTML5 + CSS3 + JavaScript ES Module 開發,無框架、無打包工具。Three.js 透過 Import Map 從 jsDelivr CDN 載入。CSS 採用 CSS Grid / Flexbox 佈局,配合 Glassmorphism(blur 12–16px)面板風格。

響應式設計以 768px 為斷點,行動端切換為單欄佈局、折疊導覽。部署於 Netlify,靜態檔案直接發布(無建置步驟),設定 X-Frame-Options: DENYX-Content-Type-Options: nosniff 安全標頭。

使用技術

3D 渲染

  • Three.js 0.163
  • WebGL 2.0
  • ACES Filmic Tone Mapping
  • PCF Soft Shadow Map

互動功能

  • OrbitControls 拖曳旋轉
  • 即時燈色切換 (5 色)
  • 亮度滑桿控制
  • 水下場景 / X 光模式

前端技術

  • HTML5 + CSS3 + ES Module
  • CSS Grid / Flexbox
  • Glassmorphism UI
  • 響應式設計

部署

  • Netlify 靜態部署
  • ES Module Import Map
  • jsDelivr CDN
  • 安全標頭設定

CONTACT US

有類似需求?讓我們聊聊

不論是 3D 產品展示、互動式網頁或 WebGL 視覺化專案,我們都能為您量身打造解決方案。

聯繫我們
前往展示