本篇科技論文探討虛擬現實漫游系統的設計與實現,近年來,虛擬現實成為科技上的一大突破,虛擬現實漫游系統因而誕生。虛擬現實漫游系統是利用三維建模軟件3DsMAX、MAYA等加以游戲引擎如UDK、Unity3D等的配合來實現在電腦中再現現實世界的技術。
《科技信息》雜志是經國家新聞出版署批準、山東省科技廳主管的國內公開發行的旬刊雜志。是省級刊物、山東省優秀期刊。《科技信息》雜志多年來推出以科學探索和研究改革開放、經濟發展過程中出現的各種科學技術、經濟問題及教育理論等方面具有高水平理論文章,是教育和科技工作者刊登論文用于學術交流和職稱評定的的首選刊物。
漫游系統的設計以西北民族大學大學生實踐創新中心為研究對象,利用3DS MAX、Unity3D等軟件,探討了虛擬現實漫游系統的設計與實現過程以及設計過程中需要注意的一些技術上的關鍵問題。漫游系統的設計實現了交互、自尋路徑、碰撞檢測等功能,真實的還原了大學生實踐創新中心場景。
關鍵詞:漫游系統;三維建模;模型優化;游戲引擎
1 系統概述
虛擬現實漫游系統是利用三維建模軟件3DsMAX、MAYA等加以游戲引擎如UDK、Unity3D等的配合來實現在電腦中再現現實世界的技術。西北民族大學大學生實踐創新中心的設計利用3ds max軟件建立模型,Photoshop軟件處理貼圖,最后將模型導入unity3d中設計游戲引擎并發布。
2 數據采集
數據采集階段是系統開發的基礎,西北民族大學大學生實踐創新中心漫游系統的數據采集包括CAD圖紙的設計、建筑參數的測量、建筑實景照片的拍攝以及室內數據的收集等。
利用計算機輔助設計CAD導出的圖紙,精確搭建西北民族大學大學生實踐創新中心建筑模型,不僅使工作效率得到極大的提高,同時模型的精度也是非常高的。建筑的高度難以測量,利用微積分思想,通過數臺階的方式。這樣只需測量每個臺階的高度,就能通過簡單的計算得到建筑的高度。
3 模型建立
3.1建筑建模
漫游系統制作的第一步就是模型的建立,首先,利用已有的西北民族大學大學生實踐創新中心CAD圖紙,將其導入3Ds MAX軟件,采用分層導出的方法進行外場景建筑的制作。
3.2室內建模
室內建模對于還原場景十分重要,直接關系到后期用戶界面的體驗效果。模型精確程度關系到后期紋理貼圖,模型不能過于簡單,因為如果模型過于簡單,模型就會顯得粗糙,導致很多細節都不能表現出來,模型容易失真。但是如果物體的每一個面都用三維模型的面來模擬,又容易產生大量的三角面,增加了每一次的渲染時間。
3.3 建模流程和模型優化
3.3.1 三維建模流程
①涉及到多人參加建模,必須統一單位。
②模型中面片之間的最小間距大于場景中最大尺寸的二千分之一。
如果三維模型中兩個面與面之間的距離小于此數值,會出現這兩個面交替渲染的現象,從而產生渲染時閃爍的情況。三維模型的面片之間不允許有交叉和疊加共面現象,單個的模型不允許出現有破洞的情況,也不可以有黑色反面出現的情況。
③關于模型的結合問題。當三維物體的每一個模型中所有的面片都使用3DSMax軟件經過三維建模和添加對應的材質之后,將材質相同的三維模型附加為一個整體,便于后期的移動和渲染。
④對在同一個平面上相鄰的兩個面可以刪除公共的邊,但是不要形成凹多邊形,保證每個面都是凸多邊形。
3.3.2模型優化
由于系統的資源有限,為在有限資源下使程序運行更加流暢,必須對模型進行優化。在3Ds MAX中,模型的面數對游戲流暢程度的影響極大,面數越多,資源消耗越大,從而游戲流暢程度越低,所以模型優化的一類就是減少面數。減少面數并不能隨意的減少,只有那些沒有貼圖并且看不到的面才能優化,否則就會影響模型的外觀。
4 材質及貼圖的制作
貼圖對于整個漫游系統的真實度起著至關重要的作用,整個貼圖的設計過程包括照片采集、圖像處理、貼圖。
4.1 圖片處理
利用photoshop軟件對圖片進行處理,除了對圖片的顏色、亮度、污點等調整處理之外,由于大多數照片都是以仰拍的形式進行拍照的,所以將圖片調正是貼圖質量的關鍵。將待修改圖片置入ps中,通過選擇扭曲、縮放等功能的配合使圖片調正。貼圖像素不能太高,因為圖片像素過高在3ds Max里難以導入且會增加渲染負擔。
4.2 貼圖
貼圖主要過程包括,材質球設計、將材質賦予物體、添加UVW貼圖。在對外場景建筑貼圖過程中采用孤立物體、貼圖、隱藏已貼圖物體的方式進行貼圖,使整個過程更加方便快捷。
對于地磚等進行貼圖時注意不能在材質球中更改平鋪次數,可以通過UVW貼圖對平鋪次數進行修改。因為如果直接修改材質球中平鋪次數,將模型導入U3D時貼圖的平鋪次數實際上將不會改變。
貼圖過程中還有一個重要的修改器--法線。在貼圖過程中我們遇到貼完圖渲染出來的卻是黑色的問題,這時為模型添加法線修改器便能輕松解決。
4.3貼圖優化
在添加UVW貼圖后,對其進行塌陷全部命令,使模型轉換為可編輯多邊形。建模過程中會有很多命令夾雜重疊在模型上,這樣就會占用很大一部分內存和CPU,從而拖慢電腦的運行速度,對模型進行塌陷后就會去除那些多余的命令等,把所有附加在立體模型上的修改器、貼圖、形態等特征全部固化到模型上,從而節約出大量的內存提高電腦速度。
5 引擎的設計與實現
模型設計完成后,將模型導入unity中從而實現計劃的功能。目標包括:燈光、相機的設置,自尋路徑,語音播放,碰撞檢測,人機交互等功能的實現。
5.1 模型導入前準備
由于3ds Max和unity3d兩個不同軟件之間的差異,制作好的模型并不能直接導入到unity中,我們還必須進行一系列的處理。
單位的處理
在導出模型前,必須在3DMAX中將系統默認單位設置進行修改,這樣才不會在unity中出錯。在3DMAX中,默認的單位是毫米,而在unity中默認的單位是米,這兩個軟件中單位不同。如果不進行相應的處理,將會出現unity中的模型非常小的情況。
模型軸向的處理
模型導出前,必須在3DMAX中將模型的y軸設置為向上。因為在3DMAX中,模型的z軸是向上的,而在unity中向上的是y軸。如果不處理軸向,在3dsmax中正常的模型,導入到unity中將會豎起來。
5.2功能實現
系統功能主要包括人機交互、碰撞檢測、自尋路徑等功能以及燈光、相機的設置。交互功能是實現漫游的重點,將‘上’、‘下’等邏輯功能封裝成角色控制器組件實現第一人稱視角。
碰撞檢測在3D漫游系統中至關重要,是模擬物體遇到障礙物時的物理反應。例如當對象遇到墻壁時,則不能繼續前進。通過為對象添加相應的碰撞器,物體便能夠實現碰撞檢測。
Lightmapping(光照貼圖技術)是一種增強靜態場景光照效果的技術,它可以通過較少的性能消耗使得靜態場景看上去更真實、豐富,以及更具有立體感。
在使用這一技術的時候,必須進行一定的設置。
①啟動unity應用程序,打開大學生創新中心的模型。
②選中模型,在Inspector視圖中,勾選該對象的Static復選框即可將模
型標記為Static,即通知unity這些物體是不會移動的靜態物體,這類對象將會參與到光照貼圖的烘焙。
③依次打開菜單欄中的Window-Lightmapping選項,會彈出Lightmapping視圖。選中場景中的光源方向,在Lightmapping視圖中的Object標簽頁下會出現該光源的設置。
④在Lightmapping視圖中的Bake標簽頁下將Mode項選擇為Single Lightmaps類型。更改Bounces數值為2,設置Sky Light Intensity為0.4。
⑤調整Resolution數值到60,讓光影細節更精細些。
在Scene 視圖右下角的位置,在Lightmap Display 對話框中勾選Show Resolution復選框,即可看到光照圖在模型上的分辨率。
⑥單擊Lightmapping視圖右下角的Bake Scene按鈕,即開始生成Lightmaps。同時unity主窗口右下角會出現進度條。待進度條完成后,結果會在Scene視圖中顯示烘焙的結果。
相關論文