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