模王輝++宋昌統(tǒng)
摘要:隨著中國經(jīng)濟的不斷進步,人們生活水平的不斷提高,出現(xiàn)了一種新型的計算機核心技術(shù),稱為虛擬現(xiàn)實(Virtual Reality)。這種技術(shù)的興起,將成為整個計算機行業(yè)的核心價值,在迅速發(fā)展的21世紀(jì),X3D虛擬現(xiàn)實技術(shù)是最值得關(guān)注的新型的計算機技術(shù),可謂是最高科技的成果之一。在此基礎(chǔ)上,我們通過對X3D虛擬現(xiàn)實技術(shù)的分析和探討,較為細致地了解這種技術(shù)的組成,并且找到提升技術(shù)的方法,對整個中國的發(fā)展具有深刻的意義。
關(guān)鍵詞:虛擬現(xiàn)實;X3D;建模
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)11-0238-02
在網(wǎng)絡(luò)快速發(fā)展的今天,虛擬現(xiàn)實已經(jīng)被應(yīng)用到了多個方面,在人們的日常生活中占有一定的地位,主要應(yīng)用在教育、衛(wèi)生、軍事、科研、醫(yī)學(xué)、體育等等方面。虛擬現(xiàn)實系統(tǒng)主要是由一些硬件設(shè)備和一些軟件設(shè)備組成的,包括3D的立體眼鏡以及帶有數(shù)據(jù)的頭盔,還有一些軟件,比如VRML、OpenGL、Java3D、X3D 等等。而X3D則是虛擬現(xiàn)實中的一種軟件組成,就是一種對網(wǎng)絡(luò)上三維物體的描述。X3D本身就具有一定的靈活性和實用性,對于自身的擴展也很大。
1 虛擬現(xiàn)實技術(shù)
1989年美國的Jaron Lanier提出了虛擬現(xiàn)實(VR)并且把其制作成商品進行銷售,他是美國公司 VPL Research 的創(chuàng)始人。虛擬現(xiàn)實技術(shù)通俗來說就是通過計算機軟件搭建出來的虛擬的東西和環(huán)境,通過專業(yè)的設(shè)備對其進行一定程度上的改革,構(gòu)建出的場景,這種技術(shù)可以很好地讓人們感受不一樣的網(wǎng)絡(luò)世界。比如我們都曾看過的3D電影《飛屋環(huán)游記》,通過特殊的3D眼鏡,讓我們仿佛置身于電影中一樣。3D電影就是虛擬現(xiàn)實的一種。虛擬現(xiàn)實融合了許多技術(shù),比如說計算機仿真技術(shù),人工智能技術(shù),多媒體技術(shù),傳感技術(shù),計算機圖形學(xué)技術(shù),網(wǎng)絡(luò)技術(shù),人機接口技術(shù)等等。它的特點總結(jié)起來就是三點,分別是交互性(Interaction),想象力(Imagination),以及沉浸感(Immersion),簡稱3i。目前的虛擬現(xiàn)實是由兩部分組成的,軟件組成:虛擬現(xiàn)實軟件X3D(可擴展 3D)、VRML(虛擬現(xiàn)實建模語言)、Java3D、OpenGL、Vega、Converse3d、3DMAX、Maya 等。硬件組成:立體投影、立體眼鏡、三維頭盔顯示器、數(shù)據(jù)手套、三維語音識別系統(tǒng)、三維空間跟蹤定位器、三維空間交互球、多通道環(huán)幕系統(tǒng)等。
2 X3D 的組成
1998年Web3D 聯(lián)盟正式提出X3D(Extensible 3D)。在這項技術(shù)得到了很多家公司和科研機構(gòu)的認(rèn)可和支持,在一定程度上促進了每個公司的發(fā)展。X3D技術(shù)為了方便在網(wǎng)絡(luò)和瀏覽器傳輸上更加的方便,于是采用了 XML 語言,進而對其進行描述。通過與Java、XML、流媒體等技術(shù)的融合,在表現(xiàn)上更加的完美。具有更加完善的技術(shù)。X3D 系統(tǒng)結(jié)構(gòu)是以組件技術(shù)為基礎(chǔ)的。 包括內(nèi)核,VRML97 特征集,應(yīng)用程序接口和擴展集四個部分,如圖 1 所示。
內(nèi)核(Core)最主要的核心的特點就是有很好的擴展性,大小也剛剛好,占用的空間也不是很大,內(nèi)核的核心主要是由VRML97的一小部分組成的,只用到了54個節(jié)點中的23個。而剩下的31個節(jié)點則全部做成了插拔的組件,在一定程度上能夠使 X3D對VRML進行兼容并且提高系統(tǒng)的運行效率。X3D的應(yīng)用程序接口是由文檔對象模型 (Document Object Model ,DOM)和XML 編碼提供的,而對于外部應(yīng)用程序則是要通過 DOM 訪問 X3D 文件才能完成。在此基礎(chǔ)上,X3D 內(nèi)外部場景是通過內(nèi)部創(chuàng)作接口(Script Authoring Interface ,SAI)與外部創(chuàng)作接口(External AuthoringInterface ,EAI)動態(tài)交互形成的。內(nèi)部創(chuàng)作接口對 X3D 內(nèi)外部場景交互是通過JavaScript 語言編寫腳本或者利用Java來實現(xiàn)的。外部創(chuàng)作接口被稱作是 Java 語言定義的一系列類包。外部應(yīng)用程序如果要對VRML場景進行改正或者控制,再或者進行一系列的操作,那么就需要通過訪問這些類包來實現(xiàn)。
3 X3D場景建模
3.1 X3D節(jié)點建模
(1)X3D文件結(jié)構(gòu)X3D 文件結(jié)構(gòu)采用 ISO/IEC 19775-1 的 7.2.3, Abstract X3D structure 中的定義。X3D 文件結(jié)構(gòu)包括 X3D 文件頭、文檔類型(DTD 格式)及 X3D 主程序概貌等內(nèi)容。 X3D 主程序概貌包括頭文檔和場景。 頭文檔包括組件和元數(shù)據(jù)。 X3D 場景包括各種節(jié)點。 通過組織各種節(jié)點來創(chuàng)建虛擬的三維場景。 X3D 的文件結(jié)構(gòu)如圖 2 所示。
(2)X3D 的語法結(jié)構(gòu)
根據(jù)ISO/IEC 19775-1的規(guī)定X3D 文件頭需要是一個單行的 UTF-8 文本,這樣才能識別是一個XML 文件。X3D文檔在使用時屬性要在規(guī)定的概貌集合的范圍內(nèi)。Geometry3D 組件是所有的三維幾何節(jié)點組成的,對于這種功能相同的節(jié)點的組成就叫做組件。 X3D 場景主體由一對<;Scene>;和<;/Scene>;組成的,中間可以插入背景節(jié)點、視覺節(jié)點、導(dǎo)航節(jié)點、集合節(jié)點、復(fù)雜造型節(jié)點等,通過這些節(jié)點的組織來創(chuàng)建要表示的三維空間的場景和造型。
3.2 場景的優(yōu)化
場景模型優(yōu)化在搭建虛擬場景時,很多時候我們必須要拋開一部分的真實性。這樣的情況下,貼圖的辦法就比較可行,應(yīng)用繪圖軟件或者是已有的圖片、建筑物的各個方面的照片。對于紋理貼圖來說,格式一定要為 RGB,單位為像素,寬與長要控制在2的冪。為了提升場景的運行速度,最好是把所有面都放在同一個文件里。為了要營造真實的感覺,還應(yīng)該加上光照,在一定程度上通過光照來營造真實的感官。除了這些,最主要的就是對紋理的處理,為了達到預(yù)想的效果,最重要的就是使用面積比較小的紋理,這樣占用的空間也比較小。
復(fù)用技術(shù)文件外部和內(nèi)部的復(fù)用是X3D 的復(fù)用技術(shù)的兩個方面。文件外部的復(fù)用就是根據(jù)一定的順序進行渲染繪制,按照從大到小,從左到右,從上到下、從右到左、從下到上的順序進行渲染,有層次的進行。而文件內(nèi)部的復(fù)用則是可以先對節(jié)點進行一定程度上的預(yù)定,在使用時,就不需要在進行整改,直接可以用上,不用在對其進行編輯。X3D 為了方便編寫的工作,還可以進行自定義新的節(jié)點。
文件壓縮壓縮二進制編碼的開發(fā)為X3D有效的提供了一個特殊的環(huán)境,在安全為提前的基礎(chǔ)之下,X3D具有高壓縮比和加密性。在這樣的基礎(chǔ)上,X3D二進制格式也擁有了這兩種環(huán)境。X3D 允許采用瀏覽器支持的多種編碼模式進行混合編碼,解析時只需要按照特定瀏覽器需要進行解析即可。
4 結(jié)束語
本文通過對虛擬現(xiàn)實中的X3D的系統(tǒng)結(jié)構(gòu)進行分析和討論,對場景的優(yōu)化和建模都有了新的方法。根據(jù)對實驗的研究,我們知道為了方便和適合計算機網(wǎng)絡(luò)的下載或者是運輸,制作出來的場景的體積要普遍較小,基本的模型要在1k左右。由于支持的節(jié)點比較多,所以在建模與交互兩個方面都顯得容易些,在Java 語言的支持和與 XML 語言的結(jié)合方面,都有不同的表現(xiàn)。
參考文獻:
[1] 劉永安,高素青,楊磊.基于X3D的虛擬場景建模技術(shù)[J].電腦知識與技術(shù),2009(22):6271-6273.
[2] 徐雷,趙立科,李成.基于X3D的大規(guī)模三維地形場景構(gòu)建[J].礦山測量,2008(5):43-45+4.
[3] 王志強,蔡平.基于X3D的虛擬環(huán)境建模的應(yīng)用研究[J].福建電腦,2008(11):109,141.