版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ( 屆)</b></p><p> 論文題目 校園教學(xué)北區(qū)場(chǎng)景的交互漫游設(shè)計(jì)</p><p> 所在學(xué)院 計(jì)算機(jī)與信息學(xué)院 </p><p> 專業(yè)班級(jí) 計(jì)算機(jī)科學(xué)與技術(shù) </p>
2、<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 日</p><p><b> 誠(chéng) 信 聲 明</b></p><p>
3、 我聲明,所呈交的畢業(yè)設(shè)計(jì)作品和論文是本人經(jīng)過(guò)近四年的基礎(chǔ)課程與專業(yè)課程學(xué)習(xí)的基礎(chǔ)上,在指導(dǎo)老師的指導(dǎo)下,經(jīng)過(guò)幾個(gè)月集中的畢業(yè)設(shè)計(jì)學(xué)習(xí)、實(shí)踐和努力工作所取得的成果。據(jù)本人查證,除了文中特別加以標(biāo)注和致謝的地方外,設(shè)計(jì)作品和論文中不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。我承諾,設(shè)計(jì)作品和論文中的所有內(nèi)容均真實(shí)、可信。</p><p> 學(xué)生簽名: </p><p>
4、; 簽名日期: 年 月 日</p><p><b> 論文目錄</b></p><p><b> 摘 要19</b></p><p> Abstract20</p><p><b> 1 引言21</b></p><p>&
5、lt;b> 2 主要技術(shù)21</b></p><p> 2.1 Vega Prime和Lynx Prime21</p><p> 2.1.1 Vega和Lynx21</p><p> 2.1.2 VP系統(tǒng)結(jié)構(gòu)22</p><p> 2.1.3 LP的界面構(gòu)成23</p><p>
6、 3 漫游系統(tǒng)的設(shè)計(jì)25</p><p> 3.1 基本場(chǎng)景的設(shè)計(jì)25</p><p> 3.1.1 場(chǎng)景布局25</p><p> 3.1.2 觀察者設(shè)置32</p><p> 3.1.3 運(yùn)動(dòng)方式的選擇33</p><p> 3.1.4 Pathtool自動(dòng)導(dǎo)航路徑35</p>
7、<p> 3.1.5 環(huán)境設(shè)置42</p><p> 3.1.6 特殊效果42</p><p> 3.2交互控制的程序?qū)崿F(xiàn)43</p><p> 3.2.1 Vega API的調(diào)用43</p><p> 3.2.2 特殊效果的控制44</p><p> 4 系統(tǒng)開(kāi)發(fā)中的問(wèn)題52<
8、/p><p><b> 5 總結(jié)54</b></p><p><b> [參考文獻(xiàn)]56</b></p><p> 附錄1:測(cè)試報(bào)告56</p><p> 附錄2:作品說(shuō)明書(shū)58</p><p><b> 摘 要</b></p>
9、<p> 虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱VR)技術(shù)是最近十多年以來(lái)計(jì)算機(jī)技術(shù)領(lǐng)域發(fā)展最快的一項(xiàng)多學(xué)科綜合技術(shù)。虛擬現(xiàn)實(shí)是以計(jì)算機(jī)技術(shù)為支持的一種人工環(huán)境,是人類與計(jì)算機(jī)以及復(fù)雜數(shù)據(jù)信息進(jìn)行交互的一種技術(shù)。</p><p> 本文針對(duì)校園場(chǎng)景模擬了虛擬校園。虛擬校園建立在虛擬現(xiàn)實(shí)技術(shù)之上,它不但可以還原校園的真實(shí)面貌于電腦上,供用戶鑒賞,還可以集成各種基礎(chǔ)數(shù)據(jù)到系統(tǒng)中,提供校園的地
10、理環(huán)境信息及其他空間數(shù)據(jù),達(dá)到真正的校園數(shù)字化漫游過(guò)程。</p><p> 本文以浙江萬(wàn)里學(xué)院校園環(huán)境為虛擬場(chǎng)景,以開(kāi)發(fā)工具Vega為平臺(tái),完成了校園仿真模型的創(chuàng)建及優(yōu)化,并在此基礎(chǔ)上利用Vega Prime 2.0,在Visual C++環(huán)境下實(shí)現(xiàn)了校園的漫游。虛擬校園的構(gòu)建對(duì)于一個(gè)學(xué)校有著極其重要的意義。</p><p> 關(guān)鍵詞:虛擬現(xiàn)實(shí),校園漫游,三維建模,Vega, Visu
11、al C++</p><p><b> Abstract</b></p><p> The recent ten years, the development of computer technology into the Virtual world field, Virtual Reality (VR), the abbreviation insgroupsto
12、 Reality the fastest growing a multidisciplinary integrated technology, Virtual Reality is a kind of artificial environment in computer technology and also is a technique with computers and extremely complex human data i
13、nteractive.</p><p> Virtual campus is based on virtual reality technology above, not only will the real appearance in computer on campus for users to watch the reduction, and can all sorts of basic data int
14、egration into the system, provide the campus geographic information data and other spatial data, realize a real campus digital roaming process.</p><p> In this paper,Based on the campus of ZheJiang WanLi Un
15、iversity as a virtual space,making use of development tool Vega,adopting hierarchical data structure,an emulation model of residential area is constructed and optimized.Based on this,by using Vega Prime 2.0,to realize th
16、e roaming of campus on Visual C++ environment. The construction of virtual campus for a school has a very important significance.</p><p> Key words: Virtual reality, Campus roaming, 3D modeling, Vega, Visua
17、l C++</p><p><b> 1 引言</b></p><p> 虛擬現(xiàn)實(shí)在最近幾年內(nèi)發(fā)展迅速,已經(jīng)發(fā)展成為了非常重要的人機(jī)交互的界面,相比于傳統(tǒng)的人機(jī)界面還有流行的視窗操作,虛擬現(xiàn)實(shí)在技術(shù)上非常明顯的提高,可以說(shuō)VR 技術(shù)的出現(xiàn)從根本上打破了人類局限于地理空間信息認(rèn)知方面觀點(diǎn)。 </p><p> 虛擬現(xiàn)實(shí)技術(shù)是一種
18、高度逼真的模擬人在自然環(huán)境中視、聽(tīng)、動(dòng)等行為的人機(jī)交互技術(shù)。該技術(shù)利用計(jì)算機(jī)產(chǎn)生逼真的三維視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)甚至味覺(jué)等感官世界。虛擬現(xiàn)實(shí)技術(shù)的突出特征是“沉浸”和“交互”。它要求計(jì)算機(jī)所創(chuàng)造的虛擬環(huán)境能使用戶具有全身心的參與感和體驗(yàn)感。</p><p> 虛擬現(xiàn)實(shí)技術(shù)在我國(guó)畢竟還是一門較新的領(lǐng)域,從事這門科學(xué)研究的科研人員已經(jīng)不能只局限于從事最底層的開(kāi)發(fā)工作,大量世界領(lǐng)先級(jí)產(chǎn)品,其性能的優(yōu)越性和產(chǎn)品的先進(jìn)程度遠(yuǎn)遠(yuǎn)
19、超過(guò)自己開(kāi)發(fā)這些模塊的功能。因此,掌握這類軟件的性能并對(duì)其進(jìn)行二次開(kāi)發(fā)顯得尤為重要。無(wú)論對(duì)程序員還是非程序員,Vega都是一套理想的使用工具。因?yàn)樗鼰o(wú)需花費(fèi)大量時(shí)間和精力去編程,適合仿真軟件開(kāi)發(fā)人員集中精力只解決特殊領(lǐng)域內(nèi)的問(wèn)題[1]。</p><p> 本文以浙江萬(wàn)里學(xué)院教學(xué)北區(qū)為對(duì)象,以vega軟件平臺(tái)上為基礎(chǔ)建立萬(wàn)里學(xué)院教學(xué)區(qū)的虛擬現(xiàn)實(shí)場(chǎng)景,利用教學(xué)區(qū)的數(shù)字化地圖、和區(qū)域內(nèi)建筑物的呈現(xiàn),并在此基礎(chǔ)上利用V
20、ega Prime 2.0,在Visual C++環(huán)境下實(shí)現(xiàn)了校園的漫游。實(shí)現(xiàn)校園場(chǎng)景漫游運(yùn)動(dòng) 。</p><p><b> 2 主要技術(shù)</b></p><p> 2.1 Vega Prime和Lynx Prime</p><p> Vega Prime(以下簡(jiǎn)稱VP)是一個(gè)實(shí)時(shí)三維驅(qū)動(dòng)的工具包。Lynx Prime(以下簡(jiǎn)稱LP)是用
21、來(lái)定義VP中的類及其參數(shù)的人機(jī)交互界面,定義好的內(nèi)容可以保存到一個(gè)文件中。</p><p> 2.1.1 Vega和Lynx</p><p> Vega是美國(guó)MultiGen-Paradigm公司用于虛擬現(xiàn)實(shí)、實(shí)現(xiàn)視景仿真、聲音仿真以及其他可視化領(lǐng)域的世界領(lǐng)先級(jí)應(yīng)用軟件工具。它支持快速?gòu)?fù)雜的視覺(jué)仿真程序,能為用戶提供一種處理復(fù)雜仿真事件的便捷手段。</p><p&g
22、t; Vega包括友好的圖形環(huán)境頁(yè)面、完整的C語(yǔ)言應(yīng)用程序接口API、豐富的相關(guān)實(shí)用庫(kù)函數(shù)和一批可選的功能模塊,能夠滿足多種特殊的仿真要求。</p><p> Lynx是用來(lái)設(shè)定和預(yù)覽Vega應(yīng)用程序的圖形式用戶界面。這些Vega應(yīng)用程序可以是用戶在Vega開(kāi)發(fā)環(huán)境下建立的程序,也可以是使用整個(gè)Vega軟件包執(zhí)行的一個(gè)基本Vega應(yīng)用程序。</p><p> Lynx圖形環(huán)境是點(diǎn)擊式
23、的,用戶只需用鼠標(biāo)左、中、右鍵點(diǎn)擊即可驅(qū)動(dòng)圖形中的對(duì)象物以及動(dòng)畫(huà)中的實(shí)時(shí)控制。它可以在不涉及源代碼的前提下便捷地改變應(yīng)用程序的性能,如顯示通道,多CPU資源分配、視點(diǎn)、觀察者、特殊效果、時(shí)間尺度、系統(tǒng)配置、模型和數(shù)據(jù)庫(kù)等。</p><p> Vega使用Lynx界面定義和預(yù)覽Vega的應(yīng)用程序。在Vega中包含了創(chuàng)建了一個(gè)應(yīng)用程序所必須的全部API,但是簡(jiǎn)單的應(yīng)用程序僅靠Lynx就可以實(shí)現(xiàn),Lynx允許用戶在不
24、用寫(xiě)源代碼的情況下即可配置一個(gè)應(yīng)用程序。在許多場(chǎng)合,對(duì)于一個(gè)仿真應(yīng)用程序可以同時(shí)使用Lynx和Vega的API函數(shù)。[2]</p><p> VP最好與LP一起使用。盡管VP包含了創(chuàng)建一個(gè)應(yīng)用所需的所有API,但LP簡(jiǎn)化了開(kāi)發(fā)過(guò)程,而且LP允許開(kāi)發(fā)者無(wú)需編寫(xiě)代碼即可創(chuàng)建一個(gè)應(yīng)用。</p><p> LP是一個(gè)編輯器,用于增加不同種類的模型,為模型定義參數(shù)。這些參數(shù)都存貯于應(yīng)用配置文件(
25、ACF)中的一個(gè)模型結(jié)構(gòu)內(nèi),例如觀察者的位置,模型及它們?cè)趫?chǎng)景中的位置,在場(chǎng)景中的移動(dòng),光線,環(huán)境效果,及目標(biāo)硬件平臺(tái)。ACF文件包含了VP在初始化和運(yùn)行時(shí)所需的信息。</p><p> 2.1.2 VP系統(tǒng)結(jié)構(gòu)</p><p> 圖2-1 vp系統(tǒng)結(jié)構(gòu)</p><p><b> ?。?)應(yīng)用配置文件</b></p><
26、p> 應(yīng)用配置文件包含了VP應(yīng)用在初始化和運(yùn)行時(shí)所需的一切信息。通過(guò)編譯不同的ACF文件,一個(gè)VP能夠生成不同種類的應(yīng)用。ACF文件為擴(kuò)展Mark-up語(yǔ)言(XML)格式。</p><p> 可以使用VP編輯器LP來(lái)開(kāi)發(fā)一個(gè)ACF,然后使用VP API動(dòng)態(tài)地改變應(yīng)用中模型運(yùn)動(dòng)。對(duì)于實(shí)時(shí)應(yīng)用來(lái)說(shuō),ACF不是必要的,但它可以將改動(dòng)信息進(jìn)行譯碼,記錄在.cpp程序中,這樣可以節(jié)省大量的時(shí)間。</p>
27、;<p> 2.1.3 LP的界面構(gòu)成</p><p> LP用戶界面包括四個(gè)部分:實(shí)例樹(shù)形顯示區(qū)(Instance Tree View)、用戶操作區(qū)(GUI View)、應(yīng)用程序區(qū)(API View)、工具條(Toolbar)和目錄區(qū)(Menus)。</p><p> ?。?)GUI View</p><p> 用戶操作區(qū)顯示ACF模型及相關(guān)參
28、數(shù)。打開(kāi)LP時(shí),第一個(gè)顯示的用戶操作窗口叫myKernel,這是VP中Kernel(應(yīng)用程序的起始點(diǎn))類型的一個(gè)實(shí)例。如圖2-2所示:</p><p> 圖2-2 用戶操作窗口myKernel</p><p> ?。?)Instance Tree View</p><p> 實(shí)例樹(shù)位于LP窗口的左邊,它顯示了目前正在操作的ACF文件和文件中包含的所有類的實(shí)例
29、。有一些實(shí)例可能引用了其他實(shí)例或與其他實(shí)力相關(guān)聯(lián),在實(shí)例樹(shù)顯示區(qū),我們可以通過(guò)展開(kāi)這些實(shí)例,以顯示它們之間的關(guān)聯(lián)性。如果一個(gè)實(shí)例在ACF文件的其他地方出現(xiàn),這就說(shuō)明該實(shí)例被其他實(shí)例所引用。這些實(shí)例的文件名旁就標(biāo)有一個(gè)藍(lán)色的箭頭。向下的箭頭表示該實(shí)例第一次被使用;向上的箭頭表示這個(gè)實(shí)例的其他應(yīng)用[3]。如圖2-3所示:</p><p> 圖2-3 實(shí)例樹(shù)形顯示區(qū)</p><p> ?。?/p>
30、3)API View</p><p> API區(qū)顯示選定實(shí)例的所有可能變量。在該區(qū),可以直接給變量賦值。如圖2-4所示:</p><p> 圖2-4 應(yīng)用程序區(qū)</p><p> ?。?) Active Preview</p><p> 當(dāng)LynX Prime中的參數(shù)發(fā)生變化時(shí),顯示運(yùn)行一個(gè)基本Vega Prime應(yīng)用,這個(gè)應(yīng)用接收Ly
31、nX Prime發(fā)送的參數(shù)。就可以在ACF三維場(chǎng)景顯示中移動(dòng)。</p><p> 2.1.4 Lynx生成的文件</p><p> <?xml version="1.0"?></p><p> <AcfRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
32、e" xsi:schemaLocation="</p><p> urn://www.multigen-paradigm.com mpi.xsd"</p><p> xmlns="urn://www.multigen-paradigm.com"</p><p> xmlns:vp="urn://www
33、.multigen-paradigm.com/vp"</p><p> xmlns:vpEnv="urn://www.multigen-paradigm.com/vpEnv"</p><p> xmlns:vpMotion="urn://www.multigen-paradigm.com/vpMotion"</p><
34、;p> xmlns:vpFx="urn://www.multigen-paradigm.com/vpFx"</p><p> xmlns:vpPath="urn://www.multigen-paradigm.com/vpPath"</p><p> xmlns:vpShadow="urn://www.multigen-para
35、digm.com/vpShadow"</p><p><b> ></b></p><p> <vp:AcfInfo name="school2.acf"></p><p> <vp:initializeModule>vpEnv</vp:initializeModule&g
36、t;</p><p> <vp:initializeModule>vpMotion</vp:initializeModule></p><p> <vp:initializeModule>vpFx</vp:initializeModule></p><p> <vp:initializeModule>
37、vpPath</vp:initializeModule></p><p> <vp:initializeModule>vpShadow</vp:initializeModule></p><p> <vp:autoEnable>true</vp:autoEnable></p><p> <vp:
38、appToRun>D:/mm/bysj/1/Debug/vpfx_particle_system.exe</vp:appToRun></p><p> <vp:appToRunArgs>$ACF</vp:appToRunArgs></p><p> <vp:comment></vp:comment></p>
39、<p> <vp:createdByVersion>2.0.1</vp:createdByVersion></p><p> </vp:AcfInfo></p><p><b> ……</b></p><p><b> 3 漫游系統(tǒng)的設(shè)計(jì)</b></p>
40、<p> 3.1 基本場(chǎng)景的設(shè)計(jì)</p><p> 3.1.1 場(chǎng)景布局</p><p> 導(dǎo)入用建模工具Creator建好的模型。Multigen Creator系列軟件,由美國(guó)Multigen-Paradigm公司開(kāi)發(fā),它擁有針對(duì)實(shí)時(shí)應(yīng)用優(yōu)化的OpenFlight數(shù)據(jù)格式,強(qiáng)大的多邊形建模、矢量建模、大面積地形精確生成功能,以及多種專業(yè)選項(xiàng)及插件,能高效、最優(yōu)化地生成
41、實(shí)時(shí)三維(RT3D)數(shù)據(jù)庫(kù),并與后續(xù)的實(shí)時(shí)仿真軟件緊密結(jié)合,在視景仿真、城市仿真、校園仿真及工程應(yīng)用、科學(xué)可視化等實(shí)時(shí)仿真領(lǐng)域有著非常重要的的地位[4]。</p><p> 校園教學(xué)北區(qū)場(chǎng)景建筑包括了1號(hào),空中花園,4到10號(hào)教學(xué)樓以及64號(hào)教學(xué)樓.如下圖所示。</p><p> 圖3-1 1號(hào)教學(xué)樓</p><p> 圖3-2 3號(hào)教學(xué)樓</p&g
42、t;<p> 圖3-3 4號(hào)教學(xué)樓</p><p> 圖3-4 6號(hào)教學(xué)樓</p><p> 圖3-5 8、9號(hào)教學(xué)樓</p><p> 圖3-6 64號(hào)教學(xué)樓</p><p><b> 圖3-7 連廊</b></p><p><b> 圖3-8 飛機(jī)
43、模型</b></p><p><b> 圖3-9 空中花園</b></p><p> 學(xué)校教學(xué)北區(qū)主要建筑物屬性及其參數(shù)設(shè)置如表3-1,3-2所示</p><p> 表3-1 模型屬性</p><p> 表3-2學(xué)校教學(xué)北區(qū)主要建筑物及其參數(shù)設(shè)置</p><p> 3.1.
44、2 觀察者設(shè)置</p><p> (1)觀察者(Observer):</p><p> 圖3-10三維空間中的XYZ坐標(biāo)點(diǎn)</p><p> 觀察者的位置是在三維空間中的XYZ坐標(biāo)點(diǎn)。</p><p><b> +X指向右</b></p><p><b> -X指向左</
45、b></p><p><b> +Y指向前</b></p><p><b> -Y指向后</b></p><p><b> +Z指向上</b></p><p><b> -z指向下</b></p><p> 觀察者的
46、方向是用坐標(biāo)系統(tǒng)中的朝向,斜度和轉(zhuǎn)角度的HPR值來(lái)表示。</p><p> 朝向是指Z軸上的轉(zhuǎn)向:</p><p><b> +H指看向左旋轉(zhuǎn)</b></p><p><b> -h指看向右旋轉(zhuǎn)</b></p><p><b> 斜度指X軸的轉(zhuǎn)向:</b></p&
47、gt;<p><b> +P指向上旋轉(zhuǎn)</b></p><p><b> -P指向下旋轉(zhuǎn)</b></p><p><b> 轉(zhuǎn)角度指Y軸轉(zhuǎn)向:</b></p><p> +R指運(yùn)動(dòng)轉(zhuǎn)向右邊旋轉(zhuǎn)</p><p> -R指運(yùn)動(dòng)轉(zhuǎn)向左邊旋轉(zhuǎn)</p>
48、<p> 考慮到觀察者能作為一雙眼睛從一個(gè)特殊的位置觀測(cè)場(chǎng)景,觀察者(Observer)控制Vega內(nèi)的視覺(jué)表現(xiàn)。另外,觀察者是通過(guò)把許多模擬的元素聚合在一起來(lái)控制觀測(cè)場(chǎng)景的,事實(shí)上,這些元素的聚合物要比其他Vega類的聚合物少得多。每個(gè)觀察者都有關(guān)聯(lián)的場(chǎng)景(sence)、通道(channels)、環(huán)境(environment)以及其他類用以描述可見(jiàn)的物體。[5]</p><p> 為方便觀察,
49、我設(shè)置了兩個(gè)觀察者。</p><p><b> ?。?)通道</b></p><p> 所有圖形被著色到一條通道中;因此,觀察者至少要有一個(gè)附著的通道。視觀察者需要也可以有多條通道。</p><p> 對(duì)各通道進(jìn)行著色時(shí),按照各通道創(chuàng)建的順序進(jìn)行,而不按照被加到觀察者中的順序進(jìn)行。第一個(gè)建立的通道就是第一條被繪制的通道,而后續(xù)的通道是在同一
50、窗口中的其他通道。[7]</p><p> 3.1.3 運(yùn)動(dòng)方式的選擇</p><p> 我們利用系統(tǒng)自帶的一些模擬運(yùn)動(dòng)方式來(lái)實(shí)現(xiàn)場(chǎng)景的驅(qū)動(dòng)。Vega Prime用vpMotion定義抽象的運(yùn)動(dòng)模型。視點(diǎn)可以設(shè)置為觀察者Observer,該視點(diǎn)同樣可以應(yīng)用在物體object上。所有具體的運(yùn)動(dòng)模型,比如Fly、UFO、Walk等等,都是從vpMotion這個(gè)抽象基類派生的[15]。<
51、;/p><p> Vega使用運(yùn)動(dòng)模式的方法來(lái)模擬各種常見(jiàn)的運(yùn)動(dòng)狀態(tài),比如飛機(jī)飛行、散步、開(kāi)車、轉(zhuǎn)體運(yùn)動(dòng)、滑行等等。運(yùn)動(dòng)模式最大的特點(diǎn)就是一,當(dāng)漫游物體和觀察者相結(jié)合時(shí),用戶就可以使用常規(guī)的輸入設(shè)備(鼠標(biāo)或者鍵盤)實(shí)時(shí)地控制物體漫游的速度和方向,進(jìn)而,模擬出逼真的運(yùn)動(dòng)仿真效果[9]。Vega提供給我們的運(yùn)動(dòng)模式如下表3-3所示:</p><p> 表3-3 Vega的運(yùn)動(dòng)模式</p&
52、gt;<p> (3)飛碟模式(UFO):</p><p> 字面理解就知道該模式稱為飛碟模式,是因?yàn)樗梢阅M一個(gè)無(wú)慣性物體的運(yùn)動(dòng)狀態(tài)。</p><p> 此運(yùn)動(dòng)模式是不受慣性影響的,比如用鼠標(biāo)控制,無(wú)論原始運(yùn)動(dòng)狀態(tài)如何,按鼠標(biāo)左鍵就向前運(yùn)動(dòng),按鼠標(biāo)右鍵就向后運(yùn)動(dòng)。鼠標(biāo)的中鍵相當(dāng)于一個(gè)渦輪,當(dāng)按下中鍵時(shí)運(yùn)動(dòng)速度瞬間提高將近5倍。同時(shí)中鍵還可以配合左右按鍵時(shí)間加速前進(jìn)和
53、加速后退。不按鼠標(biāo)鍵該運(yùn)動(dòng)模式就會(huì)一直處于盤旋狀態(tài),并且會(huì)隨著鼠標(biāo)位置的移動(dòng)方向反向旋轉(zhuǎn)[16]。飛碟模式的主要參數(shù)如下表3-4所示:</p><p> 表3-4飛碟模式的主要參數(shù)</p><p> ?。?)步行模式(Walk)</p><p> 步行模式最適合用來(lái)描述人的模型的運(yùn)動(dòng)。用鼠標(biāo)進(jìn)行操作時(shí),按住鼠標(biāo)左鍵的會(huì)讓觀察者以固定的速度向前運(yùn)動(dòng),按下鼠標(biāo)右鍵會(huì)
54、使觀察者以相同的速度向后運(yùn)動(dòng)。運(yùn)動(dòng)的同時(shí)移動(dòng)鼠標(biāo),觀察者會(huì)轉(zhuǎn)向相應(yīng)的方向,松開(kāi)按鍵,運(yùn)動(dòng)就會(huì)立刻停止,按住中鍵同時(shí)朝不同的方向移動(dòng)鼠標(biāo),可以模擬站在原地向四面八方觀望的效果,就像木偶一樣隨時(shí)都掌控在觀察者的手中[14]。</p><p> 通過(guò)參數(shù)的設(shè)置,在步行模式下還可以越過(guò)簡(jiǎn)單的臺(tái)階或者樓梯,如果想避免視點(diǎn)飛離地面或鉆進(jìn)地下,就必須要使用地形鉗位(Terrain Clamping)功能,它保證了觀察者的高度
55、始終與地形垂直偏移量(Terrain Z Offset)保持一致。步行模式的主要參數(shù)如下表3-5所示:</p><p> 表3-5 步行模式的主要參數(shù)</p><p> ?。?)駕駛模式(Drive)</p><p> 此運(yùn)動(dòng)方式用以模擬簡(jiǎn)單的車輛駕駛系統(tǒng),系統(tǒng)的輸入設(shè)備(通常為鼠標(biāo))可用來(lái)控制駕駛。鼠標(biāo)左鍵相當(dāng)于汽車的油門,右鍵相當(dāng)于汽車的剎車,鼠標(biāo)中鍵相當(dāng)于
56、手剎制動(dòng),無(wú)論當(dāng)前是何種運(yùn)動(dòng)模式,只要按下中鍵,運(yùn)動(dòng)就驟然停止。移動(dòng)鼠標(biāo)的動(dòng)作相當(dāng)于操作方向盤,其操作就像我們玩極品飛車的感覺(jué)。只有在運(yùn)動(dòng)的時(shí)候才能轉(zhuǎn)向,正如駕駛一輛真實(shí)的車輛一樣。如果想模擬車輛倒退,只需按下鼠標(biāo)右鍵就可以了,倒退時(shí)轉(zhuǎn)向跟前進(jìn)的原理如出一轍。在倒退時(shí)按鼠標(biāo)左鍵會(huì)使運(yùn)動(dòng)速度越來(lái)越慢,直到它停下來(lái)。然后轉(zhuǎn)為前進(jìn),反之亦然。用戶還可以通過(guò)參數(shù)的設(shè)置來(lái)控制車輛的初速度,最高速度,最低速度等等。駕駛模式的主要參數(shù)如下表3-6所示
57、:</p><p> 表3-6駕駛模式的主要參數(shù)</p><p> 3.1.4 Pathtool自動(dòng)導(dǎo)航路徑</p><p> 路徑漫游就是通過(guò)播放預(yù)先編輯和事先設(shè)置好漫游路徑的方式來(lái)實(shí)現(xiàn)場(chǎng)景中的模型漫游。</p><p> 漫游路徑的設(shè)置有很多種方式,作品中所采用的是通過(guò)鼠標(biāo)設(shè)置控制點(diǎn)來(lái)設(shè)置路徑。路徑設(shè)置的主要步驟如下:a.在場(chǎng)景的
58、平面圖顯示的窗口中,由用戶使用鼠標(biāo)在平面圖上點(diǎn)取一系列控制點(diǎn),設(shè)定每個(gè)點(diǎn)的坐標(biāo)和運(yùn)動(dòng)指向,將坐標(biāo)切換為邏輯坐標(biāo),進(jìn)而得到了一個(gè)空間邏輯坐標(biāo)的控制點(diǎn)序列。由序列生成一個(gè)路徑文件[8]。</p><p> Vega中的運(yùn)動(dòng)路徑首先是指一條包括一系列完整路徑點(diǎn)的路線(Pathing),然后使用導(dǎo)航器(Navigator)(作品特指直升飛機(jī))來(lái)完成控制路徑控制點(diǎn)的工作。</p><p> ?。?
59、)導(dǎo)航器的工作原理</p><p> 在Vega中,通常用.way的文件來(lái)存放所有設(shè)置好的控制節(jié)點(diǎn)。導(dǎo)航器為路線文件中的每個(gè)控制點(diǎn)提供了一個(gè)“標(biāo)記”(Marker)的數(shù)據(jù)結(jié)構(gòu)用于存儲(chǔ)相關(guān)的控制信息,這些信息包括當(dāng)前控制點(diǎn)的三維坐標(biāo)方向,當(dāng)前控制點(diǎn)到下一個(gè)控制點(diǎn)之間的運(yùn)動(dòng)速度、在當(dāng)前控制點(diǎn)處的運(yùn)動(dòng)矢量方向和需要完成的動(dòng)作,當(dāng)前控制點(diǎn)與下一個(gè)控制點(diǎn)之間的連接方式等等。然后用一個(gè).nav的標(biāo)記文件來(lái)存放標(biāo)記信息,導(dǎo)航
60、器通過(guò)解釋標(biāo)記文件中的信息數(shù)據(jù)來(lái)控制對(duì)象實(shí)現(xiàn)定義路徑的運(yùn)動(dòng)。導(dǎo)航器會(huì)還可以進(jìn)行路徑運(yùn)動(dòng)的循環(huán)。一旦復(fù)位,導(dǎo)航器自動(dòng)地跳轉(zhuǎn)到起始點(diǎn)[9]。</p><p> ?。?)Path Tool的對(duì)話框,控制點(diǎn)和導(dǎo)航路徑的設(shè)置</p><p> Path Tool的左側(cè)對(duì)話框用來(lái)設(shè)定Path和Navigator的參數(shù),對(duì)控制點(diǎn)屬性的設(shè)置非常關(guān)鍵。Way Points和Navigators原始對(duì)話框如
61、圖3-11和圖3-12所示: </p><p> 圖3-11 Way Points對(duì)話框 圖3-12 Navigators對(duì)話框</p><p> 1)Way Points (路徑控制點(diǎn))</p><p> 在Lynx Pathing模塊中定義Path對(duì)象,并以文件的形式保存, 該文件就是控制Path對(duì)象的數(shù)據(jù)文件。在Se
62、lected Path下拉菜單中選中一個(gè)Path對(duì)象,通過(guò)PathTool可以地進(jìn)行增加和調(diào)節(jié)控制點(diǎn) </p><p> 路徑控制點(diǎn)設(shè)置和某一控制點(diǎn)的坐標(biāo)圖分別如圖3-13和3-14所示:</p><p> 圖3-13路徑控制點(diǎn)設(shè)置圖</p><p> 圖3-14某一控制點(diǎn)的坐標(biāo)顯示 紅綠藍(lán)分別表示三維坐標(biāo)方向</p><p> 2
63、)Navigators (導(dǎo)航)</p><p> 將設(shè)定好的的控制點(diǎn)鏈接,形成一個(gè)環(huán)路的導(dǎo)航路徑。Navigators文件創(chuàng)建對(duì)話框和PathNavigator參數(shù)圖如下圖3-15和圖3-16所示:</p><p> 圖3-15 Navigators文件創(chuàng)建對(duì)話框</p><p> 圖3-16 PathNavigator參數(shù)圖</p><
64、p> 分析說(shuō)明如表3-7所示。</p><p><b> 3-7分析說(shuō)明</b></p><p> 3)Selected Navigator Type (選定的導(dǎo)航類型)</p><p> 在Vega基類中,導(dǎo)航器的類型有五種Spline樣條曲線選項(xiàng)。如下表3-8所示:</p><p> 表3-8 導(dǎo)航器
65、類型</p><p> 作品中的路徑導(dǎo)航器類型如下圖3-17所示: </p><p> 圖3-17 路徑導(dǎo)航器類型</p><p> 路徑中每個(gè)點(diǎn)的參數(shù)如表3-9所示。</p><p> 表3-9 路徑中每個(gè)點(diǎn)的參數(shù)</p><p> 路徑完成后如圖3
66、-18所示。</p><p> 圖3-18 已完成的路徑圖</p><p> 3.1.5 環(huán)境設(shè)置</p><p> LP里面的環(huán)境效果包括陽(yáng)光、月光、霧、風(fēng)等。還可以控制一天中時(shí)間的流逝速度效果。你可以在幾分鐘的時(shí)間內(nèi)將黎明變成白天、黃昏和夜晚。</p><p> VP中的環(huán)境是云、霧等大氣現(xiàn)象的綜合體。它包含了陽(yáng)光和月光源。LP
67、中陽(yáng)光和月光會(huì)依據(jù)天時(shí)進(jìn)行自動(dòng)調(diào)整[13]。</p><p> LP提供以下幾種效果來(lái)幫你創(chuàng)建一個(gè)實(shí)時(shí)的環(huán)境:</p><p> 太陽(yáng)-由一個(gè)亮盤來(lái)代表太陽(yáng)在天空中的位置。</p><p> 月亮-由另一個(gè)亮盤來(lái)代表月亮在天空中的位置。</p><p><b> 云層-云層的一層。</b></p>
68、<p> 穹頂-刻劃出天際線的效果。穹頂有一個(gè)無(wú)邊的地平面,顏色可以自定義。</p><p><b> ?。?)改變天時(shí)</b></p><p> 默認(rèn)天時(shí)是從午時(shí)12點(diǎn)開(kāi)始,時(shí)間決定了光照的強(qiáng)度。一天中太陽(yáng)和月亮交替出現(xiàn)。</p><p> Time Multiplier是控制時(shí)間快慢的工具。默認(rèn)值為1,表示仿真時(shí)間和現(xiàn)實(shí)時(shí)間
69、快慢相同;若值設(shè)為0,表示時(shí)間靜止;若值設(shè)為60,表示仿真時(shí)間是現(xiàn)實(shí)時(shí)間速度的60倍,這時(shí)在半小時(shí)的現(xiàn)實(shí)時(shí)間內(nèi)你就可以看到幾乎整天的仿真天時(shí)效果[10]。</p><p> 圖3-19 Time Multiplier</p><p><b> ?。?)添加光點(diǎn)</b></p><p> 為了模擬光照效果,需要加入多個(gè)光源。光源在仿真場(chǎng)景中用
70、于照亮物體??梢酝ㄟ^(guò)LP來(lái)完成這些配置。光源分為:</p><p> 定向光源-指向特定的方向</p><p> 位置光源-某一個(gè)位置上的漫反射光源</p><p> 電光源-某一位置上的定向光源</p><p> 3.1.6 特殊效果</p><p> 使用Vega特殊效果模擬擴(kuò)展板塊,可以方便地在視景仿真
71、應(yīng)用中模擬出各種很難用多邊形建模方式表現(xiàn)出來(lái)的的特殊視覺(jué)效果,包括常見(jiàn)的火焰燃燒效果、燃燒煙霧效果、各種爆炸效果、直升機(jī)旋轉(zhuǎn)的螺旋槳效果、飛行導(dǎo)彈的尾跡效果等,該模塊還提供了自定義粒子系統(tǒng)設(shè)置,允許用戶靈活地制作出能夠滿足特殊仿真要求的各種特殊效果。</p><p> 特效能讓?xiě)?yīng)用變得更加真實(shí)、豐富及奪目??梢远x煙火、爆炸、碎片等特效,也可以通過(guò)VP的粒子特效來(lái)模擬煙塵等效果。場(chǎng)景中的物體可以用來(lái)撞擊或破壞,
72、造成的結(jié)果可以加上特效。所有這些都可以通過(guò)LP來(lái)方便的進(jìn)行定義[11]。</p><p> 圖3-20 特殊效果添加模塊</p><p> 3.2交互控制的程序?qū)崿F(xiàn)</p><p> 3.2.1 Vega API的調(diào)用</p><p> Vega API的基本結(jié)構(gòu):</p><p> Vega提供的眾多功能都
73、被封裝在用C語(yǔ)言定義的類中,每個(gè)Vega類都是一個(gè)完整的、能夠?qū)崿F(xiàn)對(duì)應(yīng)功能的,各種控制方法和表現(xiàn)屬性的集合,這些可以在應(yīng)用程序中調(diào)用的、相互關(guān)聯(lián)的類的集合構(gòu)成了Vega類庫(kù)。Vega的核心就是用于控制虛擬仿真環(huán)境的應(yīng)用程序編程接口,主要包括Vega開(kāi)發(fā)函數(shù)庫(kù)和Vega實(shí)用函數(shù)庫(kù)兩個(gè)類庫(kù)[12]。</p><p> 為了滿足不同的開(kāi)發(fā)目的,所有的Vega類庫(kù)都提供了多種形式的版本,以Windows平臺(tái)下的Vega
74、開(kāi)發(fā)函數(shù)庫(kù)為例:</p><p> PsVg.dll和PsVg.lib—以優(yōu)化過(guò)的共享動(dòng)態(tài)連接庫(kù)形式提供;</p><p> PsVgD.dll和PsVgD.lib—以調(diào)試版本的共享動(dòng)態(tài)連接庫(kù)形式提供;</p><p> PsVgS.lib—以優(yōu)化過(guò)的靜態(tài)類庫(kù)形式提供;</p><p> PsVgDS.lib—以調(diào)試版本的靜態(tài)類庫(kù)形式
75、提供;</p><p><b> API的初始化:</b></p><p> vp::initialize執(zhí)行如下任務(wù):</p><p> a.檢查license是否正確</p><p> b.初始化靜態(tài)變量(static variables)和單例類(singleton classes)</p>
76、<p> c.初始化內(nèi)存分配(memory allocator)</p><p> d.初始化渲染庫(kù)(rendering library)</p><p> e.初始化場(chǎng)景(scene graph)</p><p> f.初始化ACF剝析程序(ACF parser)</p><p> g.初始化模塊界面(module in
77、terface)</p><p> h.初始化內(nèi)核(kernel classes)</p><p><b> 初始化實(shí)例:</b></p><p> //vpModule::initializeModule(modulename);</p><p> vpModule::initializeModule是初始化你
78、的應(yīng)用中所添加的模塊。初始化所添加模塊和用戶定制模塊需要使用以下句法:</p><p><b> //初始化所有模塊</b></p><p> vpModule::initializeModule( "vp" );</p><p> vpModule::initializeModule( "vpEnv&quo
79、t; );</p><p> vpModule::initializeModule( "vpMotion" );</p><p> vpModule::initializeModule( "vpLADBM" );</p><p> vpModule::initializeModule( "vpFx"
80、);</p><p> vpModule::initializeModule( "vpIR" );</p><p> 3.2.2 特殊效果的控制</p><p> #include <vpApp.h> //包含頭文件vpApp.h</p><p> #in
81、clude <vpMotionUFO.h> //包含頭文件vpMotionUFO.h</p><p> #include <vpFxParticleSystem.h> //包含頭文件vpFxParticleSystem.h</p><p> #include "vuAllocTracer.h&q
82、uot; //包含頭文件vuAllocTracer.h</p><p> vuAllocTracer tracer;</p><p> class myApp : public vpApp {</p><p><b> public:</b></p><p> myApp() :
83、</p><p> m_myFx->unref(); // 創(chuàng)建類</p><p> m_myFx1->unref();</p><p> m_myFx2->unref();</p><p> m_myFx3->unref();</p><p><b&
84、gt; {}</b></p><p> ~myApp() //析構(gòu)函數(shù)</p><p><b> {</b></p><p> m_myFx->unref(); //取消VP成員變量實(shí)例化引用</p><p><b> }</b></p&g
85、t;<p> int configure() </p><p><b> {</b></p><p> // 調(diào)入粒子特殊效果</p><p> vpApp::configure();</p><p> m_myFx = vpFxParticleSystem::find( "myFxPa
86、rticleSystem" );</p><p> assert(m_myFx);</p><p> m_myFx->ref();</p><p> m_myFx1 = vpFxParticleSystem::find( "myFxParticleSystem1" );</p><p> asser
87、t(m_myFx1);</p><p> m_myFx1->ref();</p><p><b> ……</b></p><p> return vsgu::SUCCESS;</p><p><b> }</b></p><p> virtual void o
88、nKeyInput(vrWindow::Key key, int mod) //覆蓋原來(lái)的鍵盤輸入</p><p><b> {</b></p><p> vuVec3d vVelocity;</p><p> vuVec3d vWind;</p><p> float fSize;<
89、;/p><p> float fRandomVel;</p><p> float fScaleVel;</p><p> float fSphereVel;</p><p> switch ( key ) </p><p> {case vrWindow::KEY_ESCAPE:</p><
90、p> vpApp::breakFrameLoop(); </p><p><b> break;</b></p><p><b> //粒子尺寸增加</b></p><p> case vrWindow::KEY_F1:</p><p> fSize = m_myFx->get
91、Size( 1.0f );</p><p> fSize += 0.1f; </p><p> crt::printf( "Size = %f\n", fSize );</p><p> m_myFx->setSize( 1.0f, fSize );</p><p>
92、 m_myFx1->setSize( 1.0f, fSize );</p><p> m_myFx2->setSize( 1.0f, fSize );</p><p> m_myFx3->setSize( 1.0f, fSize );</p><p><b> break;</b></p><p&g
93、t;<b> //粒子尺寸減小</b></p><p> case vrWindow::KEY_F2:</p><p> fSize = m_myFx->getSize( 1.0f );</p><p> fSize -= 0.1f; </p><p&
94、gt; crt::printf( "Size = %f\n", fSize );</p><p> m_myFx->setSize( 1.0f, fSize );</p><p> m_myFx1->setSize( 1.0f, fSize );</p><p> m_myFx2->setSize( 1.0f, fSiz
95、e );</p><p> m_myFx3->setSize( 1.0f, fSize );</p><p><b> break</b></p><p> //粒子運(yùn)動(dòng)速度增加</p><p> case vrWindow::KEY_F3:</p><p> vVelocity
96、= m_myFx->getVelocity( 0.0f );</p><p> vVelocity.m_vec[2] += 0.1; </p><p> crt::printf( "Velocity: x = %f, y = %f, z = %f\n", </p><p> vVelocit
97、y.m_vec[0], vVelocity.m_vec[1], vVelocity.m_vec[2] );</p><p> m_myFx->setVelocity( 0.0f, vVelocity );</p><p> m_myFx1->setVelocity( 0.0f, vVelocity );</p><p> m_myFx2->s
98、etVelocity( 0.0f, vVelocity );</p><p> m_myFx3->setVelocity( 0.0f, vVelocity );</p><p><b> break;</b></p><p> //粒子運(yùn)動(dòng)速度減小</p><p> case vrWindow::KEY_F
99、4:</p><p><b> ……</b></p><p><b> break;</b></p><p> //粒子運(yùn)動(dòng)傾角變大</p><p> case vrWindow::KEY_F5:</p><p> vWind = m_myFx->getWin
100、d( 0.0f );</p><p> vWind.m_vec[0] += 0.1; </p><p> crt::printf( "Wind: x = %f, y = %f, z = %f\n", </p><p> vWind.m_vec[0], vWind.m_vec[1], vWind.m_vec[2
101、] );</p><p> m_myFx->setWind( 0.0f, vWind );</p><p> m_myFx1->setWind( 0.0f, vWind );</p><p> m_myFx2->setWind( 0.0f, vWind );</p><p> m_myFx3->setWind(
102、 0.0f, vWind );</p><p><b> break;</b></p><p> //粒子運(yùn)動(dòng)傾角變小</p><p> case vrWindow::KEY_F6:</p><p><b> ……</b></p><p><b> bre
103、ak;</b></p><p> //粒子與粒子之間的距離增加</p><p> case vrWindow::KEY_F7:</p><p> fRandomVel = m_myFx->getRandomVelocity( 0.0f );</p><p> fRandomVel += 0.1f;
104、 </p><p> crt::printf( "Random Velocity = %f\n", fRandomVel );</p><p> m_myFx->setRandomVelocity( 0.0f, fRandomVel );</p><p> m_myFx1->setR
105、andomVelocity( 0.0f, fRandomVel );</p><p> m_myFx2->setRandomVelocity( 0.0f, fRandomVel );</p><p> m_myFx3->setRandomVelocity( 0.0f, fRandomVel );</p><p><b> break;&l
106、t;/b></p><p><b> ;</b></p><p> //粒子與粒子之間的距離減小</p><p> case vrWindow::KEY_F8:</p><p><b> ……</b></p><p><b> break;</
107、b></p><p> //粒子運(yùn)動(dòng)的頂端正方向擴(kuò)散</p><p> case vrWindow::KEY_F9:</p><p> fSphereVel = m_myFx->getSphericalVelocity( 1.0f );</p><p> fSphereVel += 0.1f;
108、 </p><p> crt::printf( "Spherical Velocity = %f\n", fSphereVel );</p><p> m_myFx->setSphericalVelocity( 1.0f, fSphereVel );</p><p> m_myFx1->set
109、SphericalVelocity( 1.0f, fSphereVel );</p><p> m_myFx2->setSphericalVelocity( 1.0f, fSphereVel );</p><p> m_myFx3->setSphericalVelocity( 1.0f, fSphereVel );</p><p><b>
110、 break;</b></p><p><b> ;</b></p><p> //粒子運(yùn)動(dòng)的頂端反方向擴(kuò)散</p><p> case vrWindow::KEY_F10:</p><p><b> ……</b></p><p><b>
111、break;</b></p><p> //粒子形狀變?yōu)榭v向的橢圓形</p><p> case vrWindow::KEY_F11:</p><p> fScaleVel = m_myFx->getScaleAlongVelocity( 0.0f );</p><p> fScaleVel += 0.1f;
112、 </p><p> crt::printf( "Scale Along Velocity = %f\n", fScaleVel );</p><p> m_myFx->setScaleAlongVelocity( 0.0f, fScaleVel );</p><p> m_myFx1->
113、setScaleAlongVelocity( 0.0f, fScaleVel );</p><p> m_myFx2->setScaleAlongVelocity( 0.0f, fScaleVel );</p><p> m_myFx3->setScaleAlongVelocity( 0.0f, fScaleVel );</p><p><b&
114、gt; break;</b></p><p> //粒子形狀變?yōu)闄M向的橢圓形</p><p> case vrWindow::KEY_F12:</p><p><b> ……</b></p><p><b> break;</b></p><p> /
115、/粒子發(fā)散的高度增加</p><p> case vrWindow::KEY_G: </p><p> m_myFx->setGravitationalConstant( </p><p> m_myFx->getGravitationalConstant() + 0.1f );</p>&
116、lt;p> m_myFx1->setGravitationalConstant( </p><p> m_myFx1->getGravitationalConstant() + 0.1f );</p><p> m_myFx2->setGravitationalConstant( </p><p> m_myFx2->getGr
117、avitationalConstant() + 0.1f );</p><p> m_myFx3->setGravitationalConstant( </p><p> m_myFx3->getGravitationalConstant() + 0.1f );</p><p> crt::printf( "Gravitational C
118、onstant = %f\n", </p><p> m_myFx->getGravitationalConstant() ,</p><p> m_myFx1->getGravitationalConstant(),</p><p> m_myFx2->getGravitationalConstant() ,</p>
119、<p> m_myFx3->getGravitationalConstant());</p><p><b> break;</b></p><p> //粒子的發(fā)散高度減小</p><p> case vrWindow::KEY_g: </p><p><b
120、> ……</b></p><p><b> break;</b></p><p> //粒子顏色發(fā)生改變</p><p> case vrWindow::KEY_C: </p><p> m_myFx->setColorVariation( </
121、p><p> m_myFx->getColorVariation() + 0.1f );</p><p> m_myFx1->setColorVariation( </p><p> m_myFx1->getColorVariation() + 0.1f );</p><p> m_myFx2->setColorV
122、ariation( </p><p> m_myFx2->getColorVariation() + 0.1f );</p><p> m_myFx3->setColorVariation( </p><p> m_myFx3->getColorVariation() + 0.1f );</p><p> crt::
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園教學(xué)北區(qū)場(chǎng)景的交互漫游設(shè)計(jì)【開(kāi)題報(bào)告】
- 校園教學(xué)北區(qū)場(chǎng)景的交互漫游設(shè)計(jì)【文獻(xiàn)綜述】
- 校園教學(xué)北區(qū)場(chǎng)景的交互漫游設(shè)計(jì)【任務(wù)書(shū)】
- 校園連廊場(chǎng)景的交互漫游設(shè)計(jì)【畢業(yè)論文】
- 校園圖書(shū)館場(chǎng)景的交互漫游設(shè)計(jì)【畢業(yè)論文】
- 校園連廊場(chǎng)景的交互漫游設(shè)計(jì)【文獻(xiàn)綜述】
- 校園連廊場(chǎng)景的交互漫游設(shè)計(jì)【任務(wù)書(shū)】
- 校園圖書(shū)館場(chǎng)景的交互漫游設(shè)計(jì)【開(kāi)題報(bào)告】
- 校園圖書(shū)館場(chǎng)景的交互漫游設(shè)計(jì)【文獻(xiàn)綜述】
- 校園圖書(shū)館場(chǎng)景的交互漫游設(shè)計(jì)【任務(wù)書(shū)】
- 3d動(dòng)漫游戲設(shè)計(jì)-場(chǎng)景設(shè)計(jì)---畢業(yè)論文
- 虛擬校園漫游系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)畢業(yè)論文
- 畢業(yè)論文-基于非線性編輯校園場(chǎng)景設(shè)計(jì)
- 基于web的校園虛擬漫游系統(tǒng)---畢業(yè)論文
- 三維校園的開(kāi)發(fā)與設(shè)計(jì)即全景校園虛擬漫游技術(shù)的實(shí)現(xiàn)畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文-基于x3d的虛擬校園漫游系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的三維虛擬漫游系統(tǒng)——樓體模塊,校園場(chǎng)景,會(huì)議室,多媒體教室---畢業(yè)論文
- 寧波江北區(qū)某中學(xué)教學(xué)樓設(shè)計(jì)【畢業(yè)論文】
- 校園局域設(shè)計(jì)畢業(yè)論文
- 人機(jī)交互課程設(shè)計(jì)---vrml設(shè)計(jì)--虛擬校園漫游系統(tǒng)
評(píng)論
0/150
提交評(píng)論