余云燦
(廣州工商學院,廣州 510850)
隨著電腦技術的迅速發展,各行業開始與其緊密結合。虛擬現實技術是一種新型的電腦技術,在文物陳列方面有著獨特優勢,用戶可在其中獲得最真實的體驗。通過將虛擬現實技術與博物館進行融合,用戶可在任何地方自由欣賞展品,而不受展臺限制,甚至可在手里把玩,實現博物館的真正意義。虛擬博物館的實現和發展,是當今世界科技和文化建設有機融合的良好例證。
虛擬現實技術是計算機應用技術和科學工程領域的一門新興交叉學科,它綜合了計算機圖形學、多媒體、人機接口、傳感器等多種技術手段,實現人與計算機的相互感知、交互控制和實時通信,使用戶沉浸在一個逼真的三維空間環境中,并進行各種活動。該技術在計算機上利用一定的設備和環境共同模擬創造出一種身臨其境的感覺。用戶可通過鼠標、鍵盤等輸入設備操縱虛擬世界中的對象,并與之進行交互,實現“沉浸式”的三維體驗。[1]虛擬現實技術的結構如圖1 所示。

圖1 虛擬現實技術的結構
虛擬現實技術具有多感知性、交互性和沉浸性的特點,使用戶沉浸到虛擬環境中。其特點包括逼真、開放、交互、安全及感知能力等。其中,逼真是指用戶在虛擬環境中所看到的物體和行為是真實發生的,不是基于計算機生成的圖像或視頻。[2]開放和交互是指虛擬環境是開放的,用戶可與虛擬環境中的物體進行交互。安全是指虛擬環境中的物體在真實環境中存在潛在危險時,虛擬環境會自動發出警告。感知能力是指用戶可感知虛擬環境中的物體,如距離、速度、方向等,并可在其中移動。這四個特點是在虛擬現實系統中實現交互的基本原則,也是技術核心。
Unreal Engine 是由EpicGames 公司開發的一款三維圖形技術平臺,它可以模擬現實世界中的一切,如建筑、橋梁、汽車等,具有強大的渲染性能和豐富的游戲功能。在 Unity 平臺上開發出來的游戲,玩家可多角度欣賞游戲畫面。Unity3d 是一款開放源代碼的3D 虛擬現實平臺,集成了各種3D 引擎和開發工具,功能強大、運行流暢、開發簡便,被廣泛應用于游戲、影視等多個領域。
項目框架由三個主要部分組成:博物館、虛擬現實、Unity3d。虛擬現實技術將通過現有的HTC VIVE VR 設備來實現,Unity3d 是項目的一個平臺,負責開發功能。因為在現實博物館中很難對實物進行掃描,所以大部分文物模型均通過現有的實物圖像來進行建模。博物館的總體布局是九個展臺,七個展臺沿著博物館的墻壁排列,且均有自己的展品,其余兩個展臺則在展廳正中間,可360°觀察展廳全景。因此,在虛擬博物館的總體結構中,首先需構建一個模型,把現存文物模型移植到Unity3d 平臺,然后將其添加到Unity3d數據庫中,再在墻壁、天花板和展臺上建造新模型。博物館虛擬場景制作完成后,著手構建虛擬現實技術,通過 SteamVR 將虛擬場景轉化為一個真實的虛擬環境,然后進行漫游、互動等操作。
在虛擬博物館里,僅靠一個展覽難以全面展現現有文物,因此須增加現實中難有的功能。該項目將完成對文物的拾取、視頻、拼接、漫游等功能。首先因虛擬現實設備空間有限,光靠人腿難以在虛擬世界走動,因此在虛擬世界里玩家可通過網絡進行漫游。該功能需要一個控制器來完成,當按下按鈕,它就會發出一束光,光盡頭就是用戶要去的地方。
其次,現實世界中的文物既珍貴且易損壞,游客很難仔細看清,更別說用手觸摸,而在虛擬世界里就可實現。利用HTC 硬件設備,根據程序進行設置,在與文物保持一段距離后,可將其掛在手柄上,給人拿在手中的感覺,并能近距離觀察,而不用擔憂文物的安全性。
此外,虛擬博物館有類似錄像的功能。只要點擊一下就可將影像和墻上的壁畫連在一起;和壁畫保持一定的距離,就會被選中;按下按鈕,就會出現在墻上;等播放完畢,再按下,就會自動消失。視頻功能概念如圖2 所示。

圖2 視頻功能概念示意
將虛擬現實技術運用到博物館中,可將展廳改造成可裝配藝術品的場所,并在二層放置一個虛擬投影,方便用戶進行拼接。當用戶把手伸到殘片附近時,可將其拾起,移動到與二樓黑影同樣的位置,再扣下扳機,將其插入到虛幻空間中,再重新裝好,即可完成一個完整模型。
根據設計理念,項目主要包括漫游、拾取、視頻、拼接四個功能。
將網上收集的文物照片和類似的文物模型輸入Unity3d 的Assets 檔案,將相應的文物模型圖像逐一輸至材料中即可構建完整的文物模型。
漫游功能的實現主要是通過3DMax 等建模軟件建立場景模型,再將模型導入到Unity 引擎中進行渲染。Unity 是一款開源的3D 引擎,它具有3DMAX 同樣的功能,并且能模擬出豐富的交互效果。在Unity 中可以對模型進行調整、碰撞檢測、添加紋理等操作,還可實現燈光、紋理貼圖、背景音樂等效果。制作漫游場景時需考慮兩個問題:一是場景的貼圖質量,它決定了整個場景的真實感;二是模型之間的碰撞檢測。由于模型之間碰撞檢測需通過三維編輯工具進行,所以在建模過程中就需對模型進行適當修改,以避免不必要的碰撞。
拾取功能同樣以手柄控制器為基礎,在虛擬環境下,操縱桿就相當于用戶的手。其原理是判定目標距離以及運動判定。在游戲中,把手的形狀會變成光亮,提示用戶可以拿起,而當按下扳機時,則會被控制;當觸碰時,會自動將其固定在原地。在扣動扳機的同時,要將文物模型恢復到原本狀態,因此在扣動扳機時,須將文物的方位和奧拉角保存好,同時也要對所拾回的物品進行判定,從而獲得該空間的坐標以及歐拉的視角。
視圖與前面功能一樣,均由操縱桿進行操作。將視頻作用運用到墻上,墻上共五張圖片,其間隔超0.5 f,當距離小于0.5 f 就會再次亮起,亦即按動按鈕就可完成整過程。視頻播放被設定在“movieplane”的plane 中,把plane 移到墻壁上,當視頻播放時,它就會在墻壁上顯示。視頻結束后須重新刪除,否則會影響壁畫效果。因此完成二次射擊后將自動刪除視頻,要重放可對墻壁開槍。
拼接和拾取的作用相似。當手柄與碎片距離小于0.2 f 時,把手會變明亮,說明可舉起模型,再扣動扳機,將碎片靠近虛影中同一部位,再次進行距離判斷。當距離小于0.3 f 時,扣動扳機,將該模型位置和歐拉角度分配到碎片模型上。當碎片移動到投影中同一部位時,所有碎片會被轉移到投影中。
主要包括軟件和硬件兩部分。從軟件開發觀點看,Unity3d 是首要步驟。用戶可登錄其網址,下載一個個性化的Unity3d。再下載 SteamVR,將其與Unity3d 進行連接,再啟動 SteamVR,查看所有硬件組件是否已連接,若全部連接,則該軟件環境已建立。[4]軟件環境如圖3 所示。

圖3 軟件環境
在建立硬件環境時,先將兩臺光學定位器置于預先確定的有效區域兩側,并在系統中設置一個包含地表、移動區域、電腦屏幕等的虛擬區域。接著進行硬件環境搭建。硬件環境如圖4 所示。

圖4 硬件環境
最后建成或發現了49 個文物標本和5 個敦煌壁畫的標本,將它們粘貼在各個展位上進行陳列。按照上面所述的不同特性,可使用鼠標的按鍵進行漫游,即第一人稱的操作,光束的末端可以觸摸到“floor”,即當光束的末端與博物館地面接觸時,它才能進行漫游。經過試驗,可以在博物館內任意位置使用。
當把手與文物模型接觸時,兩者距離不超過0.5 f,這時就可把展品中的任一標本拿起仔細觀察。該距離可讓操縱者在兩個模型之間,不會有任何的BUG。“拿起”文物模型,不但會隨著手柄移動而移動,還會隨手柄的擺動而改變其歐拉角,從而使該項目的虛擬博物館更加逼真。當物品被放置后,會自動歸位,而空白物體會保持原來的位置以及歐拉的角度,不會影響人的視覺,也不會被其他模型所干擾,可以直接將物體的位置和角度分配到模型中。
在博物館拼接區有兩層展廳,一樓擺放著一件被拆卸的瓷器,二樓則是一件完整的瓷器。一樓是一件文物碎片的投影,用來組裝一件藝術品。在把手與一樓模型間的距離不超過0.2 f 時,可將模型從二樓移至0.3 f,再松開扳機,將模型組合在二樓。在該功能實施中,將碎片模型撿起距離是0.2 f,而拼接時碎片的間距是0.3 f,這是為了防止碎片模型被處理時手柄會判斷出碎片位置,從而導致BUG 產生。
在最后這面墻上懸掛著五幅敦煌壁畫,壁畫還具有攝像功能。當手柄與壁畫間距不超0.5 f 時,壁畫將會被激活,按下按鈕后將開始播放。視頻是在另外一個新平面上進行,未預先放在場景中,而是用“召喚”的方式顯示出來,這樣可防止plane 對壁畫的顯示造成影響。與前面兩部分不同的是,0.5 f 的范圍決定了事件的發生,而非行為。在連續兩次扣動扳機后,點擊“移除”按鈕,可看到墻上的“plane”消失,“視頻”也會消失,重新啟動“刪除”按鈕。
上述設計均能很好實現,并且在場景設計、燈光、色彩等方面與真實博物館有很大相似之處。在該“博物館”里,人們可實現觀賞和交流。
虛擬現實技術的應用滿足了人們對虛擬現實的需求,通過人機交互將參觀者置身于一個逼真環境中,為其提供全新體驗。本系統設計采用了基于Unity 平臺的虛擬現實技術,實現了博物館的三維虛擬漫游、拾取、視頻、拼接等功能,用戶通過系統可輕松、自由瀏覽文物藏品信息,了解展品相關背景知識,提供一種全新的參觀體驗。