張婷
(寧夏職業技術學院軟件學院,寧夏 銀川 750001)
在傳統的表現方式中,展示手段無非是靜態的平面圖片和動態的視頻。而基于VR的全景圖像效果是通過對專業相機捕捉整個場景的圖像信息,可以給觀賞者全方位的沉浸式視覺體驗,既可以是全景照片式的,也可以是全景視頻式的,甚至如果拍攝條件允許,還可以是VR全景照片或者全景視頻式的。主要是使用軟件進行圖片合拼,并在Unity3D軟件下進行全景效果的設計和開發,即將平面照片及計算機圖片變為VR全景景觀。目前,VR全景展示已經在旅游、產品、裝修室內效果設計等領域商業應用,為商家展示產品提供了更好的方式。
首先進行該系統展示內容的選擇,展示內容的主體選擇寧夏職業技術學院,主要展示校園的重點且具有特色的地方,根據選擇的地點進行瀏覽路徑邏輯設計,然后進行制作工具的選擇,選擇PTGUI全景圖片拼接軟件和Unity3D游戲引擎作為本系統的開發軟件,進行系統功能開發,VR眼鏡SDK功能開發,開發完成后進行測試、打包、發布。系統制作流程圖如圖1。

圖1 系統制作流程圖
(1)展示內容。本系統選擇學校作為展示的內容,從學校選擇了學校西門、宿舍樓等共14個室外場景,加上教學樓中的VR實驗室、智能家居實驗室等6個室內場景,總共20個展示場景,互相之間依照真實路徑邏輯進行連接(如圖2)。

圖2 路徑連接圖
(2)開發工具。選定了Unity引擎作為開發工具,是因為Unity3D的易用性與VR功能整合性。Unity引擎本身內置了種類非常多的組件,采用csharp作為編輯語言,內部整合了多個VR/AR/MR的SDK,原生支持VR開發內容,這樣就減少了不必要的時間成本投入,將主要精力用于具體的內容實現。
全景圖合成工具使用PTGUI軟件,工作流程非常簡便:①導入一組原始底片;②運行自動對齊控制點;③生成并保存全景圖片文件。軟件能自動讀取底片的鏡頭參數,識別圖片重疊區域的像素特征,然后,以“控制點”的形式進行自動縫合,并進行優化融合。拼接后的圖像明暗度均一,基本上沒有明顯的拼接痕跡。
(3)開發過程。在具體的開發過程,程序部分先根據Unity3D引擎與適配的VR眼鏡SDK搭建虛擬現實的基本環境,在引擎設置上選擇開發VR內容,引擎會自動導入和VR開發相關的所有組件,再導入對應的VR眼鏡專用SDK,搭建開發環境。
美術部分利用魚眼鏡頭相機和云臺在目的地按照順序橫向每30度拍攝一張照片,外加天和地各一張照片,總共14張為一組的廣角照片,導入PTGui全景照片拼接制作軟件制作成為單張全景照片。
在unity引擎場景中,首先,放置一個球形的三維模型,修改該模型材質為雙面渲染,將導入引擎的全景照片賦予此球形材質,使得球形的內部與外部都可以渲染出照片。接著在球形的中心點放置VR相機組件,編輯VR眼鏡的SDK使得虛擬相機與實際VR眼鏡的轉動角度實時同步,將VR相機與unity相連,發布測試運行程序,佩戴VR眼鏡做實際測試,確認相機同步正常后,根據每張全景照片的位置信息,在三維場景中擺放切換按鈕,并編寫程序連接這些按鈕,保證按鈕響應事件與對應的全景照片連接無誤,導出發布到VR眼鏡中,實現VR虛擬現實全景照片觀看效果。
(1)全景展示功能。用戶帶上VR眼鏡進入本系統,使用陀螺儀感應變化跟隨頭部轉動720°全方位旋轉觀看場景,使觀看者有身臨其境的體驗。
(2)場景切換功能。在每個場景中都具有下個地點或者返回上個地點的交互控件,只需要把VR眼鏡的凝視點對準控件兩秒,即可進入該場景,使用者可以在虛擬校園全景照片場景快速移動,無視角限制地參觀。
將系統進行打包測試,安裝到VR眼鏡上做實際測試,確認虛擬相機與實際VR眼鏡的轉動角度實時同步,對旋轉角度偏差進行測試,以及交互按鈕功能進行測試,確保每個交互按鈕正確,場景切換動畫正確,在場景中進行瀏覽觀看,確認所有路徑邏輯都正確,場景顯示全部正確完整,系統功能完全實現。測試并修改完成后,將該系統打包發布到VR眼鏡上的應用市場。
系統基于Unity3D游戲引擎使用虛擬現實技術制作開發的一款校園全景展示系統,本系統主要展示本校的重點場景,使瀏覽的人可以足不出戶逛校園,720°地了解該校園的全貌。本文介紹了如何使用Unity3D和PTGUI進行全景展示系統的制作,希望促進該技術在更多的行業發揮作用。