虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱VR,又譯作靈境、幻真)是近年來(lái)出現(xiàn)的高新技術(shù),也稱靈境技術(shù)或人工環(huán)境。虛擬現(xiàn)實(shí)是利用電腦模擬產(chǎn)生一個(gè)三維空間的虛擬世界,提供使用者關(guān)于視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)等感官的模擬,讓使用者如同身歷其境一般,可以及時(shí)、沒(méi)有限制地觀察三度空間內(nèi)的事物。VR是一項(xiàng)綜合集成技術(shù),涉及計(jì)算機(jī)圖形學(xué)、人機(jī)交互技術(shù)、傳感技術(shù)、人工智能等領(lǐng)域,它用計(jì)算機(jī)生成逼真的三維視、聽(tīng)、嗅覺(jué)等感覺(jué),使人作為參與者通過(guò)適當(dāng)裝置,自然地對(duì)虛擬世界進(jìn)行體驗(yàn)和交互作用。使用者進(jìn)行位置移動(dòng)時(shí),電腦可以立即進(jìn)行復(fù)雜的運(yùn)算,將精確的3D世界影像傳回產(chǎn)生臨場(chǎng)感。該技術(shù)集成了計(jì)算機(jī)圖形(CG)技術(shù)、計(jì)算機(jī)仿真技術(shù)、人工智能、傳感技術(shù)、顯示技術(shù)、網(wǎng)絡(luò)并行處理等技術(shù)的最新發(fā)展成果,是一種由計(jì)算機(jī)技術(shù)輔助生成的高技術(shù)模擬系統(tǒng)。
1 開(kāi)發(fā)平臺(tái)概述
EONStudio是一種依據(jù)圖形使用者接口,用來(lái)研發(fā)實(shí)時(shí)3D多媒體應(yīng)用程序的工具,主要應(yīng)用在電子商務(wù)/營(yíng)銷/數(shù)字學(xué)習(xí)/教育訓(xùn)練與建筑空間等領(lǐng)域。研發(fā)步驟包括輸入3D對(duì)象,通常這些對(duì)象會(huì)先由3D繪圖軟件完成,如3DStudioMAX、Lightwave等等,或者CAD應(yīng)用軟件如ArchiCAD、ProENGINEER、AutoCAD等。輸入模型后,就可以透過(guò)EON視覺(jué)圖型化程序接口、Scripting或C++程序代碼輕易讓模型加上動(dòng)作。最后,EON程序檔案可以經(jīng)由網(wǎng)絡(luò)或封包展示,也可以與其它支持微軟ActiveX組件的工具進(jìn)行互動(dòng),(Powerpoint、Word、Macormedia、Authorware、Director、Shockwave、VisualBasic等等)。EON Studio基于最新的PC技術(shù),是在OpenGL圖形標(biāo)準(zhǔn)和微軟的DirectX多媒體功能的基礎(chǔ)上建立起來(lái)的。通過(guò)與OpenGL和DirectX的聯(lián)系,使得利用EON所開(kāi)發(fā)的應(yīng)用程序在將來(lái)圖形卡渲染能力加強(qiáng)的同時(shí)其渲染效果也會(huì)得到提高。EON強(qiáng)調(diào)資源(軟件/硬件)的集成與延展、基于Web的交互式三維文件的安全維護(hù)、逼真度及后臺(tái)數(shù)據(jù)庫(kù)的結(jié)合。EON Studio技術(shù)和VRML技術(shù)在結(jié)構(gòu)上十分相似,可以認(rèn)為,EON Studio技術(shù)是VRML技術(shù)基礎(chǔ)上的延伸和擴(kuò)充,其系統(tǒng)組成如圖1所示。
EON Studio應(yīng)用了面向?qū)ο蠹夹g(shù),不僅使得對(duì)三維世界的描述變得清晰,還通過(guò)封裝屬性和建立模擬場(chǎng)景內(nèi)部消息路由,很方便地實(shí)現(xiàn)虛擬實(shí)體的交互和行為動(dòng)作等功能。虛擬場(chǎng)景的基本元素為節(jié)點(diǎn)(node),節(jié)點(diǎn)是EON Studio為多媒體和交互對(duì)象定義的一個(gè)對(duì)象集。節(jié)點(diǎn)[1]的屬性包含在域(field)和事件(event)中。EON Studio的節(jié)點(diǎn)類型很豐富,具有超過(guò)100個(gè)預(yù)先設(shè)定好的功能節(jié)點(diǎn),按功能可以分為以下幾類:預(yù)設(shè)節(jié)點(diǎn);代理節(jié)點(diǎn);組裝節(jié)點(diǎn);基礎(chǔ)節(jié)點(diǎn);碰撞檢測(cè)節(jié)點(diǎn);可視化節(jié)點(diǎn);傳感器節(jié)點(diǎn)。
另外,EON Studio在以上基礎(chǔ)上又增加了Script Nodes,可以利用Java script或VB script進(jìn)行編程,處理一些復(fù)雜的仿真,擴(kuò)展了EON Studio中虛擬世界的動(dòng)態(tài)行為。利用EON Studio的功能節(jié)點(diǎn),能方便地建立滿足用戶要求的三維虛擬場(chǎng)景,完成用戶特定的交互過(guò)程。
2 三維模型建立與優(yōu)化
2.1 三維模型建立
3D Studio Max,常簡(jiǎn)稱為3ds Max或MAX,是Autodesk公司開(kāi)發(fā)的基于PC系統(tǒng)的三維動(dòng)畫(huà)渲染和制作軟件。其前身是基于DOS操作系統(tǒng)的3D Studio系列軟件,最新版本是2011.在Windows NT出現(xiàn)以前,工業(yè)級(jí)的CG制作被SGI圖形工作站所壟斷。3D Studio Max + Windows NT組合的出現(xiàn)一下子降低了CG制作的門檻,首選開(kāi)始運(yùn)用在電腦游戲中的動(dòng)畫(huà)制作,后更進(jìn)一步開(kāi)始參與影視片的特效制作,例如X戰(zhàn)警II,最后的武士等。
使用3DS MAX可以較方便地建立逼真度很高的三維模型。圖2是建立某化工場(chǎng)景模型的軟件界面。
2.2 模型的優(yōu)化
模型的優(yōu)化對(duì)漫游場(chǎng)景的瀏覽很有幫助,前期如果不對(duì)場(chǎng)景的模型進(jìn)行很好的優(yōu)化,到了制作后期再對(duì)模型進(jìn)行優(yōu)化時(shí)就需要重新回到MAX里修改模型并進(jìn)行重新烘焙后再導(dǎo)入到當(dāng)前的EON場(chǎng)景里,這樣就出現(xiàn)了重復(fù)工作的情況,大大降低了工作效率。因此,模型的優(yōu)化需要在創(chuàng)建場(chǎng)景時(shí)就應(yīng)受到足夠的重視。
在3DS MAX中建模的準(zhǔn)則基本上可以歸納為以下幾點(diǎn):
(1)制作簡(jiǎn)模
漫游場(chǎng)景中運(yùn)行畫(huà)面每一幀都是靠顯卡和CPU實(shí)時(shí)計(jì)算出來(lái)的,如果面數(shù)太多,會(huì)導(dǎo)致運(yùn)行速度急劇下降,甚至無(wú)法運(yùn)行;還會(huì)導(dǎo)致文件容量增大,在網(wǎng)絡(luò)上發(fā)布還會(huì)導(dǎo)致下載時(shí)間增加[2].
(2)三角面盡量為等邊三角形
在調(diào)用模型或創(chuàng)建模型時(shí),盡量保證模型的三角面為等邊三角形,不要出現(xiàn)長(zhǎng)條型。這是因?yàn)殚L(zhǎng)條形的面不利于實(shí)時(shí)渲染,還會(huì)出現(xiàn)鋸齒、紋理模糊等現(xiàn)象。
(3)合理分布模型的密度
模型的密度分布不合理對(duì)其后面的運(yùn)行速度有影響,如果模型密度不均勻,會(huì)導(dǎo)致運(yùn)行速度時(shí)快時(shí)慢,因此,應(yīng)合理地分布場(chǎng)景模型的密度。
在3DS MAX中完成模型烘焙和優(yōu)化后,輸出的Eoz文件格式,可方便地導(dǎo)入EON Studio進(jìn)行開(kāi)發(fā)設(shè)計(jì)。
3 EON中場(chǎng)景的優(yōu)化
初步完成化工場(chǎng)景的建模后,通過(guò)EON Viewer瀏覽的速度緩慢,甚至發(fā)生停頓現(xiàn)象,如果不能解決瀏覽速度問(wèn)題,整個(gè)系統(tǒng)就沒(méi)有什么意義了。為了解決這個(gè)問(wèn)題,首先要對(duì)該問(wèn)題的產(chǎn)生進(jìn)行分析。三維場(chǎng)景的呈現(xiàn)是通過(guò)瀏覽器以默認(rèn)視點(diǎn)為參照對(duì)場(chǎng)景描述文件的解釋而完成的,每當(dāng)用戶拖動(dòng)鼠標(biāo)或按下箭頭鍵在場(chǎng)景中走動(dòng)或旋轉(zhuǎn)時(shí),視點(diǎn)就會(huì)發(fā)生變化。在真實(shí)世界中,人向前行,對(duì)面的事物會(huì)越來(lái)越近,為了模仿這種效果,每當(dāng)視點(diǎn)發(fā)生變化,瀏覽器就會(huì)重新計(jì)算場(chǎng)景中各對(duì)象的新位置并重新進(jìn)行渲染,使得人能走近某個(gè)對(duì)象。當(dāng)場(chǎng)景中對(duì)象較多時(shí),瀏覽器渲染的速度就跟不上視點(diǎn)變化的速度,從而產(chǎn)生停頓的現(xiàn)象。
由于化工廠場(chǎng)景巨大、管線繁多、工藝流程復(fù)雜等問(wèn)題,對(duì)三維場(chǎng)景的顯示與實(shí)現(xiàn)帶來(lái)一定的困難。筆者曾試著采用貼圖的方法,即在一個(gè)方體上貼上相應(yīng)的紋理圖來(lái)表示裝置,這種方法實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,瀏覽器解釋速度較快,但最大的缺點(diǎn)是構(gòu)建的對(duì)象缺乏三維立體感和真實(shí)感,因此貼圖的方法不適合化工場(chǎng)景。通過(guò)對(duì)三維場(chǎng)景實(shí)時(shí)繪制技術(shù)的分析與研究,提出如下優(yōu)化方式。
3.1 大量使用重用機(jī)制
不僅一個(gè)裝置內(nèi)部的對(duì)象可以重用,流程相同的裝置之間也可采用重用機(jī)制。對(duì)于兩個(gè)不同的構(gòu)建模型,有些泵和閥門是相同的,那么對(duì)相同的部分利用DEF與UES重用機(jī)制就可以極大地簡(jiǎn)化描述文件,最重要的是能夠減輕瀏覽器的負(fù)擔(dān),從而提高渲染速度。重用機(jī)制的使用有個(gè)前提,即只能在一個(gè)描述文件內(nèi)部使用[3].因此,需要進(jìn)行代碼重用的2個(gè)或多個(gè)對(duì)象,它們的描述應(yīng)放在同一個(gè)節(jié)點(diǎn)中。
3.2 利用EON統(tǒng)計(jì)值改善模擬品質(zhì)
復(fù)雜三維場(chǎng)景的實(shí)時(shí)繪制要求包括:場(chǎng)景環(huán)境中的運(yùn)動(dòng)體的位置、姿態(tài)的實(shí)時(shí)計(jì)算與動(dòng)態(tài)繪制;用戶視點(diǎn)改變時(shí),畫(huà)面的刷新必須達(dá)到人眼覺(jué)察不到閃爍,即相當(dāng)光滑的程度,通常為20~30幀/s,至少不能少于10幀/s;同時(shí)場(chǎng)景的環(huán)境也要求隨著人的活動(dòng)及時(shí)產(chǎn)生相應(yīng)的畫(huà)面,圖形生成必須能立即做出反應(yīng)并產(chǎn)生相應(yīng)的環(huán)境和場(chǎng)景。
可以利用模擬(Simulation)菜單中顯示模擬程式統(tǒng)計(jì)值(Show Simulation Statistics)選項(xiàng),或是點(diǎn)選工具列中顯示模擬程式統(tǒng)計(jì)值的按鈕,啟動(dòng)模擬統(tǒng)計(jì)值的顯示[4].HZ:每秒框架數(shù)目。這是一個(gè)利用數(shù)個(gè)框架計(jì)算出來(lái)的平均速率,較小的值表示框架產(chǎn)生較慢;Frm:準(zhǔn)備框架所需的時(shí)間(s)。這個(gè)值可用來(lái)確認(rèn)哪個(gè)框架耗費(fèi)較多的時(shí)間;App:更新傳呼所需的時(shí)間(s);Eve:事件處理所耗費(fèi)的時(shí)間(s)。Drw:繪圖所耗費(fèi)的時(shí)間(s),包含下載材質(zhì)、像素填充及頂點(diǎn)轉(zhuǎn)換;#tri:繪制的三角形實(shí)際的數(shù)目(注意這個(gè)值會(huì)隨視角的改變而改變)。
隨著統(tǒng)計(jì)值的變化,可實(shí)時(shí)判定具體場(chǎng)景的瀏覽速度,同時(shí)利用EON中Mesh節(jié)點(diǎn)下的Polygon Reduction level子節(jié)點(diǎn)進(jìn)行Mesh網(wǎng)格的簡(jiǎn)化,以達(dá)到適合的瀏覽效果。
3.3 合理定義顯示比例
大部分的顯卡使用材質(zhì)的影像記憶體及框架緩沖來(lái)做動(dòng)作??蚣芫彌_可分為前緩沖、后緩沖及Z緩沖,在屏幕上根據(jù)所看到影像的不同而不同。如果在視窗中執(zhí)行EON模擬程式,前緩沖會(huì)涵蓋整體事件屏幕,但不影響模擬視窗的大小,在記憶體的數(shù)量上,前緩沖由Windows屏幕設(shè)定來(lái)決定。而后緩沖及Z緩沖的大小則依據(jù)目前EON模擬視窗的大小來(lái)設(shè)定。
在屏幕上繪制像素是需要時(shí)間的,當(dāng)相對(duì)于視窗大小的框架速率很大時(shí),像素填充會(huì)設(shè)定模擬速度的極限。要降低像素填充所花費(fèi)的時(shí)間,可使用較小的模擬視窗,點(diǎn)選大小/方位比例(Size/Aspect Ratio)標(biāo)簽,并輸入模擬視窗大小,降低透支(Overdraw)的程度(例如空間內(nèi)部結(jié)構(gòu)的模擬),合理地將場(chǎng)景進(jìn)行分割并保存為獨(dú)立的Edz文件,利用改變模擬(Change Simulation)功能節(jié)點(diǎn)來(lái)進(jìn)行切換,也可利用在框架功能節(jié)點(diǎn)的特性視窗中選取隱藏(Hidden)選項(xiàng),讓漫游瀏覽中尚未看到的幾何物件暫時(shí)不顯示。
3.4 利用場(chǎng)景切換技術(shù)實(shí)現(xiàn)同一對(duì)象不同模型的自動(dòng)切換
有針對(duì)性地為場(chǎng)景中面數(shù)復(fù)雜的裝置建立多個(gè)不同的模型,使場(chǎng)景在顯示的時(shí)候以不同模型多方面顯示,如圖3所示。最簡(jiǎn)單的是建立簡(jiǎn)單和細(xì)化兩種模型,當(dāng)視點(diǎn)距對(duì)象較遠(yuǎn)時(shí)采用簡(jiǎn)單模型,視點(diǎn)接近時(shí)自動(dòng)切換為該對(duì)象的細(xì)化模型。采用這種辦法,需對(duì)某對(duì)象建立多個(gè)模型,并利用Switch、LOD節(jié)點(diǎn)或觸發(fā)器實(shí)現(xiàn)模型的切換[5].在切換過(guò)程中,要對(duì)切換時(shí)間進(jìn)行設(shè)置,使切換時(shí)間小于人眼眨動(dòng)頻率,畫(huà)面看起來(lái)更加逼真。這種方法既能夠減小面數(shù)、提高演示速度,又能夠使人感覺(jué)不到明顯的切換痕跡,是虛擬現(xiàn)實(shí)領(lǐng)域應(yīng)該繼續(xù)沿用并加以延伸的方法。
3.5 漫游系統(tǒng)優(yōu)化測(cè)試
虛擬現(xiàn)實(shí)漫游技術(shù)的一大困難在于漫游仿真速度與運(yùn)行速度之間的矛盾。在建立最佳仿真程度模型的同時(shí)又要保證速度的運(yùn)行是要重點(diǎn)協(xié)調(diào)的問(wèn)題。本系統(tǒng)運(yùn)行的硬件配置為:處理器Pentiu(R)4 3.0 GHz,內(nèi)存1 GB,顯卡使用NVIDIA Geforce 7300GT(256 MB),在臺(tái)式機(jī)上進(jìn)行了優(yōu)化測(cè)試,測(cè)試結(jié)果如表1所示。
利用EON Studio建立的虛擬化工場(chǎng)景,以某化工企業(yè)的生產(chǎn)場(chǎng)景為模型,實(shí)現(xiàn)了該虛擬場(chǎng)景的漫游,如圖4所示。使用者可以對(duì)場(chǎng)景進(jìn)行全方位瀏覽,也可對(duì)局部進(jìn)行細(xì)致的觀察;并配合適當(dāng)?shù)闹v解,最終對(duì)該生產(chǎn)過(guò)程產(chǎn)生一個(gè)清晰、深刻的認(rèn)識(shí)。通過(guò)對(duì)模型部分優(yōu)化與在EON Studio中進(jìn)行的必要優(yōu)化,符合實(shí)時(shí)交互頻率15幀/s以上的漫游要求,加快了三維場(chǎng)景的實(shí)時(shí)繪制速度,提供了良好的漫游瀏覽速度。該優(yōu)化方法具有一定的普遍性,對(duì)后續(xù)漫游信息系統(tǒng)的完善和二次開(kāi)發(fā)提供了必要的保證。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7724瀏覽量
92291 -
仿真
+關(guān)注
關(guān)注
52文章
4359瀏覽量
137265 -
虛擬現(xiàn)實(shí)
+關(guān)注
關(guān)注
15文章
2301瀏覽量
101189
發(fā)布評(píng)論請(qǐng)先 登錄
CAN轉(zhuǎn)EtherCAT:化工行業(yè)高效通信的“破局者”
透明屏即將成為未來(lái)CT場(chǎng)景時(shí)代重要角色之一
誠(chéng)聘兼職EON Studio培訓(xùn)講師
虛擬現(xiàn)實(shí)+工業(yè)該如何發(fā)展?六大應(yīng)用場(chǎng)景搶先看
幾種主要的虛擬化技術(shù)有什么不同?
如何在visual studio上實(shí)現(xiàn)USB虛擬串口功能?
基于Web3D的虛擬場(chǎng)景漫游的設(shè)計(jì)與實(shí)現(xiàn)
GL Studio的分布式虛擬訓(xùn)練系統(tǒng)關(guān)鍵技術(shù)
自動(dòng)駕駛技術(shù)虛擬場(chǎng)景數(shù)據(jù)庫(kù)的介紹和特點(diǎn)及仿真場(chǎng)景的詳細(xì)概述
在EON軟件二次開(kāi)發(fā)上實(shí)現(xiàn)通信裝備虛擬維修系統(tǒng)設(shè)計(jì)

評(píng)論