• 沒有找到結果。

3.4.2 「立體虛擬實境」之現象分析

4. 空間視覺化系統

4.1 系統建製

4.1.3 自動空間導引

在一個由虛擬實境所呈現的不熟悉空間中,如欲從起始位置到達目的空間,沒有相 關資訊(如路線圖或空間平面圖)的輔助,需要透過大量的尋路(wayfinding)時間,方能 到達目的空間;但為了讓瀏覽者容易到達想去的空間,通常會透過超連結(hyperlink) 方式,直接從所在空間立即切換到另一空間去(Fukuda et al., 2005),或是以最短路徑 方式,超越實體物理空間的限制,直接穿透牆面到達目的空間(Wu et al. 2004),然而 這樣的空間切換方式,不易讓瀏覽者了解空間與空間中的空間組織與空間動線。在 3.4.1 節對於「設計者」與「觀看者」在「立體動畫」中的空間動線之原始落差現象 為:

現象十、攝影機運鏡呈現的動線因子會影響受測者對空間動線的了解。

現象十一、攝影機運鏡在動線上轉彎時,缺少動線視覺線索時,易誤判斷轉彎的角度。

與 3.4.2 節對於「設計者」與「觀看者」在「立體虛擬實境」中的空間動線之原始落 差現象為:

現象二十一、空間動線中轉彎處越多,越容易增加對空間動線的錯誤判斷。

所以如空間動線本身的設計就已較多的轉彎處,相對,在透過動畫呈現空間與空間 之動線,或虛擬實境由瀏覽者自行導覽時空間動線,容易造成受測者在空間中迷失 方向感而對空間組織產生誤判。尤其是沒有建築設計背景者,對於空間之動線與組 織,大多只能透過個別空間與空間之間判斷兩者空間的關係,但瀏覽的空間一多時,

便會較無法正確的辨識出整體的空間組織。因此,相較於一般虛擬實境的自行探索,

具有動畫之主動敘述的特性,能讓空間瀏覽者容易的到達目的空間,同時能更精確 的了解空間連結動線,本系統加入此自動空間導引功能,即是瀏覽者從操作介面上 選擇欲前往的空間後,空間的轉換則依真實空間行走方式,先由所在空間中的出口 離開,經由空間動線到達瀏覽者所選擇的空間,如圖 4.16 所示,欲從空間 A 到達空 間 C 時,本系統將由虛擬的引導員(圖 4.17)自動導引空間瀏覽者走戶外的樓梯或另 一路徑空中走道經空間 B 到達目的空間 C。

圖 4.16:空間 A 至空間 C 之自動導引路線圖

圖 4.17:虛擬引導員

4. 空間視覺化系統

尋路節點設定與尋路

自動空間導引功能在製作上,為了可以自動行走到選定的目的空間的功能,必需要 在每個可行走的空間中或動線上,設定路徑節點,如圖 4.18 是在 Quest 3D 路徑搜尋 圖形(Pathfinding Graph)裡設定的路徑節點,路徑節點根據 3D Graph channel 底下的 source object 所連結的 3D object channel 決定那些模型是可以被設定路徑節點,每個 節點都有一個節點編號及其對應的 3D 座標,而這些被設定好的路徑節點資料被儲 存在 3D Graph channel 裡,再由 MotionPlanning channel 以最短路徑搜尋演算法 (algorithm)A*(A start)尋找出起始點到目的節點之可以自動行走的路線。圖 4.19 為 Quest 3D 裡最短路徑搜尋之主要 channel,左邊起第一節點是起始位置,將目前位置 傳入 MotionPlanning channel,第二節點為目標位置,瀏覽者選擇一空間後,透過一個 數值陣列(array value)所對應的路徑節點參數,經由 MotionPlanningInfoVector channel 轉變成向量的目標位置。最右邊節點則是 3D Graph channel,除了設定路徑節點在此 channel 外,其底下所連接的節點還必需設定那些碰撞物件是屬於可行走的地板、階 梯等,還有那些是屬於不可穿透的碰撞物件。

圖 4.18:空間路徑節點設定

圖 4.19:最短路徑搜尋之主要 channel

虛擬引導員

在此虛擬引導員的製作上,我們從 3D Max 輸入了一個套有動作骨架的 3D 角色(圖 4.20),動作骨架能讓靜態的 3D 角色模型依骨架的動作,產生相對應的模型形變,因 此,當骨架有任何動作變化,外層的表皮模型也產生相同的動作變化。在 Quest 3D 裡,3D 角色模型的 channel 群組如同一般的模型一樣(圖 4.21),從最上層的 3D object channel 分 motion channel 群組和 surface channel 群組,motion channel 群組這和一般模 型的 motion channel 群組相同,主要是改變模型的位置,而在 surface channel 最大的 差別在於 3D 角色模型必需跟著骨架動作變化,所以在 surface 底下必需再連接一個 SkinnedCharacter channel,負責將 3D 角色模型資料的 3D object Data 與存有骨架動作 資料的 MotionSet channel 作形變後,再輸出到 surface channel。在本系統之虛擬引導 員有兩組的動作,一個是等待時的動作,另一個是走路時的動作,這兩組的動作分 別被存在 Idle MotionSet 與 Walk MotionSet 的 channel 裡。這兩個 MotionSet channel 則 是透過一個 MotionBlender 連接到 SkinnedCharacter channel,Motion Blender 會根據底 下 Value Damping 值,決定使用那一個 MotionSet 作為 3D 角色模型的動作狀態。Value Damping 是一種尚需連接阻尼(damp)參數的數值 channel,能將數值 1 到 0 或 0 到 1 透過阻尼參數,以較平滑方式轉變 0 與 1 之間的數值,主要的用意在於這樣的平滑 轉變能讓等待時的動作與走路時的動作,在缺換的過程中是以漸變方式,由等待轉 變為走路,由走路轉變為等待。而等待與走路則取決於目前 3D 角色的速度 AI Character Speed,如其數值太於 0 則表示走路,為 0 時則是等待狀態。

4. 空間視覺化系統

圖 4.20:3D 角色與動作骨架

圖 4.21:虛擬引導員的主要 channel