陳小飛 陳曉君



摘要:本文以地鐵軌道交通環控系統項目為例,對虛擬現實與仿真關鍵技術進行了開發流程論述:提出了符合虛擬現實與仿真項目的模型制作規范;分別介紹了3ds Max和Unfold3D軟件制作UV的技巧;針對紋理貼圖詳細闡述了AO貼圖與高真實感的PBR材質制作流程;最后論述了UGUI控件、Unity3D功能組件以及C#腳本語言在地鐵軌道交通環控系統項目開發中的作用。本文的研究對于虛擬現實與仿真項目的開發具有較好的理論指導和實際操作借鑒意義。
關鍵詞:虛擬現實與仿真;Polygon建模;展UV;紋理制作;Unity3D
中圖分類號:TH112 文獻標識碼:A 文章編號:1007-9416(2020)03-0170-03
隨著計算機軟硬件技術的快速發展,特別是5G技術即將到來之際,虛擬現實與仿真技術被廣泛地應用于教育教學與培訓、工業高端制造、能源安全作業仿真、建筑工程展示、虛擬博物館、生態旅游展示等各行各業。如國家電網上海市電力公司市北供電公司進行的電力培訓虛擬現實系統的開發,使受訓人員佩戴虛擬現實設備完整地學習電力作業流程、操作電力設備,完成現實中需要培訓的危險工作[1];西安石油大學霍愛清教授將虛擬現實與仿真技術運用于鉆井工程三維動態仿真,取得良好效益[2]。深圳地鐵軌道交通環控系統虛擬現實與仿真系統是深圳同立方科技公司和我校合作開發項目,運用3ds Max對地鐵軌道交通環控系統進行設備對象和場景搭建,運用Unfold3D對模型進行展UV,運用Unity3D進行系統互動開發從而實現整個環控系統的仿真使用。本文主要討論地鐵軌道交通系統內部虛擬仿真模型建構、Unfold3D展UV、紋理貼圖制作、AO及法線貼圖烘焙以及模型在虛擬交互開發引擎中的應用等相關關鍵技術。
1 Polygon建模技術
一般來說主流的3D建模軟件是3ds Max和Maya,3ds Max在游戲、虛擬現實、室內設計與建筑等領域運用比較廣泛,本項目采用3ds Max的Polygon(多邊形)建模方式,將對象轉化為可編輯多邊形對象,對頂點、線、面等進行編輯和修改實現建模過程。從技術來說,Polygon(多邊形)建模方式容易操作和掌握,也可以通過添加線條不斷細分對象,完成復雜模型的建構。根據深圳地鐵軌道交通環控系統項目需求,該系統需要建立包含公共區、設備管理用房、車站隧道、區間隧道、站廳層、站臺層以及相關設備和物件的虛擬仿真模型。大量的場景模型在實時的虛擬現實和仿真系統中運行必然占用計算機的運算資源,這就要求模型建構不同于一般的動畫制作和室內外建筑裝飾設計,必須高效簡潔,符合以下模型制作規范:
(1) 確定模型定位標準和統一單位設置、命名規則。一般來說這個標準是CAD底圖,根據CAD底圖區域確定模型的位置,導入到3ds Max的CAD底圖放在原點(0,0,0)的位置。統一的單位設置和命名規則,方便項目組成員互相調用、協作合作,提高開發效率。
(2)精簡面數。在盡可能展現模型的精美程度下使用最少的面數,將場景和對象多余的面以及看不到的面刪除,如車站墻體的底部和靠墻物體的背面,以便提高貼圖的利用率和交互場景的運行速度。
(3)規范布線。優化線面,避免產生大于四邊的面,模型無廢點廢線、布線符合結構表現需要。
(4)塌陷模型。在模型經過紋理貼圖后遵循“一場景一物體”原則將模型塌陷,相鄰之間類似的模型可以塌陷成一個物體,塌陷時注意碰撞檢測空間,如果相鄰物體之間有通行行為或交互活動則不可以塌陷。
2 展UV技術
展UV直接決定貼圖的繪制,好的UV可以使貼圖繪制更加方便和高效。地鐵軌道交通環控系統場景多樣,物件數量類型不同,合理安排和利用不同技術展UV有利于紋理貼圖繪制和縮短項目開發周期。
對于車站、站廳、設備房等大型建筑類場景,由于結構比較方正,直接利用3ds Max中的UV編輯器進行編輯,過程中注意后期重復貼圖的部位將UV重疊在一起,原則上遵循“一場景一貼圖”,對于硬邊過渡的模型,如墻體地面等使用自動展開,軟邊復雜模型手動指定模型接縫,使用剝皮技術攤平處理;對于虛擬場景中動畫漫游角色和少數復雜形狀的模型,采用Unfold3D軟件技術進行展UV,將3ds Max中建好的模型導出Obj或Fbx格式,再輸入Unfold3D軟件進行展UV。Unfold3D提供直觀、快速、可擴展、高質量的UV展開技術[3],需注意的是模型不能出現多余的點、重疊的面等錯誤,可以利用3ds Max修改器中的STL Check修改器來檢查模型導出時可能出現的錯誤,修正后再導入使用。
3 紋理貼圖制作技術
地鐵軌道交通環控系統虛擬現實與仿真系統最直觀的體現是對真實環境的再現,通過計算機技術模擬真實場景,首先要求視覺上的高真實感。這就要求場景和物件對象的模型和實際對象高度一致。如果通過高模去表現,將會在實際運行中消耗大量計算資源,演示和交互不流暢,產生極差的用戶體驗,因而紋理貼圖的制作極為重要。
3.1 運用Alpha貼圖表現窗戶、欄桿等模型對象
地鐵車站、站臺、設備房間等有大量窗戶和圍欄,如果都通過建模來實現,必將大量增加模型的數量和面數。對于這種有鏤空效果的模型,我們通常運用Alpha貼圖來實現。一般來說有兩種方法:第一種是運用一張包含Alpha通道的PNG格式貼圖,分別賦予給MAX中的漫反射和不透明度通道,進入不透明度通道,在位圖參數中選擇單通道輸出為“Alpha”;第二種是運用兩張貼圖,一張是RGB顏色貼圖,賦予給漫反射通道,另外一張是黑白圖代替Alpha通道信息,賦予給不透明度通道,參數設置默認即可。值得注意的是第一種方法會留下少許白邊,推薦使用第二種方法,將RGB顏色貼圖的底色填充為鏤空邊緣相近的顏色,可以消除白色邊緣瑕疵。
3.2 運用3ds Max渲染AO貼圖
AO(Ambient Occlusion)也叫“環境光遮蔽”,描繪了物體和物體結合處受周圍漫反射光線遮擋的效果,解決或者改善場景中縫隙、褶皺與墻角、角線以及細小物體等漏光、陰影處表現不清晰問題,更好地表現暗部細節,增強場景空間的層次感、真實感,使畫面明暗對比清晰,豐富藝術表現。
制作上,首先設置環境光為白色,如圖1設置渲染器,將抗鋸齒等勾選,接著設置高級照明中的光跟蹤器如圖2所示,接著添加天光,根據需要設置倍增,然后打開渲染到紋理面板,根據需要對輸出路徑、烘焙方式、貼圖尺寸、烘焙材質進行相應的設置,在所有參數設定好之后,最后渲染得到一張符合需求的AO貼圖。
3.3 運用Substance Painter制作PBR材質
Substance Painter是一個實時渲染的3D繪畫軟件,既可以直接在模型上繪制紋理貼圖,還可以將模型的高度、位置、AO等信息全部烘焙出來,由于其支持PBR(Physicallly-Based Rendering)基于物理渲染最新技術,近年來被廣泛地用于虛擬現實與仿真、影視、游戲設計與開發等領域。其制作方法如下:首先,新建項目把FBX文件和烘焙好的AO貼圖添加進來如圖3所示,查看AO貼圖的效果和模型是否有問題,如有返回3ds Max進行修改;接著進行紋理烘焙設置,選擇烘焙貼圖的類型如圖4所示,烘焙好之后把原來在3ds Max中渲染的AO貼圖放入Ambient Occlusion通道;然后使用筆刷、調整材質繪制和制作適合項目對象的紋理貼圖。材質貼圖制作好之后,導出顏色、高光、法線三張紋理貼圖,把AO貼圖與顏色貼圖在Photoshop中做正片疊加,使模型結構更加清晰,暗部細節更豐富,如圖5所示。
4 Unity3D互動開發技術
地鐵軌道交通環控系統開發工具采用Unity3D,是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具[4]。Unity3D互動開發技術由于其高效便利,也是目前虛擬現實與仿真領域應用最為廣泛的軟件之一。其具有三大優勢:第一,項目跨平臺發布,支持Windows,Mac,iPhone,Android等10余個主流平臺發布;第二,易用易學,編輯界面可視化,所見即所得的環境使得無論是有無編程基礎者都能獲得很好的使用體驗;第三,功能齊全,開發高效,Unity3D擁有游戲領域幾乎所有的功能模塊,完全能夠滿足虛擬現實與仿真領域互動開發技術的需要,除此之外Asset Store還可以提供豐富的資源,有效縮短開發周期。
4.1 UI交互設計
利用Unity3D的UGUI控件實現地鐵環控系統的UI設計。UGUI是unity3D原生支持的,隨著版本的升級完善功能逐漸強大且易用便利,基本控件包括Button、Lable、TextField等,可以完成虛擬仿真項目登錄界面、標題欄、菜單欄、工具庫、當前使用工具、地圖面板、消息面板等UI及交互設計。
4.2 系統互動開發
利用Mecanim動畫系統實現地鐵環控系統動畫漫游和控制,如人物角色的行走動畫及物品抓取動作控制;利用粒子系統實現火災和光影特效,如車站出現火災煙霧災難;利用物理引擎實現剛體對象碰撞檢測,如角色走動過程遇到的墻壁、欄桿等障礙物;利用C#腳本語言來開發系統軟件邏輯功能,如設備和任務選取、工具選取和使用、安裝調試設備、在線考核等。
5 結語
隨著5G技術的發展,網絡的低延時和計算機硬件的計算能力大幅提升,虛擬現實與仿真將會應用到越來越多的行業領域。本文從虛擬現實與仿真開發流程出發,著重對建模、展UV、紋理制作、互動開發幾個關鍵技術作了系統論述和介紹,同時PBR材質紋理制作技術也適用于游戲、動畫、影視行業領域,是對傳統開發與制作方法的一種創新和改革,具有廣泛的應用價值和意義。
參考文獻
[1] 董鳳龍,陳虹伊,華旻磊,等.基于Unity3D的電力培訓虛擬現實系統設計與實現[J].工業控制計算機,2019(9):6-8.
[2] 霍愛清,李少輝,李浩平.基于Unity3D的鉆井工程三維動態仿真[J].西安石油大學學報(自然科學版),2018(6):79-83.
[3] UNFOLD3D官網.[EB/OL].[2020-02-01].https://www.cger.com/site/3473.html.
[4] 趙旺.基于Unity的VR建筑安全培訓系統[D].馬鞍山:安徽工業大學,2018.
Abstract:Taking the environmental control system project of metro rail transit as an example, this paper discusses the development process of the key technologies of virtual reality and simulation: puts forward the model making specification that conforms to the virtual reality and simulation project; introduces the skills of making UV by 3ds Max and Unfold3d software; for texture mapping, elaborated the AO mapping and PBR material production process with high realism; finally, discussed the role of UGUI component,Unity3d functional components and C# script language in the development of metro rail transit environmental control system project. The research in this paper has a good theoretical guidance and practical significance for the development of virtual reality and simulation projects.
Key words:virtual reality and simulation; polygon modeling; unfolding UV; texture making; unity3d