譚 政, 何 磊, 陳 美 , 張萬萍 *
(1.貴州大學 科技學院, 貴州 貴陽 550025; 2.貴州大學 農學院, 貴州 貴陽 550025)
虛擬現實技術(VR)是以計算機技術為主的一門新興技術性學科,融合計算機三維圖形技術、模擬技術、傳感技術、人機界面技術、顯示技術和伺服技術等,已在教育、醫療、軍事及工程技術等領域得到廣泛應用。張杜鵑等[1]將虛擬現實技術與無線網技術相結合,設計一套虛擬農業專家系統,該系統利用作物現場的終端設備對作物生長情況進行實時監測與分析,并及時調用專家系統中的虛擬解決方案進行針對性的處理。利用虛擬農業技術,可預先有針對性地對作物品種、基因及生長環境進行改良和模擬,有效地降低成本,提高生產效率[2]。園林景觀中,將虛擬現實技術與宣傳相結合,幫助人們體驗因多種因素無法進行現場體驗的現實效果,提升科學普及、學習及創新科技的效果,將多樣的公共服務效果進行全方位展示,增強景區的吸引作用[3]。但虛擬現實技術在觀光農業中的應用研究較少,且由于觀光農業園區面積較大,體驗者較難實現對整個園區的游覽,感受整個園區的設計及功能等。為此,以遵義市泗渡鎮匯川區城郊都市觀光農業示范園為研究對象,采用3dsMax、Maya和Zbrush等進行園區場景建模,利用Unity 3D交互式虛擬仿真技術,通過數據及模型將傳統的農業觀光園實現可視化的三維虛擬再現,旨在為體驗者對都市觀光農業園區的休閑體驗提供便利并提高其宣傳效果。
首先根據園區概況進行區位分析,確定園區規劃思路與建設布局,然后采用3dsMax、Maya和Zbrush等進行園區場景建模,利用Unity 3D交互式虛擬仿真技術,通過數據及模型將傳統的農業觀光園實現可視化的三維虛擬再現,系統制作流程見圖1。
Fig.1 Production process of interactive virtual simulation platform for agricultural sightseeing park
園區地形模型大、規整,對地形模型的精度要求不高。Sketchup是相對簡單的三維建模軟件,操作簡單,制作模型較快,但其精度較3dsMax、Maya和Zbrush等制作的模型低,適合制作規則且精度要求不高的模型。因此,選擇Sketchup制作園區地形模型(圖2)。
圖2 Sketchup制作的園區地形模型示意
Fig.2 Schematic diagram of the park terrain model produced by Sketchup
對于簡單規則的模型,3dmax模型貼圖是直接從材質面板中尋找材質,再找到貼圖路徑直接將材質賦予模型。以結球甘藍為例(圖3A),主要采用次世代流程貼圖進行制作。在3dmax中展開及擺放UV,前期模型制作規范,后期展開UV即相對順利。一般模型上的棋盤格大小不同,若不對其進行調整,繪制貼圖的紋理會產生局部清晰和局部很模糊的現象。因此,應將棋盤格的比例大小調整至合適程度,貼圖中黑白格子分布均勻,表示貼圖與模型的匹配效果好(圖3B)。根據模型部位的重要程度合理地分配UV,相同部件和對稱部分,只需拆分1個或1/2個UV,然后通過鏡像復制來保證模型的完整性,最大化地利用僅有空間(圖3C)。導入前,應再豐富結球甘藍模型,然后將貼圖賦予結球甘藍模型。在漫反射顏色(Diffuse color)通道中制作TGA格式貼圖。將Photoshop中貼圖復制至透明(Opacity)通道,然后進入透明(Opacity)通道面板,在單通道輸出(Mono Channel Output)面板中選擇Alpha選項,最終完成結球甘藍模型的整體制作效果(圖3D)。
由于Unity 3D引擎對模型的要求相對較高,Sketchup和3dsmax按常規制作的模型精度達不到要求,將其制作的模型直接導入Unity 3D引擎,將導致系統運行不流暢甚至不能運行,所以要對做好的模型進行優化。運用次時代流程做出的模型面數少和精度高,符合Unity 3D引擎要求,根據其承載量對模型進行刪減,讓模型在引擎中正常運行。
以Photoshop制作的UI界面由顯示區、大功能區和功能菜單區3部分組成。顯示區:當選擇某個功能模塊時即通過顯示區呈現。大功能區:按農業觀光園區的規劃分為3個板塊,即了解園區、景點預覽及服務配套功能。功能菜單區:分為虛擬體驗、智慧導游、地理信息、精彩圖庫和景區影像5個部分(圖4)。
導入Unity 3D工程文件,制作圖形用戶界面和UI界面,就可以在Unity中看到之前建好模型、貼圖、搭建好的虛擬場景。以模擬蔬菜種植區為例,前期的模型制作和貼圖制作讓整個模型得到逼真顯示(圖5),戴上VR眼鏡的視覺和聽覺效果好,可聽到周圍風聲、雨聲和鳥鳴聲,有置身菜園的感覺。
Unity 3D的腳本功能可用編碼來控制場景中的各種要素,體現出其強大的業務處理能力以及交互功能。如,一個“移動”腳本文件,綁定到某個物體,該物體就能實現“移動”功能,同時還能在腳本里控制指定物體。當UI與腳本相互獨立時,可直接使用寫好的腳本或做好的UI,從而實現快速開發。而基于Unity3D開發的腳本其代碼不易調試,但可采用print函數打印要調試的結果。在Unity制作場景流程完成后,要對場景進行打包輸出和發布,輸出功能仍然是Unity 3D引擎的重要方面,可通過File文件菜單下的Build Settings進行輸出前的設置。在彈出的窗口面板中,可選擇PC、Web、ios、Android、Xbox、Ps和Wii等多種平臺格式,并進行相應的發布設置。在Unity 4.2中新增了對Windows 8、Windows phone 8及Black Berry 10的支持平臺,這樣Unity引擎所支持的移動平臺增至4個,即Android、ios、Windows phone 8和Black Berry 10。
Key制作完成后就可在Build Settings面板中單擊BuildL打包輸出APK程序,輸出前要注意在游戲視圖中選擇合適的屏幕分辨率(尺寸)。然后可以登錄Google Play網站頁面上傳場景程序,經過一系列的提交步驟和網站審核后,即可在谷歌商城中看到分享的場景程序;構建的虛擬園區場景發布Unity網頁播放文件和上傳到網站服務器即可。
基于Unity3D在農業觀光園中的開發與應用,在前期合理規劃布局的基礎上,通過園區地形模型制作、三維圖像制作、模型的優化后導入Unity3D,最終發布到網頁,通過系列流程得到農業觀光園虛擬體驗系統。但研究僅為農業觀光園區的交互式虛擬現實技術的初步結合,在園藝學科的深度應用還很有限,如與園藝作物種植結合,可參考干果倉儲智能叉車交互式虛擬仿真平臺設計與試驗[4]。此外,要做Unity3D和園藝的結合,涉及的軟件很多,該研究僅涉及相對重要的軟件應用。21世紀的都市觀光園藝是融農業、工業和社會服務業為一體,第一、第二和第三產業協調發展,是最具發展活力的新型產業,對新設施、新技術的要求也越來越高。近年來,更自然、更快速和更高精度的虛擬交互技術和設備相繼出現,如數據手套、頭盔、近紅外手勢識別及 Kinect、Leap motion等體感設備[5-7],如果能將這些虛擬交互技術產品應用于觀光園藝的發展中,必然會增加虛擬園藝的體驗感、交互性和趣味性。