VRML(虛擬現實建模語言)是以虛擬現實為特征的3D Web技術的核心,它是一種描述交互式三維對象和世界的文件格式,它允許你去描述一個現有的或想象的景物并將它放入虛擬的三維環境中。隨著國際互聯網的普及,網絡技術和硬件設施的飛速發展,虛擬現實技術將成為今后網絡多媒體發展方向的主流。VRML作為一種ISO國際標準將得到越來越廣泛的應用。
1 虛擬機房的總體設計
虛擬機房三維立體場景包含機房內的各種三維立體造型,如黑板、電腦桌、電腦椅、電腦、空調、交換機、門窗等。系統總體結構圖如圖1所示。
2.2 幾何建模的實現
VRML2.O有著豐富的造型功能,利用基本幾何體Geometry節點和描述物體表面性質的Appearance節點,可以創建各種形態的三維實體;再利用Light節點和Viewpoint節點可以建立光照和視點,從而創建出逼真的虛擬場景。
各子對象的創建主要運用的是幾何建模技術,先從形狀和外觀上進行建模,再添加紋理映射的方法實現建模。紋理數據來自實地用數碼相機拍攝的照片。
2.2.1 交換機的建模
現代機房中交換機是必不可少的設備,交換機的建模采用Billboard組節點來實現。值得注意的是Billboard組節點中使用的紋理圖背景必須是透明的,這是使用Billboard組節點的關鍵。通過Billboard組節點可以快速方便地創建一些靜態的模型,例如虛擬機房中的空調等都可以用Billboard組節點創建。使用Billboard組節點創建的模型,形象逼真,具有很好的視覺效果;并且代碼量小,渲染速度快。
利用Billboard節點創建交換機的源代碼如下所示。
Billboard { axisOfRotation 0.0 1.0 0.O
children[Shape{appearance Appearance{
texture ImageTexture {url“jiaohuanji.png”}}
geometry Box{size 3.O 3.0 3.0})]}
運行效果如圖3所示。
2.2.2 門的建模
虛擬機房的門是先使用VRML中的IndexedFaceSet面集節點建立造型,再貼上實拍的門的紋理貼圖,做出逼真的虛擬門,關鍵代碼如下。
現實生活中的任何物體都是由各個平面組合而成的,而VRML的IndexedFaceSet面集節點就是通過創建物體造型的各個面,再賦予材質和顏色,還可以添加不同的紋理貼圖,從而創建逼真的物體造型。利用VRML的IndexedFaceSet面集節點幾乎可以創建現實生活中存在的任何物體造型。虛擬機房中的房屋造型、電腦桌、電腦椅、電腦等造型都是使用IndexedFaceSet面集節點創建,再添加上實拍的紋理貼圖,創建而成的。
2.3 交互功能的實現
在虛擬機房場景中,使用Touchsensor節點、TimeSensor節點、OrientationInterpolator節點和Script節點,并用ROUTE把各個事件聯系起來,創建了門的開、關的交互動作。
在虛擬機房的虛擬場景中,當鼠標指向門時,會出現一個手形指針,這時單擊鼠標,門就會緩慢地開開,再單擊鼠標,門又會緩慢地關閉。實現代碼如下所示。
3 虛擬文件性能優化
三維場景的呈現是通過瀏覽器已默認視點為參照對場景描述文件的解釋而完成的,每當視點發生改變,瀏覽器就會重新計算場景中各對象的新位置并重新進行渲染,因而會出現當改變視點時,瀏覽器渲染的速度跟不上視點的變化速度,從而產生停頓的現象。為了解決此問題,采取了如下措施:
(1)最大可能地使用重用機制。在場景內,有不少反復出現的物體,比地板磚、電腦、電腦桌、椅子、燈等,這些對象中形狀完全相同者,采用DEF和USE的實例引用法進行復制,極大地簡化了文件,減輕了瀏覽器的負擔。
(2)利用Inline節點,減少文件的體積,提高代碼的 重用率;
(3)利用LOD細節層次節點實現場景切換技術,實現 同一對象模型的自動轉換。為場景中某一對象建立多個不同的模型,當視點離對象較遠時采用簡單模型,較近時采用細化模型。
4 總結
文章介紹了在線虛擬機房的模型、場景建模技術的詳細設計和實現,構建了一個基于VRML虛擬現實建模語言的虛擬機房。VRML具有語法簡單、三維建模功能強大、便于網上發布等優點,但仍不能滿足各行各業的需求,一些高級交互功能的實現必須借助于Java等功能強大的高級語言來實現。Java和VRML相結合來建立三維虛擬世界,將會在網絡上展現更逼真的三維虛擬場景,給使用者更真實的感覺。
責任編輯:gt
-
空調
+關注
關注
11文章
1227瀏覽量
58573 -
電腦
+關注
關注
15文章
1692瀏覽量
68782 -
虛擬現實
+關注
關注
15文章
2287瀏覽量
94982
發布評論請先 登錄
相關推薦
評論