




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)論文基于X3D的虛擬現(xiàn)實設(shè)計與實現(xiàn)方案的研究摘要: X3D是一種正在蓬勃發(fā)展的網(wǎng)絡(luò)三維技術(shù),本文目的是為了探索一個能夠?qū)崿F(xiàn)X3D虛擬現(xiàn)實的設(shè)計實現(xiàn)方案,通過系統(tǒng)闡述X3D的發(fā)展歷程,技術(shù)特點,組成和相關(guān)知識,然后對比了X3D與其他網(wǎng)絡(luò)三維技術(shù)的不同,最后提出基于X3D的虛擬現(xiàn)實設(shè)計與實現(xiàn)方案,對X3D進行充分的探索和驗證,尋找一個最優(yōu)實現(xiàn)方案,從實現(xiàn)原型系統(tǒng)出發(fā),展現(xiàn)整個X3D系統(tǒng)設(shè)計過程和實現(xiàn)過程,實現(xiàn)了一個完整的校園地圖導(dǎo)航系統(tǒng),驗證所提出的X3D方案的可行性并對其未來進行了展望,為用戶使用X3D的設(shè)計與實現(xiàn)提供了完整可行性的方法。關(guān)鍵詞:X3D;虛擬現(xiàn)實;3D建模 ;XMLVirtu
2、al reality based on X3D design and implementation ofAbstract: X3D is a thriving network three-dimensional technology, this article is designed to explore a possible design of virtual reality X3D implementation, through the development of the system explains X3D, technical features, components and re
3、lated knowledge, and then compares the X3D and other network is different, three-dimensional technology that virtual reality based on X3D design and implementation, on X3D adequate research and validation, look for an optimal implementation, set off from the implementation of the prototype system, r
4、eveal the entire X3D system design process and implementation, implements a full campus map navigation system, verify that the proposed feasibility of X3D and future perspectives, as the user is using the design and implementation of X3D provides the complete feasibility.Keywords: X3D;Virtual realit
5、y;3D Modeling;XML 目 錄TOC o 1-3 h u HYPERLINK l _Toc250981829 1 引言 PAGEREF _Toc250981829 h 1 HYPERLINK l _Toc250981830 1.1研究基于X3D虛擬現(xiàn)實設(shè)計與方案的背景 PAGEREF _Toc250981830 h 1 HYPERLINK l _Toc250981831 1.1.1 相關(guān)背景 PAGEREF _Toc250981831 h 1 HYPERLINK l _Toc250981832 1.1.2 X3D標準推出的目的 PAGEREF _Toc250981832 h 2 H
6、YPERLINK l _Toc250981833 1.2X3D的定義及其知識基礎(chǔ) PAGEREF _Toc250981833 h 3 HYPERLINK l _Toc250981834 1.2.1 什么是X3D PAGEREF _Toc250981834 h 3 HYPERLINK l _Toc250981835 1.2.3 X3D支持的特性 PAGEREF _Toc250981835 h 4 HYPERLINK l _Toc250981836 1.2.4 X3D Profile(輪廓)與一致性 PAGEREF _Toc250981836 h 5 HYPERLINK l _Toc2509818
7、37 1.2.5 X3D開發(fā)聯(lián)盟Web3D PAGEREF _Toc250981837 h 6 HYPERLINK l _Toc250981838 1.2.6 關(guān)于VRML的基礎(chǔ)知識 PAGEREF _Toc250981838 h 6 HYPERLINK l _Toc250981839 1.2.7 關(guān)于虛擬現(xiàn)實的基礎(chǔ)知識 PAGEREF _Toc250981839 h 7 HYPERLINK l _Toc250981840 1.3近來國內(nèi)外X3D課題的研究現(xiàn)狀 PAGEREF _Toc250981840 h 8 HYPERLINK l _Toc250981841 1.3.1 近來國內(nèi)外X3D課
8、題的研究現(xiàn)狀 PAGEREF _Toc250981841 h 8 HYPERLINK l _Toc250981842 1.3.2 現(xiàn)行研究X3D存在的問題 PAGEREF _Toc250981842 h 9 HYPERLINK l _Toc250981843 1.4本課題研究要達到的目標 PAGEREF _Toc250981843 h 11 HYPERLINK l _Toc250981844 2 X3D要解決的幾個關(guān)鍵問題 PAGEREF _Toc250981844 h 12 HYPERLINK l _Toc250981845 2.1 設(shè)計中要解決的問題 PAGEREF _Toc2509818
9、45 h 12 HYPERLINK l _Toc250981846 2.1.1 復(fù)雜場景的搭建問題 PAGEREF _Toc250981846 h 12 HYPERLINK l _Toc250981847 2.1.2 場景和動畫交互的控制問題 PAGEREF _Toc250981847 h 12 HYPERLINK l _Toc250981848 2.2 實現(xiàn)過程中所采用的關(guān)鍵技術(shù) PAGEREF _Toc250981848 h 12 HYPERLINK l _Toc250981849 2.2.1 復(fù)雜場景關(guān)鍵技術(shù)及其復(fù)雜性的研究 PAGEREF _Toc250981849 h 12 HYPE
10、RLINK l _Toc250981850 2.2.2 場景和動畫交互關(guān)鍵技術(shù)復(fù)雜性的研究 PAGEREF _Toc250981850 h 14 HYPERLINK l _Toc250981851 3 X3D系統(tǒng)設(shè)計 PAGEREF _Toc250981851 h 16 HYPERLINK l _Toc250981852 3.1 X3D設(shè)計實現(xiàn)的策略 PAGEREF _Toc250981852 h 16 HYPERLINK l _Toc250981853 3.2 X3D編程模型及數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc250981853 h 17 HYPERLINK l _Toc250981854
11、3.2.1 X3D編程模型 PAGEREF _Toc250981854 h 17 HYPERLINK l _Toc250981855 3.2.2 X3D的數(shù)據(jù)結(jié)構(gòu) PAGEREF _Toc250981855 h 18 HYPERLINK l _Toc250981856 4 X3D原型系統(tǒng)實現(xiàn)技術(shù) PAGEREF _Toc250981856 h 19 HYPERLINK l _Toc250981857 4.1 系統(tǒng)軟硬件環(huán)境 PAGEREF _Toc250981857 h 19 HYPERLINK l _Toc250981858 4.2 分模塊詳述X3D原型系統(tǒng)各部分的實現(xiàn)方法 PAGEREF
12、_Toc250981858 h 19 HYPERLINK l _Toc250981859 4.2.1 辦公大樓X3D代碼文件頭 PAGEREF _Toc250981859 h 21 HYPERLINK l _Toc250981860 4.2.2 辦公大樓X3D代碼文件體 PAGEREF _Toc250981860 h 22 HYPERLINK l _Toc250981861 4.2.3 電教室VRML文件的轉(zhuǎn)換 PAGEREF _Toc250981861 h 35 HYPERLINK l _Toc250981862 5 結(jié)論與展望 PAGEREF _Toc250981862 h 39 HYPE
13、RLINK l _Toc250981863 致謝 PAGEREF _Toc250981863 h 40 HYPERLINK l _Toc250981864 參考文獻 PAGEREF _Toc250981864 h 41- PAGE 56 -基于X3D的虛擬現(xiàn)實設(shè)計與實現(xiàn)方案的研究 指導(dǎo)教師: 1 引言研究基于X3D虛擬現(xiàn)實設(shè)計與方案的背景1.1.1 相關(guān)背景 Internet飛速發(fā)展,互聯(lián)網(wǎng)已成為人們交流的重要手段,為人們快速獲取,發(fā)布和傳遞消息提供重要渠道。現(xiàn)代技術(shù)日新月異,Web3D網(wǎng)絡(luò)三維立體虛擬現(xiàn)實網(wǎng)頁技術(shù)也在不斷發(fā)展,從VRML(Virtual Reality Modeling La
14、nguage)虛擬現(xiàn)實建模語言開始,互聯(lián)網(wǎng)進入了三維立體網(wǎng)絡(luò)空間時代。 然而VRML沒能一統(tǒng)網(wǎng)絡(luò)天下,后面陸續(xù)出現(xiàn)Atmosphere、Blaxxun3D、Cult3D,F(xiàn)luid3D,Java3D,Viewpoint,Pulse3D,Shout3D,ShockWave3D、Vecta3D等等。這些技術(shù)各具特點,主要應(yīng)用于電子商務(wù)、網(wǎng)絡(luò)娛樂、遠程教育、企業(yè)數(shù)據(jù)可視化等領(lǐng)域,但也帶來了標準混亂,互不兼容等問題。 X3D的前身是VRML,VRML的發(fā)展一度由于硬件問題帶寬問題停滯發(fā)展,在1994年推出VRML2.0就沒有更新版本了,很多人以為VRML就此消亡,然而1998年底,VRML聯(lián)盟更名We
15、b3D聯(lián)盟并在1999年底確定建立X3D統(tǒng)一網(wǎng)絡(luò)三維標準,2002年宣布草案,2004年8月X3D被國際標準化組織(ISO)批準通過為國際標準ISO/IEC 19775,正式成為國際通用標準。新一代的國際標準X3D(Extensible 3D)的誕生有望統(tǒng)一互聯(lián)網(wǎng)3D圖形軟件規(guī)范,技術(shù)和產(chǎn)品。X3D是可擴展的,任何開發(fā)者都可以根據(jù)自己的需求擴展其功能,無論是小型3D展示還是廣播級應(yīng)用,X3D將成為大家遵循的規(guī)范標準,這樣將結(jié)束標準混亂,互不兼容的問題,X3D的前途大有所為,X3D必將為網(wǎng)絡(luò)三維立體虛擬現(xiàn)實技術(shù)的發(fā)展提供強有力的支持。如下表1-1所示,看見網(wǎng)絡(luò)三維標準有多么混亂,各種格式的差距區(qū)
16、別巨大: 表1-1 幾種網(wǎng)絡(luò)3D技術(shù)的比較名稱瀏覽器要求運行平臺特點Cult3D 需要插件Win ,MacOS,SunOS,Linux,HP AIX等基于JAVA,文件體積小,圖像質(zhì)量好,不需硬件支持Viewpoint需要插件Win,MacOS基于XML,可伸縮,流式傳輸,高壓縮比Atmosphere需要插件Win,MacOS可連接多用戶,實現(xiàn)虛擬社區(qū),光照追蹤算法,室內(nèi)展示效果好,自然重力,碰撞模擬Shout3D不需插件Win,MacOS,UNIX基于JavaApplet,遵循X3D規(guī)范Blaxxun3D不需插件Win,MacOS,UNIX遵循X3D規(guī)范B3D需要插件Win流式傳輸Java3
17、D需虛擬機Win,SunOS,MacOS等可以調(diào)用VRML場景1.1.2 X3D標準推出的目的X3D作為國際標準受到了各界廣泛的關(guān)注,支持和期待。X3D并不是一個全新的標準,X3D的一個發(fā)展就使VRML組件化,讓應(yīng)用者根據(jù)自己的需求對X3D的功能進行割舍,X3D的出現(xiàn)是還為了不同3D內(nèi)容創(chuàng)作的數(shù)據(jù)在3D行業(yè)不同應(yīng)用中交流中保持一致性,如在模擬3D引擎,游戲,專業(yè)或消費類硬件和移動設(shè)備中使用的3D文件,確保數(shù)據(jù)的耐用性,數(shù)據(jù)的互可操作性。使用工業(yè)化標準XML,使X3D不依賴于任何一個組織,在任何時間都能使用,不受資金和權(quán)限限制,可擴展的配置文件定義和組件化的功能設(shè)置,適應(yīng)底層硬件,公開提供源代碼
18、且免版稅。ISO認證為核心提供規(guī)格,擴展和修正,與其他標準組織W3C的活動,包括協(xié)會,建立可互操作的XML協(xié)議和技術(shù),可擴展允許特定功能可以很容易提供垂直市場應(yīng)用的補充。W3C發(fā)展的概況,可以確保可靠性和X3D的文件和應(yīng)用程序的一致性每個一致性測試。 X3D的定義及其知識基礎(chǔ)1.2.1 什么是X3DX3D一種無需任何授權(quán)費用的開放標準的文件格式以及運行架構(gòu),使用XML來描述與交換的3D場景和對象。它是一套國際標準化組織ISO認可了的標準,為應(yīng)用程序網(wǎng)絡(luò)系統(tǒng)中嵌入實時圖形內(nèi)容而提供存儲、恢復(fù)及回放的系統(tǒng),在一種開放式架構(gòu)中支持各式各樣的領(lǐng)域與用戶種類,其結(jié)構(gòu)如下圖1-1所示:圖1-1 X3D的瀏
19、覽的體系結(jié)構(gòu) X3D具有一整套豐富的組件化特性,能勝任工程、科學可視化、CAD與建筑、醫(yī)學可視化、培訓與仿真、多媒體、娛樂、教育,以及更多的工作。作為虛擬現(xiàn)實建模語言中演變的明顯更成熟、更優(yōu)雅的X3D標準,可以作為所有應(yīng)用程序及網(wǎng)絡(luò)應(yīng)用程序之間3D數(shù)據(jù)實時通信開發(fā)工作的良好開端。X3D是基于VRML所發(fā)展出來的新標準,它繼承了來自VRML的經(jīng)驗及血統(tǒng),并且有著更為強大的能力。現(xiàn)在X3D的存在已經(jīng)取代了VRML,但它也對現(xiàn)有的VRML內(nèi)容及瀏覽器提供了支援,讓仍現(xiàn)存的VRML不需經(jīng)過即可在任何的X3D瀏覽器,它可以完全的對VRML提供支援。1.2.3 X3D支持的特性 X3D作為一種新的網(wǎng)絡(luò)三維
20、標準,它整合了XML的關(guān)鍵:Web Services,分布式網(wǎng)絡(luò),跨平臺、跨應(yīng)用程序的文件與數(shù)據(jù)交換,并且支持了很多新的特性,能夠支持的特性有以下:X3D支持實時3D圖形及可編程渲染 ,可以支持多面體、參數(shù)化幾何體,多層次變換、燈光、材質(zhì)、多通道/多級紋理映射、像素與頂點渲染及硬件加速。X3D也支持2D圖形,可以用空間化的文本;2D矢量圖形;2D/3D使用。X3D支持CAD數(shù)據(jù),可以將X3D作為CAD數(shù)據(jù)轉(zhuǎn)換為一種開放的格式,可供出版和交互式媒體使用。X3D支持動畫,X3D可以利用計時器及插補器來驅(qū)動連續(xù)性動畫,輸出仿人體動畫與變形。 X3D支持空間化的音頻與視頻,人們可使用可視化的聲源映射到
21、場景中的幾何體上,圖形圖像是實時的,交互式的,高質(zhì)量的,并且3D數(shù)據(jù)中包括多媒體視頻或者音頻。 X3D支持用戶交互,人們可以用基于鼠標的拾取與拖拽還有鍵盤輸入等操作。X3D支持導(dǎo)航和攝像,用戶可以在3D場景中的移動,并且支持碰撞檢測,還有靠近與可見性檢測使用戶能感受真正的虛擬現(xiàn)實。 X3D支持用戶定義的對象,用戶可以通過創(chuàng)建用戶自定義的數(shù)據(jù)類型來擴展瀏覽器內(nèi)置功能,并且具有可擴展性,X3D允許為垂直于市場應(yīng)用和服務(wù)添加組件以便擴展X3D功能,X3D支持組件化,允許輕量級的3D運行核心引擎,使得其更容易適合各種平臺。X3D還支持腳本,用戶可以通過編程語言和腳本語言動態(tài)改變場景,例如用JavaSc
22、ript連接控制場景。 X3D支持網(wǎng)絡(luò),能夠整合單一X3D場景和網(wǎng)絡(luò)上X3D場景的資源;通過超鏈接的方式對象鏈到其他場景或WWW上其他資源。 X3D還支持物理仿真與實時通信,仿人體動畫,空間地理信息數(shù)據(jù),與分布式交互仿真(DIS)協(xié)議整合。以上特性看來X3D是全面的先進的非常有前途的一種技術(shù),發(fā)展空間廣闊。 1.2.4 X3D Profile(輪廓)與一致性在X3D中Profile(輪廓)指對某個應(yīng)用領(lǐng)域或某個應(yīng)用級別的一種定義或聲明,可以控制應(yīng)用程序?qū)ο到y(tǒng)資源的使用,在具體的應(yīng)用中,我們可以把它理解為應(yīng)用范圍或應(yīng)用級別或概貌。X3D的組件模塊化架構(gòu)使得可以有各種層次的profile,可以增強
23、虛擬環(huán)境沉浸性還有加強它交互能力,專注于市場應(yīng)用中-由模塊化功能(組件)組成的小的可下載的占更小空間數(shù)據(jù)的交換格式。以便易于被應(yīng)用程序和內(nèi)容開發(fā)者理解和實現(xiàn).一種基于組件的架構(gòu)支持創(chuàng)建各種不同的能夠單獨支持的profile。通過添加新的“層次”(level),組件可以單獨被擴展或修改,也可以增加 新的組件來引進新的特性。通過這種機制,X3D規(guī)范中的一些發(fā)展可以很快活動起來,因為一個領(lǐng)域的開發(fā)不會拖慢整個X3D規(guī)范的進度。基本的X3D輪廓(Profiles)其輪廓結(jié)構(gòu)如下圖1-2所示 圖1-2 X3D的Profile輪廓圖Interchange 是應(yīng)用程序間通信的最基本的級別聲明。它支持幾何體、
24、紋理、基本的燈光和動畫。其中運行時沒有模型被渲染,使得它非常容易整合到任何應(yīng)用程序中。 Interactive 通過加入各種傳感器節(jié)點,實現(xiàn)用戶導(dǎo)航和交互,如 PlanseSensor,TouchSensor,加強的計時器和燈光,使得3D環(huán)境具有一些基本的交互能力。 Immersive 具有完整的3D圖形和交互能力,包括音頻支持、碰撞檢測、霧和腳本。 Full 所有定義的節(jié)點,包括NURBS、H-Anim和地理組件。另外的X3D Profile,正在Web3D聯(lián)盟旗下的小組開發(fā),如下:MPEG-4 Interactive 是Interactive profile的一個小容量的版本,為廣播、手持
25、設(shè)備和移動電話設(shè)計。 CDF (CAD Distillation Format) 則還在開發(fā)中,將CAD數(shù)據(jù)轉(zhuǎn)換為一種開放的格式,提供出版和交互式媒體使用1.2.5 X3D開發(fā)聯(lián)盟Web3DX3D是由Web3D組織倡導(dǎo)制定的標準,Web3D是一個非盈利的、國際標準化組織,已經(jīng)進行過VRML 1.0和2.0規(guī)范的開發(fā)。現(xiàn)在,Web3D協(xié)會利用它的廣發(fā)的工業(yè)支持,開發(fā)X3D規(guī)范,使得應(yīng)用程序與遠程網(wǎng)絡(luò)和WEB服務(wù)之間能夠在Web上進行通 信。通過ISO與W3C的良好協(xié)調(diào)效果,Web3D組織在堅持和擴展它的標準化活動。Web3D組織將會支持一個協(xié)作式環(huán)境,并推動開放式標準、無需授權(quán)費用的基于XML的
26、3D交換格式的開發(fā)計劃,以及WEB、分布式網(wǎng)絡(luò)和移動設(shè)備上,各種不同創(chuàng)作和表現(xiàn)的硬件和軟件環(huán)境下,3D場景和對象的表現(xiàn)和通信。1.2.6 關(guān)于VRML的基礎(chǔ)知識VRML(Virtual Reality Modeling Language)即虛擬現(xiàn)實建模語言。是一種用于建立真實世界的場景模型或人們虛構(gòu)的 HYPERLINK /view/530652.htm t _blank 三維世界的場景 HYPERLINK /view/44500.htm t _blank 建模語言,也具有平臺無關(guān)性。本質(zhì)上是一種面向web,面向?qū)ο蟮娜S造型語言,而且它是一種解釋性語言。VRML的對象稱為結(jié)點,子結(jié)點的集合可
27、以構(gòu)成復(fù)雜的景物。結(jié)點可以通過實例得到復(fù)用,對它們賦以名字,進行定義后,即可建立動態(tài)的VR(虛擬世界)。VRML不僅支持數(shù)據(jù)和過程的三維表示,而且能提供帶有音響效果的結(jié)點,用戶能走進視聽效果十分逼真的虛擬世界(如簡易迷宮、國際象棋)。用戶使用虛擬對象表達自己的觀點,能與虛擬對象交互,為用戶對具體對象的細節(jié),整體結(jié)構(gòu)和相互關(guān)系的描述帶來的新的感受。如下圖1-3所示:圖1-3 當時使用Lightscaps等三維軟件制作的單紋理VRML場景1.2.7 關(guān)于虛擬現(xiàn)實的基礎(chǔ)知識虛擬現(xiàn)實(Virtual Reality,簡稱VR),又稱靈境技術(shù)或人工環(huán)境。虛擬現(xiàn)實是利用電腦模擬產(chǎn)生一個三維空間的虛擬世界,
28、提供使用者關(guān)于視覺、聽覺、觸覺等感官的模擬,讓使用者如同身歷其境一般,可以及時、沒有限制地觀察三度空間內(nèi)的事物。概括地說,虛擬現(xiàn)實是人們通過計算機對復(fù)雜數(shù)據(jù)進行可視化操作與交互的一種全新方式,與傳統(tǒng)的人機界面以及流行的視窗操作相比,虛擬現(xiàn)實在技術(shù)思想上有了質(zhì)的飛躍。虛擬現(xiàn)實設(shè)備如下圖1-4所示:(圖1-4 虛擬現(xiàn)實設(shè)備:從左上到右下分別為遙控手柄、感應(yīng)頭盔、數(shù)據(jù)手套和另一個遙控手柄)一般來說,一個完整的虛擬現(xiàn)實系統(tǒng)由虛擬環(huán)境、以高性能計算機為核心的虛擬環(huán)境處理器、以頭盔 顯示器為核心的視覺系統(tǒng)、以語音識別、聲音合成與聲音定位為核心的聽覺系統(tǒng)、以方位跟蹤器、數(shù)據(jù)手套和數(shù)據(jù)衣為主體的身體方位姿態(tài)跟
29、蹤設(shè)備,以及味覺、嗅覺、觸覺與力學反饋系統(tǒng)等功能單元構(gòu)成。完整的虛擬現(xiàn)實活動艙如下圖1-5所示:(圖1-5 單人沉浸式虛擬現(xiàn)實活動艙) 近來國內(nèi)外X3D課題的研究現(xiàn)狀1.3.1 近來國內(nèi)外X3D課題的研究現(xiàn)狀 國外研究以Wed3D聯(lián)盟為領(lǐng)頭人,分成工作組分別對X3D的各個方面進行研究,分工詳細,成果很豐富。因為成員同意知識產(chǎn)權(quán)(IPR)的政策,有效地防止被X3D的通過的任何專利為基礎(chǔ)的技術(shù)。例如X3D &HTML5工作組,負責X3D在HTML5規(guī)范方面的研究。其目標是讓使用本地聲明和XML為基礎(chǔ)的X3D場景支持可縮放矢量圖形(SVG)和數(shù)學標記語言(MATHML)。X3D醫(yī)療工作組,負責醫(yī)學影
30、像(DICOM)在X3D中的使用研究,使X3D正確的無誤的支持三維醫(yī)學影像圖形。X3D移動工作組,負責移動平臺的X3D,使基礎(chǔ)的X3D正確支持三維圖形的移動平臺,這是X3D通用性的體現(xiàn),X3D移動工作組為實現(xiàn)這一目的努力。X3D地球工作組,負責地球空間研究探索世界模式的行為,類似谷歌地球但比其更加真實的研究。如下圖1-6所示:圖1-6 X3D地球工作組項目示意國內(nèi)研究X3D的人很少,基本上是以個人為單位去研究,中國在X3D技術(shù)方面的研究要落后于西方國家,中國臺灣科技大學設(shè)計研究所的教授帶領(lǐng)學生研究X3D項目,同樣只是基礎(chǔ)相關(guān)知識的研究且研究發(fā)展很慢。1.3.2 現(xiàn)行研究X3D存在的問題第一個問
31、題是X3D出現(xiàn)的時間比較短,國內(nèi)研究的人很少,與X3D相關(guān)的著作很少,比較多的是X3D的前輩VRML的著作,對X3D只是略微介紹,其實X3D與VRML有很多不同,卻無人有專門的著作;外國的專門的著作也很少,最出色的書是X3D: Extensible 3D Graphics for Web Authors,介紹的比較詳細,不過由于是英文閱讀起來有很多不便。現(xiàn)行研究X3D存在問題的解決方法無他,細心收集總結(jié),還有就是對外國文獻的翻譯。第二個問題就是創(chuàng)作工具少,X3D發(fā)展慢的原因就是因為創(chuàng)作工具太少,而且使用不方便,X3D的創(chuàng)作軟件如下表1-2所示: 表1-2 X3D創(chuàng)作軟件軟件名稱開發(fā)者X3D-E
32、ditWeb聯(lián)盟BS EditorBitManagementVivaty StudioSwirlX3D EditorPinecoast SoftwareWings3DNendo and Mirai from IzwareBlender/Blender 基金會各個創(chuàng)作軟件的優(yōu)缺點:官方組織軟件X3D-Edit使用的是代碼編寫模式,對創(chuàng)作復(fù)雜模型很不方便,而且與SUN公司的Net Beans IDE相結(jié)合,如果不熟悉使用該工具進行JAVA編程,創(chuàng)作X3D會有很大困難。如下圖1-7:圖1-7 X3D-Edit界面BS Editor由BitManagement公司出品也是一種代碼編寫模式的創(chuàng)造軟件,與
33、X3D-Edit有著相同的問題,不能所見即所得。如下圖1-8:圖1-8 BS Editor界面Vivaty Studio是一種所見即所得的軟件,創(chuàng)作比較方便,不過目前版本是bata1.0,其穩(wěn)定性和功能完善性有待測試和完善,如下圖3:圖1-9 Vivaty Studio界面Wings3D是一個自由開放源碼X3D/VRML創(chuàng)作環(huán)境,也是一種所見即所得的創(chuàng)造軟件,由于其創(chuàng)作方法比較復(fù)雜,很少人使用。Blender國際上比較有名的開源的三維軟件,它也提供了X3D的插件和出口,不過它比較依賴于插件提供的功能,否則復(fù)雜模型無法完整輸出。SwirlX3D Editor是Pinecoast軟件公司出品的X3
34、D/VRML創(chuàng)作軟件,也是代碼編寫模式,且使用起來還沒上兩種專業(yè)和方便。本課題研究要達到的目標由于X3D技術(shù)隨著互聯(lián)網(wǎng)的進步其自身也在不斷發(fā)展,從ISO/IEC 19775:2004 到ISO/IEC 19775-1.2:2008,標準不斷更新,開發(fā)工具和方法也日新月異,隨著帶寬的不斷增長X3D在不斷的成長,為各大知名公司所采用,如Autodesk ,Adobe等公司均保持著與X3D虛擬現(xiàn)實技術(shù)緊密聯(lián)系,或有相關(guān)接口,或有相關(guān)產(chǎn)品發(fā)布,所以基于X3D的虛擬現(xiàn)實設(shè)計和實現(xiàn)方案成為了迫切需要研究的課題。本文的目的就是通過分析當前X3D的發(fā)展情況,探索X3D的技術(shù)特點,探索和比較X3D性能和優(yōu)劣勢,
35、研究X3D虛擬現(xiàn)實的設(shè)計和實現(xiàn),通過原型系統(tǒng)的設(shè)計和實現(xiàn),從而了解X3D的構(gòu)建方法,實現(xiàn)虛擬現(xiàn)實,為研究X3D探尋一條簡單易行的方案,為用戶發(fā)展X3D技術(shù)提供依據(jù),并對X3D的發(fā)展前景進行探討和展望。2 X3D要解決的幾個關(guān)鍵問題2.1 設(shè)計中要解決的問題2.1.1 復(fù)雜場景的搭建問題很多X3D都是代碼方式編寫,對復(fù)雜場景搭建十分麻煩而且工作量大速度慢,而相關(guān)的以所見即所得方式編寫X3D的軟件,其操作性,貼圖和場景重現(xiàn)性都有各自的缺點,不像行業(yè)軟件3DS Max ,MAYA那樣方便這樣對于復(fù)雜場景的搭建,熟悉行業(yè)軟件3DS Max ,MAYA的人對這些X3D編輯軟件都要一個適應(yīng)過程,中間也有不
36、少問題需要解決2.1.2 場景和動畫交互的控制問題 因為虛擬場景實現(xiàn)的固有難度以及各種相關(guān)技術(shù)的制約,目前所開發(fā) 的虛擬現(xiàn)實場景,大多存在交互性弱、沉浸感不強、實驗過程由插值動畫完成等諸多問題, 沒有很好地體現(xiàn)通過浸沒感(Immersion)來完成體驗或者相關(guān)技能的體驗這一場景設(shè)計目標,不能反映現(xiàn)實世界的本來面目,致使在虛擬現(xiàn)實場景中的體驗效果不甚理想。 2.2 實現(xiàn)過程中所采用的關(guān)鍵技術(shù)2.2.1 復(fù)雜場景關(guān)鍵技術(shù)及其復(fù)雜性的研究校園等場景是復(fù)雜場景,主要利用二維模型來表現(xiàn)場景中的物體,用二維掃描儀及建模上具(如AUTOCAD和3DMAX等)來構(gòu)建幾何體的模型,為了提高場景的真實感,采用了紋
37、理拼貼、空間布光等方法。為了提高仿真速度,對復(fù)雜的模型采用了LOD的建模力法。搭建場景的步驟一個虛擬環(huán)境場景的建立主要包括兩部分:創(chuàng)建環(huán)境和環(huán)境漫游。模型的建立是創(chuàng)建虛擬環(huán)境、實現(xiàn)虛擬漫游的基礎(chǔ)。對于主要樓房等復(fù)雜模型構(gòu)成的虛擬環(huán)境,對模型的處理顯得尤為重要。因為過多的模型細節(jié)會嚴重降低模擬的效率,系統(tǒng)的構(gòu)建流程如下圖2-1,2-2所示。根節(jié)點光照節(jié)點屬性節(jié)點霧節(jié)點幾何節(jié)點變換節(jié)點圖2-1 一棵場景樹示意圖紋理模型拼貼測量掃描紋理處理,拼接,校正 建模軟件測量數(shù)據(jù)模型虛擬場景搭建照片數(shù)據(jù)紋理實物建模圖2-2 場景搭建流程圖在建模過程中,往往要在模型的細節(jié)和復(fù)雜性之間尋求平衡,必要時用紋理代替模
38、型細節(jié)。對一個大規(guī)模的虛擬現(xiàn)實系統(tǒng),在建模過程中對模型分塊是很必要的。這一方面可以減小建模的難度,另一方面在顯示過程中可以通過分塊顯示提高仿真效率。在實際的建模過程中,可以根據(jù)需要建立模型的特點選擇建模方法。如果要建立有規(guī)則平面的幾何體,可以使用多邊形方法;如果要建立有復(fù)雜曲面的幾何體,那么最好使用面片或者NURBS,因為要達到同樣的曲面效果,面片和NURBS需 要的節(jié)點和面數(shù)要少些。在實際建模過程中,對于像室外樓宇等模型,可以采用簡單幾何體拼貼紋理的力法,對于室內(nèi)物體可以采用比較復(fù)雜的幾何體,就可以達到仿真的要求。 建好模型后,就要在場景中布置燈光。環(huán)境不同,布置燈光的力法也不同。在構(gòu)建虛擬
39、環(huán)境時一般使用環(huán)境光、直射光、點光源、聚光燈等光源,在布光時,采用二點布光的力法則,就是使用一個主光源照亮整個場景,使用一個輔光增加局部區(qū)域殼度,使用一個背光增加場景對比度。因為所建立的場景比較大,因此在布光時先將 整個場景分成幾個布光區(qū)域,然后在每個區(qū)域中使用二點布光的方法。2.2.2 場景和動畫交互關(guān)鍵技術(shù)復(fù)雜性的研究場景的交互是通過X3D的交互機制來實現(xiàn)的。X3D的交互機制與VRML的交互機制類似,具體地說,X3D交互是通過節(jié)點來實現(xiàn)的。按照在X3D 中是否引用第三方語言,將交互分為 內(nèi)部交互 和 外部交互 兩類。下面分別討論內(nèi)部交互(X3D內(nèi)部節(jié)點間的交互)和外部交互(X3D節(jié)點通過J
40、ava的接口交互)的方法。 X3D的內(nèi)部交互X3D的內(nèi)部交互是X3D 空間中各節(jié)點間的數(shù)據(jù)交互方法。內(nèi)部交互 可控制場景中的物體產(chǎn)生一些簡單行為動作:如移動對象、開門關(guān)門、播放音樂并根據(jù)觀測者距離音源的遠近控制播放音量的大小等等。通過Anchor錨節(jié)點,route to路由節(jié)點及感知器節(jié)點實現(xiàn)的X3D內(nèi)部交互機制,基本上能夠?qū)崿F(xiàn)場景的簡單交互。例如下圖2-3所示,A,B,C三個節(jié)點,由某個節(jié)點中的欄位發(fā)送一個值,經(jīng)由ROUTE,傳至另一個節(jié)點中的某個欄位,這樣就是一次事件的傳遞, X3D中藉由事件的接收與發(fā)送而產(chǎn)生各種事件引發(fā)的動作行為。 如下圖,Event1 事件表示由NodeA 節(jié)點中的f
41、ieldA1 欄位發(fā)送一個值,將fieldA1 欄位中的值傳給NodeC 節(jié)點中的fieldC2 欄位,如果寫成X3D的語法會是:如下圖,事件1事件表示由A節(jié)點中的屬性A1欄位發(fā)送一個值,將屬性A1欄位中的值傳給C節(jié)點中的屬性C2欄位。當感測器節(jié)點或 HYPERLINK /translate_c?hl=zh-CN&ie=UTF8&sl=zh-TW&tl=zh-CN&u=.tw/node/Script.html&rurl=&usg=ALkJrhi_bJgdks8INhGhDYDMW_LXM6WIWg Script節(jié)點產(chǎn)生起始事件,進而導(dǎo)致產(chǎn)生一連串的連鎖事件時,所有的連鎖事件都被視為同時發(fā)生。當
42、感知節(jié)點或產(chǎn)生起始事件,進而導(dǎo)致產(chǎn)生一連串的連鎖事件時,所有的連鎖事件都被視為同時發(fā)生。 例如下圖中NodeA 節(jié)點所發(fā)送的Event1 事件導(dǎo)致NodeC 節(jié)點產(chǎn)生Event2 事件,進而導(dǎo)致NodeB 節(jié)點產(chǎn)生Event4 事件,即便X3D瀏覽器實際上在執(zhí)行時或許會有時間差,但理論上Event1、Event2、Event4 這三個事件都是視為同時發(fā)生的。例如下圖中A節(jié)點所發(fā)送的事件1導(dǎo)致C節(jié)點產(chǎn)生事件2,進而導(dǎo)致B節(jié)點產(chǎn)生事件4,即便X3D瀏覽器實際上在執(zhí)行時或許會有時間差,但理論上事件1、事件2、事件4 這三個事件都是視為同時發(fā)生的。 如果節(jié)點中的欄位發(fā)送事件給多個節(jié)點,或者接收來自多個
43、節(jié)點中的事件,那這些事件也都被視為同時發(fā)生,如果您設(shè)定了這種ROUTE,要注意事件發(fā)生的順序應(yīng)該沒有任何影響。如果節(jié)點中的欄位發(fā)送事件給多個節(jié)點,或者接收來自多個節(jié)點中的事件,那這些事件也都被視為同時發(fā)生,如果您設(shè)定了這種ROUTE,要注意事件發(fā)生的順序應(yīng)該沒有任何影響。 例如下圖中,NodeA 節(jié)點中的fieldA1 欄位分別發(fā)送事件給NodeB 及NodeC 節(jié)點,瀏覽器會認為Event3 和Event1 事件是同時發(fā)生的,同理,Event3 和Event2 也是同時發(fā)生的。例如下圖中,A節(jié)點中的屬性A1欄位分別發(fā)送事件給B及C節(jié)點,瀏覽器會認為事件3和事件1事件是同時發(fā)生的,同理,事件3
44、和事件2也是同時發(fā)生的。 事件發(fā)生時,除了傳遞的值之外,瀏覽器會自動給定該事件一個時間戳記,這個值是一個SFTime,以表示事件所發(fā)生的時間。 B節(jié)點A節(jié)點C節(jié)點屬性欄C1屬性欄A1屬性欄B1屬性欄C2屬性欄A2屬性欄B2事件4事件2屬性欄C3屬性欄B3屬性欄A3事件3事件1圖2-3 事件傳送范例視圖但是因為這種變化參數(shù)是事先預(yù)備的,不夠靈活,況且X3D本身并不具備普通程序 設(shè)計中的轉(zhuǎn)折、分支判斷、循環(huán)等基本功能,因此無法完成復(fù)雜運動的交互 與控制。因此,在虛擬實驗系統(tǒng)的實際設(shè)計中,大多采用X3D的內(nèi)部外部交互相結(jié)合來實現(xiàn)復(fù)雜運動的交互與控制。VRML的外部交互在外部交互中,X3D引入了Scr
45、ipt節(jié)點。其實現(xiàn)思想是: Script節(jié)點中的域URL指定一段實現(xiàn)事件處理的Java程序代碼或腳本JavaScript,然后將程序計算返回的結(jié)果遞交給Script節(jié)點的輸出事件,再通過route to將該事件傳遞給場景中某對象的相關(guān)域,達到改變場景的目的;或者直接由Script節(jié)點中指定的第三方程序控制X3D場景。3 X3D系統(tǒng)設(shè)計3.1 X3D設(shè)計實現(xiàn)的策略X3D的體系結(jié)構(gòu) X3D的體系結(jié)構(gòu)的設(shè)計是根據(jù)軟件構(gòu)件技術(shù)為指導(dǎo)的。構(gòu)件技術(shù)來源于面向?qū)ο罄碚摚谧钚碌腦3D規(guī)范中,使用了構(gòu)件技術(shù)對X3D規(guī)范進行實現(xiàn),以增強對其他編程語言的交互性。X3D的組件化設(shè)計使開發(fā)者能夠更容易的加入更多的特性
46、,也可以從現(xiàn)有特性進行更多的擴展。構(gòu)件指的是功能相關(guān)的一個或多個節(jié)點類型的一個集合,一個構(gòu)件擴展內(nèi)核在特定領(lǐng)域的功能。X3D的一個發(fā)展就是把VRML97進行組件化。X3D把VRML97的關(guān)鍵特性封裝在一個小型可擴展的內(nèi)核里,然后通過特性集擴展內(nèi)核,實現(xiàn)較復(fù)雜的應(yīng)用程序定義。組件化的應(yīng)用減少了對資源的占用,避免的再產(chǎn)生像VRML97那樣的封閉的標準。如下圖3-1所示,X3D的體系結(jié)構(gòu)組件化能夠?qū)崿F(xiàn)更多的擴展。圖3-1 X3D的體系結(jié)構(gòu)模型3.2 X3D編程模型及數(shù)據(jù)結(jié)構(gòu)3.2.1 X3D編程模型我使用的編程模型類似于瀑布模型,如下圖3-2所示:其他X3D編輯器Max,Blender,Maya建模
47、軟件自己編碼設(shè)計VRML模型轉(zhuǎn)換COLLADA交互3D數(shù)字資產(chǎn)交換Vivaty Studio 編輯器BS Contact VRML-X3D瀏覽器,Vivaty Player瀏覽器,或者其它瀏覽器或瀏覽插件測試 圖3-2 X3D編程模型示意圖我主要使用的X3D編輯工具是Vivaty Studio 編輯器。我制作X3D主要通過如示意圖所示的四種方案制作:先使用MAX,Maya或Blender制作模型場景,再通過COLLADA方法轉(zhuǎn)換成Vivaty Studio 編輯器使用。COLLADA - 交互3D數(shù)字資產(chǎn)交換方案是面向交互式 3D 應(yīng)用程序的基于 XML 的數(shù)字資產(chǎn)交換方案,使 3D 創(chuàng)作應(yīng)用
48、程序可以自由地交換數(shù)字資產(chǎn)而不損失信息 - 使多種DCC和3D處理軟件包可以組合成強大的工具鏈管道。獨特的交互模式提供了廣泛全面的視覺編譯。COLLADA FX支持使用 OpenGL ES 著色語言創(chuàng)作和封裝著色器,以使一流的 3D 創(chuàng)作工具可以有效協(xié)作創(chuàng)建 OpenGL / OpenGL ES 應(yīng)用程序和資產(chǎn)。然后使用Vivaty Studio 編輯器編輯動畫和交互等,最后綜合測試,輸出X3D作品。直接使用Vivaty Studio 編輯器編輯模型場景和動畫交互等,然后綜合測試輸出X3D作品。 使用軟件將VRML文件進行轉(zhuǎn)換,然后再有 Vivaty Studio編輯修改,然后輸出。使用其他X
49、3D編輯器,如X3D Tool,BS Editor,Net Beans IDE 6.7.1編輯,然后再Vivaty Studio 編輯器修改,最后綜合測試,輸出X3D作品。3.2.2 X3D的數(shù)據(jù)結(jié)構(gòu) X3D的數(shù)據(jù)結(jié)構(gòu)是樹形結(jié)構(gòu)X3D數(shù)據(jù)結(jié)構(gòu)在嵌套的節(jié)點中,最頂層的節(jié)點就是根節(jié)點,由它派生整個場景的全部節(jié)點。父節(jié)點是由根節(jié)點派生出來的,再由父節(jié)點派生子節(jié)點,循環(huán)下去直至全部場景。根據(jù)X3D語法結(jié)構(gòu)的要求,除了根節(jié)點,其他節(jié)點之間可以并列或?qū)訉忧短资褂谩2煌饔玫墓?jié)點有著不同的語法結(jié)構(gòu),父節(jié)點可以包括一個或多個子節(jié)點,子節(jié)點也可以包括一個或多個葉節(jié)點。其結(jié)構(gòu)如下圖3-3所示場景(Scene)根節(jié)
50、點Shape節(jié)點父節(jié)點Appearance節(jié)點Sphere節(jié)點子節(jié)點Other節(jié)點Geomety節(jié)點葉節(jié)點圖3-3 X3D數(shù)據(jù)結(jié)構(gòu)示意4 X3D原型系統(tǒng)實現(xiàn)技術(shù)4.1 系統(tǒng)軟硬件環(huán)境原型程序采用的開發(fā)環(huán)境:如下表4-1: 表4-1 系統(tǒng)開發(fā)環(huán)境類型軟硬件開發(fā)語言X3D,VRML,HTML,XML集成軟件開發(fā)環(huán)境Net Beans IDE 6.7.1,Vivaty Studio 1.0 Beta,BS Editor建模工具Autodesk 3ds Max 9 32 位,Blender 2.49b圖像圖片處理工具Adobe Photoshop CS4, Autodesk Stitcher Unli
51、mited 2009運行平臺Microsoft Windows XP sp3. Microsoft Internet Explorer 6.0及BS插件,BS Contact VRML-X3D瀏覽器運行硬件配置處理器 Intel Pentium 4 Processor內(nèi)存 785648 KB顯示卡 ATI Radeon 9550 / X1050 Series主硬盤 ExcelStor Technology J880攝影器材Premier DC-S57 5.0 MEGAPIXEL4.2 分模塊詳述X3D原型系統(tǒng)各部分的實現(xiàn)方法我做的原型系統(tǒng)為韶關(guān)學院虛擬全景導(dǎo)航地圖,結(jié)構(gòu)如下圖4-1所示,其模塊
52、分為引導(dǎo)網(wǎng)頁模塊和虛擬場景瀏覽模塊。地圖引導(dǎo)主頁網(wǎng)站主頁辦公大樓場景南二教學樓場景南一教學樓場景其他場景其他場景圖4-1 X3D原型系統(tǒng)模塊結(jié)構(gòu)引導(dǎo)網(wǎng)頁模塊: 采用普通html網(wǎng)頁,主要是虛擬現(xiàn)實場景的介紹和操作的指引,還有相關(guān)插件的下載引導(dǎo),還有就是實現(xiàn)權(quán)限控制:虛擬場景的添加,刪除和修改(與現(xiàn)今網(wǎng)站設(shè)計方法相同,只需實現(xiàn)相關(guān)網(wǎng)頁的添加,刪除和修改即可)。虛擬場景瀏覽模塊:虛擬場景文件結(jié)構(gòu)類似,這里主要敘述辦公大樓場景的文件結(jié)構(gòu)和構(gòu)建途徑,其次,還通過對一個電教室VRML模型場景轉(zhuǎn)換成X3D模型場景,來探尋X3D的構(gòu)建方法,實現(xiàn)X3D虛擬全景,為研究X3D探尋一條簡單易行的方案。辦公大樓場景
53、代碼結(jié)構(gòu)分析:辦公大樓虛擬場景X3D的文件設(shè)計結(jié)構(gòu)如下圖4-2所示X3D文件結(jié)構(gòu)X3D文件頭:XML宣告 DTD宣告X3D文件體概貌(profile)Head(頭文檔)Component(組件)Metadata(元數(shù)據(jù))Scene(場景)節(jié)點根節(jié)點節(jié)點圖4-2 X3D文件結(jié)構(gòu)示意圖4.2.1 辦公大樓X3D代碼文件頭每個X3D文件中,文件頭必須位于X3D文件的第一行。X3D文件時以UTF-8編碼字符集用XML編寫的文件。每個X3D文件的第一行應(yīng)該用XML的聲明語法格式(文檔頭)表示。X3D使用XML語法格式聲明:語法解釋:聲明從“” 結(jié)束Verison屬性指明編寫文檔的XML的版本號Encod
54、ing屬性是可選項,表示使用編碼字符集,在X3D中默認使用國際UTF-8編碼字符集 接下來是X3D文檔聲明,X3D文檔什么用來在文檔中詳細的說明文檔的信息,必須在出現(xiàn)在文檔的第一個元素錢,文檔類型采用DTD格式。DTD 是一套關(guān)于標記符的語法規(guī)則。它是XML1.0版規(guī)格得一部分,是XML文件的驗證機制,屬于XML文件組成的一部分。DTD 是一種保證XML文檔格式正確的有效方法,可以通過比較XML文檔和DTD文件來看文檔是否符合規(guī)范,元素和標簽使用是否正確。一個DTD文檔包含:元素的定義規(guī)則,元素間關(guān)系的定義規(guī)則,元素可使用的屬性,可使用的實體或符號規(guī)則。XML文件提供應(yīng)用程序一個數(shù)據(jù)交換的格式
55、,DTD正是讓XML文件能夠成為數(shù)據(jù)交換的標準,因為不同的公司只需定義好標準的DTD,各公司都能夠依照DTD建立XML文件,并且進行驗證,如此就可以輕易的建立標準和交換數(shù)據(jù),這樣滿足了網(wǎng)絡(luò)共享和數(shù)據(jù)交互。4.2.2 辦公大樓X3D代碼文件體 X3D文件體主要描述的是X3D 主程序的概貌(profile),主程序概貌包含了組件,說明及場景中的各個節(jié)點等信息。主程序概貌中定義了一系列內(nèi)建節(jié)點及其組件集合,在X3D文檔中所使用的節(jié)點必須在指定的概貌的集合范圍內(nèi),概貌的屬性可以是:Core,Interchange,Interactive,MPEG4,Interactive,Immersive,full
56、X3D主程序概貌語法的格式:接下來是頭文檔,頭文檔(Head)用來描述場景之外的其他信息,可以在頭文檔中加入組件(component)語句,表示額外使用某組件及支援等級中的節(jié)點,頭文檔中可以加入(meta)子元素描述說明,文檔的作者,說明,創(chuàng)作日期或者著作權(quán)等相關(guān)信息。X3D頭元素描述上述代碼分別說明了我創(chuàng)作的名稱,時間,日期,創(chuàng)作工具。接下來就是X3D的主體部分:場景主題(Scene)描述包括信息化(World Info)節(jié)點,導(dǎo)航(NavigationInfo)節(jié)點,坐標變換(Transform)節(jié)點,視點(Viewpoint)節(jié)點,動畫控制節(jié)點WorldInfo(信息化)節(jié)點模塊:是對場
57、景相關(guān)信息的描述,有利于軟件開發(fā)的規(guī)范化,信息化以及工程,WorldInfo(信息化)節(jié)點提供了X3D程序的標題和認證信息,標題信息表達程序的意義,而認證信息表示軟件開發(fā)的作者的相關(guān)信息和完成時間,版權(quán),版本等信息。上述信息說明,我的軟件由Vivaty Studio創(chuàng)作。作者為678X3D的主要部分其它主要結(jié)構(gòu)如下圖4-3:三維造型節(jié)點樹模塊其中包括聲音節(jié)點模塊燈光節(jié)點模塊背景節(jié)點模塊視點導(dǎo)航節(jié)點模塊動畫感知控制節(jié)點模塊信息化節(jié)點模塊圖4-3 程序節(jié)點結(jié)構(gòu)三維造型節(jié)點樹模塊Transform(坐標變換)節(jié)點模塊,用于創(chuàng)建一個或多個不同于默認坐標系的新坐標系,然后再在新坐標系上建立不同的節(jié)點,這
58、樣新節(jié)點之間就不會重合疊加在一起例如:表示建立新的坐標系Plane01,與原坐標系的距離為-13.8044 -1.22037 -9.7061,新坐標系相對于原坐標系旋轉(zhuǎn)的旋轉(zhuǎn)軸和旋轉(zhuǎn)角度0 -1 0 -1.571 然后以Transform(坐標變換)節(jié)點為樹根添加子節(jié)點,如下圖4-4:圖4-4 添加子節(jié)點 由于我使用的三維模型由建模工具3DS Max9創(chuàng)建造型并賦予貼圖,從而變得簡單很多,不用手工編碼那么復(fù)雜,手工編碼能精確到兩位數(shù)已經(jīng)是極限了,在復(fù)雜場景的搭建中很難應(yīng)用手工編碼。三維模型場景搭建的過程如下圖4-5:導(dǎo)出.wrl文件導(dǎo)入.wrl文件轉(zhuǎn)換成X3D文件3DS MAX建模場景設(shè)計圖4
59、-5 三維模型搭建過程 在3DS MAX 9里面搭建模型場景,由于3DS MAX不少貼圖是與X3D格式不適應(yīng)的,還可以在MAX里面使用烘焙方法,制作貼圖,烘焙方式制作貼圖也就是先在3DS MAX調(diào)好貼圖,燈光,渲染最終效果,然后用烘焙,把最終效果轉(zhuǎn)化成貼圖,這樣烘焙后效果好很多,不過導(dǎo)出來的貼圖將不能與X3D場景里的燈光再成效果,搭建過程如下圖4-6所示:圖4-6 3DS MAX 9搭建模型場景然后使用BS GabH插件導(dǎo)出模型場景文件,如下圖4-7:圖:4-7 導(dǎo)出文件然后導(dǎo)入Vivaty Studio進行修改,貼圖,錯誤節(jié)點糾正調(diào)整。聲音節(jié)點模塊,場景所用的聲音模塊為一個物體的子節(jié)點,調(diào)用
60、了一個名為“001.wav”的WAV聲音文件,如下列代碼所示: Intensity定義了聲音的強度,即音量的大小。Priority定義其播放的優(yōu)先級,如果還有其他聲音的話,0表示它最先播放。Min和Max四個參數(shù)是定義聲音的最小前后點,和最大前后點,只要距離大于Min聲音開始衰減,距離大于Max將無法聽見該聲音。再下面的是引入聲音源的節(jié)點信息,設(shè)定從哪里引用錄制好的聲音文件,聲音文件的播放速度,是否循環(huán),開始和結(jié)束時間。視點導(dǎo)航節(jié)點模塊由兩部分構(gòu)成:NavigationInfo(導(dǎo)航)節(jié)點和Viewpoint(視點)節(jié)點構(gòu)成。NavigationInfo(導(dǎo)航)節(jié)點,導(dǎo)航指可以使用一個三維造型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025食品冷鏈物流合同
- 2025娛樂公司員工勞動合同模板
- 2025建筑設(shè)備租賃合同書
- 2025公寓建筑合同模板
- 2025財務(wù)分析咨詢合同
- 2025租賃及服務(wù)合同
- 2025汽車租賃合同(范本x格式)
- 2025版項目合同范本下載
- 2025版權(quán)轉(zhuǎn)讓合同范文
- 2025醫(yī)用耗材采購合同
- 廣東省深圳市羅湖區(qū)2022-2023學年六年級下學期期中數(shù)學試卷
- 150型鉆機使用說明書3
- 2024年共青團入團積極分子結(jié)業(yè)考試題庫及答案
- DZ/T 0437-2023 環(huán)境地質(zhì)調(diào)查規(guī)范(1:50000)(正式版)
- 未來趨勢與職業(yè)前景智慧樹知到期末考試答案章節(jié)答案2024年聯(lián)盟推+薦
- 2024年福建省泉州市中考二模物理試題
- 2024年江蘇省常州市中考一模道德與法治試題
- 水生產(chǎn)企業(yè)(自來水公司)安全生產(chǎn)風險分級管控和隱患排查治理雙體系方案全套資料(2021-2022版)
- 抖音賬號運營服務(wù)應(yīng)急預(yù)案
- 中藥飲片處方點評表-副本(文檔良心出品)
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
評論
0/150
提交評論