馮珊珊
(遼寧建筑職業(yè)學(xué)院 遼寧 遼陽(yáng) 111000)
?
虛擬仿真系統(tǒng)建設(shè)技術(shù)的分析與應(yīng)用
馮珊珊
(遼寧建筑職業(yè)學(xué)院 遼寧 遼陽(yáng) 111000)
本文以虛擬仿真實(shí)訓(xùn)平臺(tái)開發(fā)設(shè)計(jì)過(guò)程為例,對(duì)建設(shè)過(guò)程中的常用軟件進(jìn)行比較和分析,重點(diǎn)論述Unity3D的建模規(guī)范,及如何有效進(jìn)行模型建立。
虛擬仿真系統(tǒng);建設(shè)技術(shù);應(yīng)用
隨著時(shí)代的發(fā)展和科技的進(jìn)步,越來(lái)越多的企業(yè)和學(xué)校在案例展示和教學(xué)實(shí)訓(xùn)中采用虛擬仿真的形式,更好的突出企業(yè)的品牌形象或教學(xué)效果。無(wú)論是哪種應(yīng)用場(chǎng)合,虛擬環(huán)境的建立都離不開三維建模軟件、數(shù)據(jù)庫(kù)和系統(tǒng)設(shè)計(jì)軟件三大類軟件,下面以虛擬仿真實(shí)訓(xùn)平臺(tái)的建設(shè)為例對(duì)建模技術(shù)進(jìn)行介紹。
(一)建模軟件簡(jiǎn)介。常用的三維建模軟件主要有以下三種:3DMAX,SketchUp,以及Maya。下面對(duì)三種軟件的特點(diǎn)和優(yōu)勢(shì)進(jìn)行詳細(xì)介紹。
1.3DMAX。它功能非常強(qiáng)大,廣泛應(yīng)用于游戲模型制作,近年在建筑設(shè)計(jì)領(lǐng)域也得到了廣泛的應(yīng)用。該軟件中文版本和英文版本同樣具備,操作便捷簡(jiǎn)單,發(fā)展的已經(jīng)非常成熟了。
本設(shè)計(jì)選擇使用3DMAX,由于其在建立靜態(tài)的三維模型時(shí),動(dòng)畫可以用代碼來(lái)實(shí)現(xiàn),在制作精度要求較高的場(chǎng)合非常合適。而且,絕大多數(shù)的3D引擎平臺(tái)都支持3DMAX導(dǎo)出的模型,它是目前市場(chǎng)上三維的建模平臺(tái)中最受推崇使用的。
2.SketchUp。它是GOOGLE(谷歌)公司所開發(fā)的三維建模軟件。它具備自動(dòng)捕捉功能,能將模擬使用鉛筆繪制的圖形線條自動(dòng)捕捉。同時(shí),GOOGLE公司的3D模型庫(kù)中具有很多既定的SketchUp格式的模型。因此,采用SketchUp軟件可以避免很多繁重的、重復(fù)的模型建立工作,所以,SketchUp的學(xué)習(xí)也非常必要。
3.Maya。它是AutoDesk公司研發(fā)的一款應(yīng)用廣泛、功能強(qiáng)大的建模軟件,它的功能與3DMAX類似,但更適用于動(dòng)畫和特效的制作。
(二)數(shù)據(jù)庫(kù)軟件。伴隨著現(xiàn)代技術(shù)的發(fā)展,數(shù)據(jù)管理已經(jīng)從以往簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)管理逐步轉(zhuǎn)變成按照數(shù)據(jù)的結(jié)構(gòu)來(lái)組織數(shù)據(jù)、管理數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)的大型倉(cāng)庫(kù),而這種大倉(cāng)庫(kù)就是我們常用的數(shù)據(jù)庫(kù)。
SQLserver是微軟公司開發(fā)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它作為平臺(tái)兼容性能良好,是WINDOWS操作系統(tǒng)中最為方便的數(shù)據(jù)庫(kù)平臺(tái)。并且界面友好,容易操作,編程接口豐富。
本次設(shè)計(jì)采用SQLserver2000數(shù)據(jù)庫(kù),它與Unity3D更便于連接,并且應(yīng)用廣泛,出于通用性的考慮,采用SQLserver2000數(shù)據(jù)庫(kù)。需要強(qiáng)調(diào)的是:SQL數(shù)據(jù)庫(kù)如果要連接Unity3D,則需要版本保持在SQLserver2000SP4以上,否則無(wú)法完成連接。
(三)系統(tǒng)設(shè)計(jì)軟件。虛擬仿真實(shí)訓(xùn)平臺(tái)以游戲模式設(shè)計(jì)任務(wù)環(huán)節(jié),包括第一視角虛擬漫游,也包括任務(wù)的領(lǐng)取、完成和晉級(jí)。其模式與游戲有很多相似之處,采用游戲引擎完成平臺(tái)系統(tǒng)的設(shè)計(jì)可以說(shuō)是一個(gè)非常好的選擇[1]。
Unity是一款全面整合了三維場(chǎng)景、動(dòng)畫效果和三維視頻的專業(yè)游戲引擎,它是UnityTechnologies公司開發(fā)的。虛擬電子車間實(shí)訓(xùn)平臺(tái)選擇Unity3D作為系統(tǒng)開發(fā)平臺(tái),主要由于它具備以下三個(gè)突出優(yōu)點(diǎn):(1)操作簡(jiǎn)便、容易上手。(2)開發(fā)語(yǔ)言多樣。(3)發(fā)布范圍廣,通用性良好。
(一)Unity3D的主要特征
1.層級(jí)性綜合開發(fā)環(huán)境,視覺(jué)化編輯手段,詳盡的屬性編輯器及動(dòng)態(tài)資源預(yù)覽。具有獨(dú)特的層級(jí)性組織架構(gòu),可以將物體之間建立母子關(guān)系,使系統(tǒng)層次更加明確。層級(jí)性的組織管理形式也更符合人們的思維模式,開發(fā)者使用起來(lái)更容易上手[2]。
2.資源的自動(dòng)導(dǎo)入。項(xiàng)目中的資源可以被自動(dòng)導(dǎo)入,還可以根據(jù)資源的改動(dòng)進(jìn)行自動(dòng)更新。可以支持大部分主流三維建模軟件,包括3DMAX,SketchUp,以及Maya等。
3.支持凹凸貼圖(bumpmapping)、反射貼圖(reflectonmapping)、環(huán)境剔除(screenspace)、陰影貼圖(shadowmap)技術(shù),并支持渲染紋理(rendertotexture)和后處理(postprocessing)效果。
4.支持使用shaderlab語(yǔ)言進(jìn)行shader編寫,可分為頂點(diǎn)著色器和像素著色器。
5.內(nèi)置使物體具備重力、阻力、速度以及加速度的屬性設(shè)置,對(duì)NIVDIA中的Physxphysicsengine支持,從而使虛擬的物體具備真實(shí)世界中物理反饋的表達(dá)。
(二)Unity3D的建模規(guī)范。Unity3D中模型的加載會(huì)占用內(nèi)存,場(chǎng)景內(nèi)如果模型數(shù)量較多,則系統(tǒng)很可能存在卡頓現(xiàn)象,無(wú)法流暢運(yùn)行。因此,建模的標(biāo)準(zhǔn)之一就是重視簡(jiǎn)模模型的使用,模型的面數(shù)盡量不要超過(guò)5000,將模型的面數(shù)盡可能的控制[3]。
下面簡(jiǎn)要列出一些建模的準(zhǔn)則和面精簡(jiǎn)的小技巧:(1)巧用貼圖替代模型的建立。例如需要表現(xiàn)一些細(xì)長(zhǎng)狀的物體,如窗欄、扶手等物體時(shí),就可以采用這種技巧減少模型的數(shù)量,避免渲染時(shí)出現(xiàn)的鋸齒和閃爍等現(xiàn)象。(2)控制場(chǎng)景中模型數(shù)量,模型的分布要均勻,盡量轉(zhuǎn)化多邊形物體或使用塌陷命令。(3)合并場(chǎng)景中距離較近的同樣材質(zhì)的模型,巧妙利用附加方式。(4)嚴(yán)格控制模型不同面之間的距離,以免彼此距離過(guò)近出現(xiàn)閃爍現(xiàn)象。確實(shí)距離過(guò)近時(shí),可以通過(guò)面的嵌套完成制作。(5)刪減底面、高處邊沿等看不見或不被注意的面,從而減少面的總數(shù)。
在建模時(shí),相似的保準(zhǔn)始終存在,不論什么引擎平臺(tái)都對(duì)單位、材質(zhì)球尺寸有明確要求。
Unity3D除了遵循這些必要的要求之外,還需要遵守一些要求:命名必須使用英文、材質(zhì)支持有要求等。
下面具體介紹Unity3D的建模規(guī)范:
(1)建模單位的設(shè)定。建模一般以米為單位。為避免共、反面的出現(xiàn)可將面統(tǒng)一調(diào)到正視圖位置,直接在max中進(jìn)行渲染,如果有閃爍出現(xiàn)則說(shuō)明存在共面,如果看不到這個(gè)面則說(shuō)明是反面。將模型導(dǎo)出模型文件(Fbx文件),存到Unity3D中,在非運(yùn)行狀態(tài)下移動(dòng)(上下左右方向)可檢查漏面。漏面是建模過(guò)程中出現(xiàn)的比較麻煩的一個(gè)問(wèn)題,應(yīng)在建模過(guò)程中及時(shí)檢查和修改。
(2)命名規(guī)則。Unity3D原則上不支持中文命名,原始模型、導(dǎo)出模型、貼圖文件必須要使用英文名稱。在max中,若采用中文名稱,子模型不容易被Unity找到。那是因?yàn)槟P褪且宰幽P偷拿Q出現(xiàn)在Unity菜單中的,中文名能造成模型的丟失。只有材質(zhì)的名稱可以使用中文名。
(3)材質(zhì)要求。Unity3D對(duì)材質(zhì)有特殊要求,僅標(biāo)準(zhǔn)材質(zhì)和標(biāo)準(zhǔn)材質(zhì)下的多維子材質(zhì)(Multidimensionalsub-materials)被Unity支持。貼圖方面,只有位圖文件類型貼圖、不帶通道的JPG貼圖以及帶通道的TGA貼圖被Unity3D所支持。并且通道要求顏色反射、自發(fā)光以及不透明度。
(4)模型備份標(biāo)準(zhǔn)和提交方式。所有烘焙貼圖、原始貼圖、烘焙前后模型以及未塌陷的原始模型,即全部貼圖和相應(yīng)文件都應(yīng)該保存在統(tǒng)一的文件夾下。保存時(shí)注意文件齊全,便于后續(xù)的修改和使用。
綜上,本文重點(diǎn)論述虛擬仿真實(shí)訓(xùn)平臺(tái)開發(fā)過(guò)程中所用到的軟件,對(duì)所用軟件Unity3D、3DMAX與其他同類軟件進(jìn)行比較分析,并詳細(xì)分析Unity3D在建模過(guò)程中的規(guī)范標(biāo)準(zhǔn)、技術(shù)難題,希望能為其他虛擬系統(tǒng)的建設(shè)提供參考意見。
[1]孫長(zhǎng)勇.虛擬現(xiàn)實(shí)中三維建模技術(shù)方法的分析與研究[D].解放軍信息工程大學(xué),2004
[2]楊建強(qiáng).虛擬現(xiàn)實(shí)認(rèn)識(shí)問(wèn)題研究[D].重慶大學(xué),2006
馮珊珊(1981.2-),工學(xué)碩士,現(xiàn)就職于遼寧建筑職業(yè)學(xué)院,研究方向:應(yīng)用電子、虛擬仿真系統(tǒng)建設(shè)。