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