3.4.2 「立體虛擬實境」之現象分析
4. 空間視覺化系統
4.1 系統建製
4.1.6 自動視點定位
建築動畫或虛擬實境模擬人行走的視覺角度時,會以一個高度值來設定人的視點高 度,無論人高或人矮都用同樣的視點高度體驗動畫或虛擬實境中所預先設定好的高 度,這有違人在實體空間中的觀看方式。另外,因為在 VR CAVE 中所呈現出來的 視覺畫面是以 VR CAVE 的中心位置計算(圖 4.9)。所以,在這樣固定的視點下,瀏 覽者得必須站在 VR CAVE 的中間位置方能和虛擬實境中所預設的攝影機位置相同。
而在上一章空間實驗中關於影響瀏覽者對於空間尺度因子亦有「觀看位置」 (Danby, 1962; Heuser, 2004)。立體視覺強化了視覺空間的深度,幫助空間尺度的推算。然而,
在第 3.4.1 與 3.4.2 節對於「設計者」與「觀看者」在「立體動畫」與「立體虛擬實 境」中的空間尺度之原始落差現象為:
現象八與現象十八、立體視覺之雙眼視差過大易產生雙眼不適。
這可能的原因在於以雙眼 6.5 公分所產生的視差,因呈現的螢幕大小與觀看的距離 而有所不同,一樣的立體影像設定,會因播放的螢幕變大,而放大了雙眼的影像視 差,如觀看的距離,沒有相對的拉遠,會容易產生受測者眼睛的不適。
雖然在本空間實驗中,受測者沒有感受到此因子有影響到他們對於空間尺度的判 斷,可能在於本實驗之攝影機之視點與受測者們觀看位置接近。但為了本系統能更 適應每位不同視點位置的空間瀏覽者,將透過一個有紅外光(infrared, IR)的 LED 燈之 偏光式立體眼鏡與 Wii 無線操控器(圖 4.35)的裝置,瀏覽者戴上立體眼鏡後,整合系 統便可即時的偵測到瀏覽者在 VR CAVE 前方的位置,並根據這個位置,呈現符合 瀏覽者之高度與站立位置的視覺透視(Lee, 2007)。(由站立位置,自動調整視差大小)
圖 4.35:左/有 IR LED 燈的偏光式立體眼鏡 右/WiiMote 無線操控器
WiiMote 連線
由於 WiiMote 無線操控器之無線傳輸方式是透過藍芽(blue-tooth)通訊協定與同樣有 藍芽收發器之電腦等裝置溝通。因此,在本系統之伺服端電腦裝上藍芽訊號收發裝
4. 空間視覺化系統
置,與 WiiMote 建立可資料相互傳遞的連線(圖 4.36)。在 Quest 3D 中,可透過 WiiMote command channel 取得 WiiMote 上按鈕、加速器、紅外光 2D 座標等資料。圖 4.37 為 WiiMote 連線與兩個 IR LED 燈之二維座標取得的主要 channel group,圖左邊的 channel group 是以 IsConnected 判斷圖 4.36 之 WiiMote 是否與伺服端電腦建立藍芽連線,如 果沒有,則傳遞一個 value 值為 0 的參數到 expression value(!A&B)的 channel 裡,等待 電腦鍵盤是否按下 C 連線,如果按下 C 鍵,則透過 connect channel 連接 WiiMote。取 得伺服端與 WiiMote 的連線後,在 WiiMote 上所偵測到的第一個 IR LED 燈便會由 Get IR camera data channel 取得 IR LED 之 X 與 Y 座標的資料放到 L1 Value Vector 裡,
偵測到第二個 IR LED 燈後再放到第二個 L2 Value Vector 裡。因此,WiiMote 或 IR LED 燈有任何一方發生位移,便都會被轉換為相對應的 XY 座標值。
圖 4.36:WiiMote 與伺服端電腦的藍芽連線
圖 4.37:WiiMote 連線與 IR LED 點座標取得
3D 座標定位
圖 4.38 兩個紅色點 L1、L2 為 WiiMote 透影像偵測,取得兩個 IR LED 燈之 X 與 Y 座
標位置在 Quest 3D 裡的顯示,其 L1、L2 兩點的 XY 座標取得如圖 4.38,而中間的綠 色 3D 游標(cursor)則是透過 L1、 L2 兩座標計算後的中間座標值。圖 4.39 為計算 3D 游標之 XY 座標的主要 channel,其最上方為一個 vector 型態的 ChannelSwitch,A|B 為一個 expression value,判斷是否有同時偵測到兩個 IR LED 燈,如只是偵測到其中 一顆 IR LED 燈時,3D 游標的 XY 位置就引用單一的 IR LED 燈 XY 座標,而如是偵 測到兩個 IR LED 燈時,則透過 Add two vectors 與 Divide values 兩個 channel 將兩組座 標做相加後除以 2 的計算,取得綠色 3D 游標在兩個 IR LED 燈的中間座標值。
圖 4.38:透過兩個 IR LED 座標取得 3D 游標之 XY 座標
圖 4.39:計算 3D 游標之 XY 座標的主要 channel
當瀏覽者戴上兩邊有 IR LED 燈的偏光式立體眼鏡時,Get IR camera data channel 只能 取得兩個 IR LED 燈之上下左右時的 XY 垂直水平座標,而無法取得有深度的 Z 座
4. 空間視覺化系統
標,但以影像式偵測兩點在一視窗中,會有一個現象是,當透過 WiiMote 以近距離 拍攝兩個 IR LED 燈時,兩個 IR LED 燈在 WiiMote 的鏡頭裡是呈現較遠的距離,當 把兩個 IR LED 燈拉到一定的距離時,在鏡頭裡的兩個 IR LED 則會越趨近於一點。
因此,對於 Z 座標的計算,我們以兩個 IR LED 燈在 Quest 3D 產生彼此距離變化的 關係推算 Z 座標的位置,但會產生如表 4.4,立體眼鏡之 IR LED 與 WiiMote 以 30 公 分為等距做移動時,但在 Quest 3D 裡對於兩點距離的變化確呈現非等距的變化,而 是隨著立體眼鏡與 WiiMote 拉遠,Quest 3D 裡兩點間的距離則趨於越小的變化。為 了將此一不等距的變化調整成一個較等距的變化,我們透過 Quest 3D 裡的 envelop 形態的數值 channel,能根據表 4.3 裡的 Quest 3D 距離參數,修正成一個較等距變化 的參數輸出,如圖 4.40 為 Quest 3D 裡的 envelop 形態的數值圖表,是根據表 4.3 實際 間距與 Quest 3D 距離的對照關係所建立的圖表,圖表中垂直軸向代表實際間距的等 距距離,水平軸向的則代表兩個 IR LED 燈在 Quest 3D 的距離。當圖 4.41 左邊 channel group 判斷有無偵測到兩個 IR LED 燈,如有則算兩個 IR LED 燈的 Quest 3D 距離,並 將這個距離參數連接到圖 4.40 的 channel 裡, envelop channel 便會依據曲線的對應關 係,將水平輸入的參數,以垂直的間距參數輸出,形成一個較等距輸出的 Z 軸變化。
表 4.4:LED 位移與 Quest 3D 裡之兩點距離
實際間距(公分) 30 60 90 120 150 180 210 Quest 3D 距離 0.6 0.3 0.2 0.15 0.12 0.1 0.09
圖 4.40:envelop 形態的數值圖表
圖 4.41:計算 Z 座標的主要 channel
最後,再由圖 4.42,將經由兩個 IR LED 座標取得的 3D 游標之 XY 座標,以 Add two Vectors channel 加上最後所推算出來的 Z 座標,再經由 Set Vector channel 將有 IR LED 燈的立體眼鏡的 3D 定位座標傳送到一個新的 Value Vector channel 裡,瀏覽者在螢幕 前站立的 3D 位置,便能與 3D 場景裡攝影機所預設的位置 Self-control Camera Matrix 做部份的調整,攝影機透視位置便會調整成瀏覽者觀看視點上的位置。另外,經由 兩個 IR LED 所推算的深度 Z 軸位置則可用來判斷瀏覽者站在距離立體螢幕多遠的位 置,圖 4.43 則是依據瀏覽者站在立體螢幕前的距離來調整立體視覺雙眼視差的大 小,在本系統所設定的是當瀏覽者離立體螢幕 30 公分時,其雙眼視差 eye distance 則自動調為 0.01,當大於 240 公分後,則又會自動調成 0.06。
圖 4.42:取得 IR LED 立體眼鏡之 3D 定位座標
4. 空間視覺化系統
圖 4.43:Z 座標與雙眼距離的 envelop 與立體 channel 設定
4.1.7 小結
本系統整合了「水平視覺範圍擴展」、「自動空間測距」、「自動空間導引」、「平、立、
剖面圖介面顯示」、「自動雙眼聚合視覺呈現」與「自動視點定位」等功能元件,其 系統執行的主要流程架構如圖 4.44。系統在起動後,會停留在一個準備連線的狀態,
即是圖中的「伺服端/客戶端網路連線」,設定好那一部為伺服端電腦與那三部為客 戶端電腦,之後建立網路的主從連線。第二步是建立與 WiiMote 的藍芽連線,將空 間瀏覽者的三維座標傳入伺服端電腦。最後再依傳入的三維座標將空間場景內容呈 現在 VR CAVE 中。圖中最底下本系統整合之元件,黑色粗邊元件是一直處於即時 運作的元件,而雙細邊則是由瀏覽者操控才會被起動的元件。表 4.5 與表 4.6 則是本 系統之起動與導覽的操作指令。
Start
伺服端/客戶 端網路連線
WiiMote 藍牙 連線
水平視
4. 空間視覺化系統