
設計理念
裝置設計概念試圖建立能「回應注視」的動態數位地形,藉視覺與環境產生直接連動。觀看者不再是外部觀察者,而成為能牽動地形節奏的動力來源,視線的漂移即是環境的變形條件。
整體美學基於極簡主義(Minimalism)。線框結構取代厚重材質,場景剝除色彩與紋理,讓幾何起伏與光影關係成為唯一視覺語言。此ㄧ簡化將注意力導向動態本身的手段,使觀者得以專注於地形的節奏、傾斜與呼吸。
沉浸感則來自誇張的視差效果與視角偏移。當使用者的注視點稍微偏移,攝影機便以緩慢、具重量感的運動進行回應,使視線在場景中的位置成為控制參數。地形因而呈現出某種「反饋性」:仿佛具有感知能力的有機物,會因人的觀看而傾斜、彎曲或被吸引。
自然語彙透過數學雜訊得以生成。柏林雜訊(Perlin Noise)的波動在畫面中模擬山脈線條、潮流堆疊或雲層斷面,讓程式碼與自然之間的距離被壓縮。地形並非靜態,而是在時間軸上不斷演進,在冷硬算法中生成持續流動的「數位自然」。
作品以極簡線框、沉浸式回饋與雜訊生成的數位自然(Digital Nature)共同構成「由觀看驅動的世界」。這個世界沒有預設路徑,而是依使用者的凝視重新排列自身。
技術架構及演算法
系統以輕量化的單頁應用程式架構實作,所有核心運算皆在前端完成。
技術核心由 Three.js 與 WebGazer.js 組成:前者負責 3D 場景的建構與渲染,後者負責偵測與預測注視位置。兩者結合後,視線便能直接牽動 3D 攝影機與場景傾斜。
WebGazer.js 利用瀏覽器影像與回歸模型在本地端建構瞳孔到座標的映射關係。眼動資料經卡爾曼濾波(Kalman Filter)進行初步平滑後,再透過線性插值(Lerp)處理,使攝影機移動帶有阻尼感,避免突兀或造成暈眩。注視因而不再是一個抖動的點,而是具有慣性與方向性的飛行動線。
地形的核心來自改良後的柏林雜訊演算。每個頂點的高度由噪聲函數輸出,並在時間軸上不斷更新。隨著時間參數加入噪聲運算,地表會向前「流動」並產生局部變形,使景觀保持新鮮且不可預測。這種持續演化避免重複循環,提供更貼近自然的節奏。
Z = Noise(x \times freq, y \times freq - time \times speed, time \times 0.1) \times amplitude
流動原理:
- 在 Y 軸參數中減去
time,創造出地形向「前」流動的視覺錯覺。 - 在 Z 軸參數加入微量的
time,讓地形在流動的同時也會發生型態的演變(Morphing),避免重複感。
視覺深度與動態張力主要透過視差控制達成。攝影機的位移與地形的旋轉均與注視位置連動:視線偏左時,地形感覺向左傾斜;視線上移時,地形以相反姿態向觀者「迎面而來」。這種反向傾斜在心理上製造空間的重量,也讓觀看者的身體感受被納入運算的一部分。
互動流程從校正開始。系統引導使用者點選螢幕上的位置以校正瞳孔映射。完成後,多餘的 UI 元素被移除,場景進入純粹的沉浸模式。如果眼動資料不足或追蹤中斷,系統會自動降級至滑鼠操控,以維持完整的操作體驗。
整體演算法邏輯可視為三層的協作:
- 眼動資料的捕捉與平滑化;
- 地形的噪聲驅動生成;
- 視差、旋轉與攝影機動態的整合。
三者共同架構由「感知—生成—反饋」構成的迴路,造成虛擬地形成為回應人類凝視的動態媒介。