2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p><b>  摘要</b></p><p>  基于 unity 3D 的垃圾處理場(chǎng)的虛擬漫游與人機(jī)交互研究是一個(gè)重要課題,它</p><p>  將

2、圖像圖形技術(shù)、計(jì)算機(jī)技術(shù)與虛擬現(xiàn)實(shí)技術(shù)等領(lǐng)域集合在了一起。本文主要根</p><p>  據(jù)現(xiàn)有的垃圾處理廠場(chǎng)景圖片進(jìn)行了相應(yīng)的 3D 場(chǎng)景建模,根據(jù)需要我們?cè)趯?dǎo)入</p><p>  unity3D 后對(duì)模型進(jìn)行了相應(yīng)的調(diào)整編輯。由于我們對(duì)于垃圾處理場(chǎng)漫游功能的</p><p>  要求,本文使用了 C#編程語言對(duì)我們的模型對(duì)象進(jìn)行了腳本編寫,使用 charact

3、er</p><p>  controller 的功能來實(shí)現(xiàn)我們第一人稱漫游的交互設(shè)計(jì)。</p><p>  另外,介于我們希望本文的研究可以使用到垃圾處理場(chǎng)的推廣以及環(huán)保宣傳</p><p>  方面,我們?cè)?3D 場(chǎng)景搭建完成后,我們對(duì)于場(chǎng)景中的建筑都進(jìn)行了相應(yīng)的 UI 設(shè)</p><p>  計(jì),在我們漫游的過程中走到處理廠的一些關(guān)鍵的

4、設(shè)備時(shí),將用戶可以選擇查看</p><p>  相應(yīng)的設(shè)備介紹,這樣用戶可以在身臨其境的同時(shí)詳細(xì)的了解我們垃圾處理場(chǎng)各</p><p>  部分的功能,這一部分的腳本編寫也是由 C#來完成交互設(shè)計(jì)的。</p><p>  本設(shè)計(jì)另外一個(gè)創(chuàng)新點(diǎn)在于,由于我們是設(shè)計(jì)完成垃圾處理廠的交互體驗(yàn),</p><p>  考慮到環(huán)保宣傳的角度,我們利用 u

5、nity 的天空盒子功能設(shè)計(jì)了一個(gè)變換天空顏</p><p>  色的交互體驗(yàn),這樣用戶可以切身體會(huì)到垃圾處理場(chǎng)污染治理前后的天空變化。</p><p>  關(guān)鍵詞:Unity,三維建模,垃圾處理場(chǎng),C#腳本編寫,虛擬漫游</p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  RESEARCH ON

6、 VIRTUAL ROAMING AND HUMAN-COMPUTER INTERACTION OF WASTE DUMP BASED ON UNITY3D</p><p><b>  Abstract</b></p><p>  The research of virtual roaming and humanoid interaction in the garba

7、ge disposal field based on unity3D is a significant project, it brings the fields of image graphics technology, computer technology and virtual reality technology together. This article mainly carried out the correspondi

8、ng 3D scene modeling based on the existing garbage disposal plant scene pictures, according to the need to import unity3D after the model has been adjusted accordingly. Because of our requirements for the roamin</p>

9、;<p>  In addition, we hope that the study of this article can be used to promote the garbage disposal site and environmental publicity, after we completed the building of 3D model, we design some UIs for the buil

10、dings in the scene. In the process of our roaming to some of the key devices, the user can choose to view the corresponding equipment introduction, so that users can at the same time know about the function of our plants

11、’ devices when they are roaming in the waste dump, this part of the script</p><p>  The another innovation of our design is that, because we are designed to get an interactive experience of waste dump, takin

12、g into account the perspective of environmental advocacy, we use the unity of the sky box function which is designed to</p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  complete an interactive exp

13、erience of transforming the sky color, so that users can experience the changes of the sky before and after pollution control.</p><p>  Key words: VR, Unity, 3D modeling, C-sharp scripting, Virtual Tour</

14、p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p><b>  目錄</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p><b&

15、gt;  緒論</b></p><p><b>  1.1 引言</b></p><p>  隨著工業(yè) 4.0 時(shí)代的到來,以德國為主體的工業(yè) 4.0 在漢諾威工業(yè)博覽上,</p><p>  通過一些展出方案顯示,將新材料,軟件硬件,虛擬與現(xiàn)實(shí),大小企業(yè),國內(nèi)外</p><p>  工業(yè)標(biāo)準(zhǔn)融合發(fā)展,是工業(yè)

16、 4.0 的發(fā)展主線[1],通過各項(xiàng)工業(yè)技術(shù)的結(jié)合向人們</p><p>  展現(xiàn)未來智能生活生產(chǎn)的藍(lán)圖。其中,以“人為中心“的虛擬現(xiàn)實(shí)技術(shù)是其中一</p><p><b>  大發(fā)展趨勢(shì)[2]。</b></p><p>  虛擬現(xiàn)實(shí)的英文名稱為 Virtual Reality,簡(jiǎn)稱 VR。virtual 意思為虛擬的,意味</p>

17、<p>  著用戶感受到的一切都是虛幻的而并非真實(shí)接觸的,是通過計(jì)算機(jī)技術(shù)構(gòu)建而成</p><p>  的;reality 意為現(xiàn)實(shí),是我們?nèi)粘Ia(chǎn)生活中存在的真實(shí)的事務(wù),兩詞結(jié)合稱為</p><p>  虛擬現(xiàn)實(shí),也因此我們可以將虛擬現(xiàn)實(shí)技術(shù)大概理解為,使用者能夠通過引擎工</p><p>  具創(chuàng)造的事物獲取現(xiàn)實(shí)感受。我們可將其定義為:采用以 IT

18、 技術(shù)為重點(diǎn)的現(xiàn)代化方式和相應(yīng)設(shè)備仿真虛擬世界 [3]。</p><p>  1.2 本設(shè)計(jì)的目的與意義</p><p>  虛擬現(xiàn)實(shí)技術(shù)在很多方面有所應(yīng)用,它可以在學(xué)校做虛擬實(shí)驗(yàn)室,戰(zhàn)事上模</p><p>  仿虛擬斗爭(zhēng)、醫(yī)學(xué)上仿真虛擬手術(shù)、學(xué)校課程虛擬智力活動(dòng)、工業(yè)上制造仿真等</p><p>  等[4]。工業(yè)仿真是其應(yīng)用的一大方面。

19、工業(yè)仿真就是將實(shí)體工業(yè)轉(zhuǎn)化為虛擬的場(chǎng)</p><p>  景中,在虛擬的場(chǎng)景中實(shí)現(xiàn)實(shí)體工業(yè)的每一項(xiàng)工作和流程,人們用第一人稱實(shí)現(xiàn)</p><p>  在其中漫游實(shí)現(xiàn)人機(jī)交互[5]。由于本文是基于 unity3D 的垃圾處理廠的人機(jī)交互</p><p>  設(shè)計(jì),我們以垃圾處理場(chǎng)的工業(yè)仿真為例說明虛擬現(xiàn)實(shí)工業(yè)仿真的意義。</p><p> ?。?/p>

20、1)展會(huì)及市場(chǎng)推廣。首先,垃圾處理場(chǎng)作為每個(gè)城市甚至鄉(xiāng)鎮(zhèn)所必需的</p><p>  一個(gè)工廠,對(duì)于其建造數(shù)量的要求會(huì)非常的高。在向政府或者公司展示垃圾處理</p><p><b>  1</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  廠的構(gòu)造,無疑利用虛擬漫游

21、是勝過于其他形式的介紹的[6]。讓企業(yè)沉浸在垃圾</p><p>  場(chǎng)的構(gòu)造中去考察垃圾場(chǎng)建成后的效果和運(yùn)行,簡(jiǎn)單直觀,簡(jiǎn)化了推廣的過程,</p><p><b>  并收獲很好的效果。</b></p><p>  (2)垃圾廠的監(jiān)控管理。垃圾處理廠難免會(huì)有很大的味道,在企業(yè)日常對(duì)</p><p>  垃圾處理廠的管理

22、和控制上,通過虛擬漫游,工作人員可以非常快捷的指出工廠</p><p>  運(yùn)作中出現(xiàn)的問題[7]。</p><p> ?。?)培訓(xùn)教學(xué)的使用。垃圾處理場(chǎng)的發(fā)展將會(huì)日益智能化,并且考慮到垃</p><p>  圾處理場(chǎng)的應(yīng)用廣泛,對(duì)于垃圾處理場(chǎng)工人的培訓(xùn)也是亟待解決的問題。我們通</p><p>  過虛擬漫游系統(tǒng),可以更加高效的對(duì)員工進(jìn)行培

23、訓(xùn)教學(xué),并且還沒有健康的威脅。</p><p>  本文只是對(duì)漫游垃圾場(chǎng)作一個(gè)指引作用,作為展示作用,以此來顯示垃圾處</p><p>  理廠的功能配置,同時(shí)也可以作為教育意義去呼吁人們關(guān)注環(huán)保,這里采用的就</p><p>  是一種新的宣傳方式。</p><p>  1.3 國內(nèi)外發(fā)展概況</p><p>  1

24、.3.1 國外發(fā)展概況</p><p>  最早的開發(fā)起源于發(fā)達(dá)的國家,從 1990 年開始,很多發(fā)達(dá)國家就開始大力</p><p>  發(fā)展游戲引擎。許多的歐美國家都在致力于發(fā)展虛擬現(xiàn)實(shí)技術(shù)的相關(guān)應(yīng)用,英國</p><p>  德國更是為此設(shè)立了許多相關(guān)的會(huì)議和展會(huì),這使得這些國家對(duì)于這方面的研究</p><p>  一直保持著更新。另外,

25、在亞洲,日韓和新加坡等國家也都在虛擬游戲開發(fā)方面</p><p>  搶占了大量的市場(chǎng),很多芯片廠商也對(duì)相關(guān)頭戴式設(shè)備進(jìn)行相關(guān)升級(jí)。</p><p>  1.3.2 國內(nèi)發(fā)展概況</p><p>  在相關(guān)文獻(xiàn)中描述了在一些工地的現(xiàn)場(chǎng),一些工人在漫游的角度來看遇到的</p><p>  一些問題的解決辦法,這對(duì)游戲中用戶體驗(yàn)來說是很大進(jìn)步的研

26、究。各種文獻(xiàn)對(duì)</p><p>  基于計(jì)算機(jī)的 Kinect2 體感游戲也有相關(guān)的研究和討論,這也是在虛擬體驗(yàn)上的</p><p>  很好的研究方向[8]。很多文獻(xiàn)中也描述了一些基于 unity3D 構(gòu)造的一些野外生存</p><p><b>  2</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬

27、漫游與人機(jī)交互研究</p><p>  環(huán)境的一些事件,都有借鑒意義。我國對(duì)于三維游戲的發(fā)展還比較淺,發(fā)展時(shí)間</p><p>  較短,對(duì)于一些三維軟件的應(yīng)用還未達(dá)到熟能生巧的地步,市場(chǎng)占有率非常小,</p><p>  但是虛擬游戲在國內(nèi)的出現(xiàn)頻率越來越高,也有越來越多的人開始從事相關(guān)的工</p><p>  作[9],許多的高校也設(shè)立了

28、相關(guān)的專業(yè),一些 unity 開發(fā)工程師也有非常高的年</p><p>  薪,這些表明我們已經(jīng)開始向發(fā)達(dá)國家靠攏,大大的提高了這一方面的關(guān)注度。</p><p>  中國的相關(guān)研究開始于 20 世紀(jì) 90 年代,浙大計(jì)算機(jī)輔助設(shè)計(jì)和圖形學(xué)國家重點(diǎn)</p><p>  實(shí)驗(yàn)室主要研究虛擬環(huán)境的高效構(gòu)建和呈現(xiàn)、自然人機(jī)交互技術(shù)、增強(qiáng)現(xiàn)實(shí)技術(shù)、</p>&

29、lt;p>  虛擬現(xiàn)實(shí)應(yīng)用等。北京航空航天大虛擬現(xiàn)實(shí)技術(shù)主要研究一些理論方面的知識(shí)和</p><p>  增強(qiáng)現(xiàn)實(shí)方面的平臺(tái)應(yīng)用開發(fā)。它們開發(fā)了一批軟件系統(tǒng),如模擬培訓(xùn)系統(tǒng)、奧</p><p>  運(yùn)會(huì)開幕式創(chuàng)新真實(shí)演示場(chǎng)景、數(shù)字展覽館等[10]。</p><p>  由于本課題是基于 unity3D 實(shí)現(xiàn),unity3D 作為實(shí)現(xiàn)這個(gè)功能的引擎工具,<

30、/p><p>  是當(dāng)下使用較多的一個(gè)三維場(chǎng)景設(shè)計(jì)引擎。相應(yīng)的 VR 游戲開發(fā)引擎還有 Virtools</p><p>  軟件、Converse3D 引擎、VRP 等等。但是由于 unity3D 的綜合性開發(fā)功能多平</p><p>  臺(tái)發(fā)布,上手快等特點(diǎn)目前國內(nèi)主要使用該引擎來實(shí)現(xiàn)虛擬現(xiàn)實(shí)的場(chǎng)景搭建,各種體感游戲、校園工廠漫游系統(tǒng),相應(yīng)的開發(fā)都有了較為成熟的發(fā)展

31、[11]。</p><p>  1.4 本設(shè)計(jì)的主要內(nèi)容</p><p>  本文研究基于 Unity3D 軟件平臺(tái)的使用方法,對(duì)相關(guān)的 game 設(shè)計(jì)的主要技</p><p>  能進(jìn)行了討論,研究和開發(fā)了電腦端的虛擬漫游。分析了垃圾處理場(chǎng)漫游系統(tǒng)的</p><p>  一些功能意義及要求,以及軟件選擇,三維場(chǎng)景搭建的設(shè)計(jì)和交互腳本的編寫。

32、</p><p>  第一章為緒論,介紹了本文研究垃圾處理場(chǎng)虛擬漫游的緣由、以及 VR 國內(nèi)</p><p>  外研究現(xiàn)狀以及論文的架構(gòu)。</p><p>  第二章主要介紹了 Unity 3D 系統(tǒng)的研發(fā)的相關(guān)步驟,重點(diǎn)介紹了下 Unity3D</p><p>  設(shè)計(jì)引擎的基本操作介紹,包括它的框架、優(yōu)缺點(diǎn)和各類插件,其中包括 NGUI

33、、</p><p>  iTween 等多款插件。</p><p><b>  3</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  第三章對(duì)垃圾處理場(chǎng)如何實(shí)現(xiàn)漫游功能,列出了系統(tǒng)的研發(fā)流程,并且實(shí)現(xiàn)</p><p>  了垃圾場(chǎng)搭建,系統(tǒng)交

34、互邏輯的編寫方案。</p><p>  第四章對(duì)垃圾漫游場(chǎng)功能的實(shí)現(xiàn),相關(guān)界面的搭建與實(shí)現(xiàn),虛擬場(chǎng)景的建立</p><p><b>  做了相關(guān)的研究。</b></p><p>  第五章是概括本文對(duì)垃圾處理場(chǎng)的研究探討,并且分析了本文設(shè)計(jì)在環(huán)保工</p><p>  程經(jīng)濟(jì)發(fā)展方面的用處和意義,并解析了設(shè)計(jì)的不足和提升

35、的空間巨大。</p><p><b>  4</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  2 Unity3D 系統(tǒng)開發(fā)流程分析與設(shè)計(jì)</p><p>  電腦是游戲漫游研發(fā)中不能缺少工具,而且游戲的創(chuàng)造更需要一些三維軟件</p><p>

36、;  的協(xié)助,在本章將會(huì)介紹協(xié)助研發(fā)的各種應(yīng)用,一個(gè)是用于場(chǎng)景建模的 3DsMax,</p><p>  還有插件 NGUI 和 iTween,還有一個(gè)是我們主要的引擎軟件 Unity3D,下面我們</p><p>  簡(jiǎn)單的解析一下這些軟件應(yīng)用,先來說一下 Unity。</p><p>  2.1 開發(fā)引擎的選擇</p><p>  Uni

37、ty 3D 軟件是一個(gè)全球都廣泛應(yīng)用的綜合游戲開發(fā)軟件,同時(shí),可以制作</p><p>  出數(shù)字交互產(chǎn)品、虛擬漫游和產(chǎn)品數(shù)字展示。它是 3D 研發(fā)的領(lǐng)導(dǎo)者,目前我們</p><p>  可以下載的版本都支持我們現(xiàn)在的微軟平臺(tái)下的使用,并且它們的互通性很高,在蘋果系統(tǒng)中也可以使用 unity。作為一個(gè)綜合的三維設(shè)計(jì)引擎,它被用于設(shè)計(jì)</p><p>  三維廣告,動(dòng)

38、漫等互動(dòng)內(nèi)容,最近幾年卻突然發(fā)展迅速,目前中國一流的相關(guān)開</p><p>  發(fā)公司都首選 unity 作為開發(fā)的工具,其具有文檔齊全,平臺(tái)互通性高,編程簡(jiǎn)</p><p>  便,費(fèi)用低廉,BBS 熱鬧,可搭配使用各種豐富的配件等突出特征[12]。相對(duì)于</p><p>  其他游戲研發(fā)方式,它所支持的模型文件的類型也非常的多。</p><p

39、>  其次,其引擎具有功能強(qiáng)大的控制系統(tǒng):</p><p> ?。?)渲染系統(tǒng):全屏后處理,批處理,遮擋剔除;</p><p> ?。?)燈光系統(tǒng):延后光照處理,當(dāng)下暗影,體積光,光照貼圖,:</p><p> ?。?)瑜入控制:手柄,鼠標(biāo)鍵盤,手機(jī)觸摸輸入;</p><p> ?。?)地形系統(tǒng):刷地形,刷紋理,樹,河流:</p&

40、gt;<p> ?。?)物理系統(tǒng):柱體,物理模型之汽車,軟物體:</p><p> ?。?)粒子特效:煙、霧、瀑布、火、雨、水:</p><p> ?。?)音響系統(tǒng):MP3,WAV:</p><p>  (8)腳本系統(tǒng):Java Script,Boo(Python),C#:</p><p><b> ?。?)尋路系統(tǒng):

41、</b></p><p> ?。?0)網(wǎng)路支持:Real—time Networking,Web Browser,Backend Connectivity;(11)性能分析系統(tǒng)</p><p><b>  5</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>

42、;  同時(shí)編輯器支持分類如下:</p><p> ?。?)材料集成及其組合(游戲?qū)ο蠊芾?</p><p> ?。?)場(chǎng)景創(chuàng)建:快速創(chuàng)建</p><p> ?。?)資源管道(工具建模):快速迭代(模型和紋理圖像)</p><p> ?。?)資源商店:提供免費(fèi)資源,同時(shí)也可以有償共享資源</p><p> ?。?)資源管

43、理服務(wù)器</p><p><b>  (6)編輯器的擴(kuò)展</b></p><p><b> ?。?)性能分析</b></p><p>  我們使用的 unity3D 是 unity5 版本,unity3D 的游戲組織結(jié)構(gòu)是使用資源</p><p> ?。ˋsset)生成游戲?qū)ο螅℅ameObject

44、),游戲?qū)ο蠼M成游戲場(chǎng)景(Scene),各種游</p><p>  戲場(chǎng)景構(gòu)成了游戲工程(Game Project)[13]。作為一個(gè)簡(jiǎn)便操作方便的游戲開發(fā)</p><p>  引擎,unity 的菜單界面也容易學(xué)習(xí),其中菜單有如下幾種:</p><p>  (1)動(dòng)畫面板:渲染其中出現(xiàn)的各種場(chǎng)景。我們無法在這里編輯物體,但</p><p>

45、  可以預(yù)覽編輯后的整個(gè)動(dòng)態(tài)結(jié)果。我們可以調(diào)整攝像頭的參數(shù)來調(diào)整看的角度。</p><p>  圖 2-1 Game 動(dòng)畫界面</p><p><b>  6</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p> ?。?)層次清單欄:展示在面板中所有的物體對(duì)象。</

46、p><p>  圖 2-2 Hierarchy 界面</p><p> ?。?)場(chǎng)景面板:場(chǎng)景面板為 Unity 3D 的操作的領(lǐng)域,設(shè)計(jì)時(shí),將我們需要</p><p>  的所有的素材和渲染要求放入其中,最后形成渲染和動(dòng)畫效果。</p><p>  圖 2-3 Scene 場(chǎng)景界面</p><p><b>  

47、7</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p> ?。?)對(duì)象屬性欄:顯示出所有 project 對(duì)象的本質(zhì)屬性,包括對(duì)象 xyz</p><p>  值、縮放程度、腳本的變量和對(duì)象等等。</p><p>  圖 2-4 Inspector 界面圖 2-5 項(xiàng)目文件界面&

48、lt;/p><p> ?。?)菜單欄:菜單選項(xiàng): File、Component、Edit、Terrain、Assets、Help。</p><p>  圖 2-6 菜單欄界面</p><p> ?。?)項(xiàng)目文件欄:所有的資源、文件夾都可以在這個(gè)區(qū)域找到。包括物體、</p><p>  字體大小,project 的各個(gè)場(chǎng)面文件等。</p>

49、;<p> ?。?)場(chǎng)景調(diào)整 T 具:改變編輯過程中的物體視圖、位置、通過移動(dòng)旋轉(zhuǎn)縮</p><p>  放等等操作來實(shí)現(xiàn)所見即所得的效果。</p><p>  圖 2-7 場(chǎng)景調(diào)整工具</p><p><b>  8</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究&l

50、t;/p><p>  2.2 系統(tǒng)策劃與準(zhǔn)備</p><p>  現(xiàn)在,各種立體感的游戲已經(jīng)滲透進(jìn)入人們的日常社交,工作和生活。各種</p><p>  題材,各種形式,以及基于 pad、手機(jī)、電腦端等不同操作方式的應(yīng)用成批進(jìn)入</p><p>  眼簾,所以在設(shè)計(jì)過程中我們對(duì)于整個(gè)設(shè)計(jì)的方案的構(gòu)造和點(diǎn)子都是至關(guān)重要的。</p>&

51、lt;p>  面對(duì)創(chuàng)新進(jìn)行大量的改造和呈現(xiàn),開發(fā)者讓使用者眼前一亮也是一項(xiàng)非常重要的</p><p>  工作。在本文中,我們對(duì)垃圾處理場(chǎng)漫游的設(shè)計(jì)很重視,我們提前作出設(shè)計(jì)方案</p><p>  有兩點(diǎn)是很重要的:1、在開始實(shí)現(xiàn)之前先進(jìn)行測(cè)試。如果設(shè)計(jì)有非常大的缺陷</p><p>  在實(shí)施后又無法彌補(bǔ),將會(huì)損傷慘重 2、策劃方案作為一個(gè)書面的文件,我們可

52、</p><p>  以反復(fù)的修改,使之更加完美,在設(shè)計(jì)過程中有什么問題,也可以隨時(shí)標(biāo)注,最</p><p>  后盡量減少漏洞,使最后的產(chǎn)品穩(wěn)定運(yùn)行,降低不確定帶來的風(fēng)險(xiǎn)[14]。</p><p>  在虛擬現(xiàn)實(shí)設(shè)計(jì)中很關(guān)鍵的是軟件研發(fā)的規(guī)范準(zhǔn)則,其涉及到軟件的研發(fā)邏</p><p>  輯、必須遵循的原則以及該領(lǐng)域的行為職業(yè)準(zhǔn)則,unit

53、y3D 作為一個(gè)引擎平臺(tái),</p><p>  對(duì)于對(duì)象占據(jù)的儲(chǔ)存空間也有相關(guān)的要求,因此才能保證游戲和系統(tǒng)的運(yùn)行。對(duì)于模型面數(shù)我們可以在 3D max 中看到,最好在 2k 及 2k 以下[15]。</p><p>  本次設(shè)計(jì)對(duì)于 3D 的程序技術(shù)進(jìn)行闡述。由虛擬現(xiàn)實(shí)研發(fā)的固有屬性,在很多的情景下,代碼和技術(shù)的應(yīng)用都會(huì)出現(xiàn)重復(fù)和相類似的地方,這對(duì)于其他的應(yīng)用軟件來說,是可以學(xué)習(xí)的。&l

54、t;/p><p>  我們課程的題目就是基于 unity3D 設(shè)計(jì)的一種漫游系統(tǒng),利用游戲引擎來設(shè)計(jì)虛擬漫游是一個(gè)非常好的選擇。而 unity3D 在游戲設(shè)計(jì)方面應(yīng)用及其廣泛,是漫游設(shè)計(jì)的首選,因此我們選擇常用的游戲引擎 unity3D 來進(jìn)行虛擬漫游的設(shè)計(jì)。我們?cè)诤竺鏁?huì)詳細(xì)的接受 unity3D 的優(yōu)點(diǎn)特征。</p><p><b>  9</b></p>

55、<p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  對(duì)于 unity3D 來說,unity5 版本之前一直支持三種語言:C#、Java Script 和</p><p>  Boo。Boo 語言相對(duì)使用較少,我們就不再考慮。另外的兩種語言,我們可以選</p><p>  擇用兩種語言來實(shí)現(xiàn)腳本的編寫,最后它們都會(huì)被編

56、譯成 unity3D 中內(nèi)置的中間</p><p>  代碼[16]。但是由于 C#是面向?qū)ο蟮恼Z言成分比較多,面向?qū)ο蟮奶匦酝暾?lt;/p><p>  加利于程序設(shè)計(jì)。另外,C#是 mono develop 的原生語言(mono develop 的框架</p><p>  用的是.net),對(duì)于熟悉 visual studio 的編程用戶使用 c#也更加方便。&

57、lt;/p><p>  圖 2-8 monodevelop 腳本編寫的界面</p><p>  2.3 框架結(jié)構(gòu)設(shè)計(jì)</p><p>  軟件開發(fā)都有互通性,三維游戲開發(fā)也不例外。Unity 本身的設(shè)計(jì)就有是分</p><p>  層化的,我們的結(jié)構(gòu)框架也是這樣。整個(gè)設(shè)計(jì)從下至上的層級(jí)是:操作、構(gòu)架、數(shù)據(jù)、控制、視圖,如圖 2-9 所示:<

58、/p><p><b>  10</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 2-9 游戲分層設(shè)計(jì)示意圖</p><p>  系統(tǒng)層,即游戲最終運(yùn)行在什么平臺(tái)上。我們都知道,Unity 3D 可鏈接各種平臺(tái),可發(fā)布游戲至 蘋果、安卓、Windows phone

59、8 等。</p><p>  框架層,根據(jù)其表面含義,游戲研發(fā)的通用底層支撐,可輕松復(fù)用于各類游</p><p>  戲的開發(fā),包含 UI 框架、message 管控器、游戲物體緩存池等最根本組件。</p><p>  上面 3 層為大家所熟悉的框架,模型-視圖-控制器。</p><p>  模型層用于處理游戲數(shù)據(jù)思維,我們將數(shù)據(jù)劃分為兩大類

60、:持久化數(shù)據(jù)和運(yùn)</p><p><b>  行時(shí)數(shù)據(jù)。</b></p><p>  視圖層包含 UI 層和多種游戲?qū)ο蟮男袨楸磉_(dá)。UI 層即使用者觀察的相應(yīng)界</p><p>  面,用以呈現(xiàn)相關(guān)數(shù)據(jù)??刂茖邮怯螒蜷_發(fā)中集中表現(xiàn)在其物體的產(chǎn)生與掌控[17]。</p><p>  采用這種分層,可以讓我們的文件和邏輯分開

61、,讓我們的研發(fā)效率提升。下</p><p>  面介紹了結(jié)構(gòu)框架的幾個(gè)重點(diǎn)插件的完成。</p><p>  在我場(chǎng)景設(shè)計(jì)過程中,整個(gè)設(shè)計(jì)的構(gòu)思框架都至關(guān)重要,不容小覷。我們構(gòu)</p><p>  思好了一個(gè)完善的游戲框架可以使整個(gè)設(shè)計(jì)都更加的高效。在 Unity 3D 中,每</p><p>  一個(gè)模型都可以改變他們的固有屬性,我們對(duì)于不用

62、的需求可以使其表現(xiàn)出不同</p><p>  的特征。例如使用 Javascript 或是 C#語言來編寫的交互腳本,放在不同的對(duì)象</p><p>  上就會(huì)有不同的效果。Prefab 的資源不會(huì)直接體現(xiàn)在我們的編輯界面中,但是我</p><p>  們可以在層級(jí)目錄下更改他的固有性質(zhì),那么再次顯示在場(chǎng)景中的時(shí)候就會(huì)有不</p><p> 

63、 同的表現(xiàn)。另外,將大場(chǎng)景劃分為小場(chǎng)景也是一個(gè)提高研發(fā)速度的方式,這可以</p><p>  使我們的加載速度變快。</p><p><b>  11</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  2.4 建模工具分析與選擇</p><p&g

64、t;  在三維場(chǎng)景漫游建模是一個(gè)必要的過程。目前較為普遍的建模軟件有</p><p>  3DMAX,MAYA,CAD 以及 SKETCH Upll31 等。市面上的 3D 建模軟件非常的</p><p>  多,不同行業(yè)也會(huì)根據(jù)需要選擇不同的三維建模軟件,例如在機(jī)械制造行業(yè)用的</p><p>  比較多的是 solidworks ,在制作電影廣告動(dòng)畫領(lǐng)域用得比較

65、多的是 maya、</p><p>  softimage 等等[18]。我們基于以下幾個(gè)因素選擇 3Ds max 軟件來進(jìn)行 3D 建模:</p><p> ?。?)3D max 是一款中端設(shè)計(jì)軟件,其對(duì)于 pc 系統(tǒng)的配置要求低,對(duì)于多</p><p><b>  種平臺(tái)都很適用。</b></p><p> ?。?)

66、我們進(jìn)行工業(yè)仿真設(shè)計(jì),3Dmax 在建筑設(shè)計(jì)、工業(yè)設(shè)計(jì)、工程可視化、</p><p>  游戲制作等領(lǐng)域都有廣泛的應(yīng)用,并且可以通過代碼來實(shí)現(xiàn)動(dòng)畫,是我們進(jìn)行工</p><p>  業(yè)仿真系統(tǒng)建模的最佳選擇。</p><p> ?。?)3Dmax 性價(jià)比高、應(yīng)用廣泛,簡(jiǎn)單易學(xué)、非常容易使用。另外由于使</p><p>  用者很多,我們也有豐

67、富的資源進(jìn)行學(xué)習(xí)和交流。</p><p> ?。?)強(qiáng)大的角色動(dòng)畫制作能力。</p><p>  我們課程的題目就是基于 unity3D 設(shè)計(jì)的一種漫游系統(tǒng),利用游戲引擎來設(shè)</p><p>  計(jì)虛擬漫游是一個(gè)非常好的選擇。而 unity3D 在游戲設(shè)計(jì)方面應(yīng)用及其廣泛,是</p><p>  漫游設(shè)計(jì)的首選,因此我們選擇常用的游戲引擎 u

68、nity3D 來進(jìn)行虛擬漫游的設(shè)計(jì)</p><p> ?。?9]。我們?cè)诤竺鏁?huì)詳細(xì)的接受 unity3D 的優(yōu)點(diǎn)特征。</p><p>  如果還需要渲染,那還是 3DMAX 要好一些。如果模型很簡(jiǎn)單,這是最好的</p><p>  絕佳選擇,使用 3DMAX 建模方便很多,材質(zhì)不會(huì)重疊,也不會(huì)出現(xiàn)漏面的現(xiàn)象。</p><p>  2.5 兩

69、大插件 NGUI 和 iTween</p><p>  Unity 3D 軟件中 NGUI 插件是游戲中非常常見的一種插件,他可以為游戲開始提供導(dǎo)航,也可以在游戲過程隨時(shí)提供游戲重要信息,它是基于 C#語言編寫的, unity3D 提供了兩種 GUI 組件,一種是 GUI Text,一種是 GUI Texture.其中 NGUI 插件提供事件通知的框架和 UI 系統(tǒng)[20]。代碼的編也很簡(jiǎn)單,這對(duì)開發(fā)者和研究者而

70、言,更加容易操控和學(xué)習(xí) unity3D 的相關(guān)內(nèi)容,也可以搭建簡(jiǎn)單的界面。</p><p><b>  12</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  對(duì)于 NGUI 插件來說,作為研究開發(fā)者可以直接查看到它的結(jié)果,而不需要</p><p>  點(diǎn)擊其他按鈕

71、。而且 NGUI 插件的使用方式與 Unity 的使用方式是完全一樣的,</p><p><b>  當(dāng)它在工作的時(shí)候。</b></p><p>  Unity 的另一款插件是 iTween 插件。iTween 插件和 NGUI 最大的不同是 iTween 插件非常簡(jiǎn)便,只是需要把一些資源插入 unity 當(dāng)中即可。iTween 插件是一個(gè)動(dòng)畫庫,在編輯行走路線的時(shí)候

72、我們會(huì)用到 ITweenpath,給漫游用戶設(shè)定行</p><p>  程等等[21]。各種產(chǎn)品里需要的動(dòng)作設(shè)置,和顏色的有無變化等都可以通過 iTween</p><p>  組件來完成。iTween 插件的主要核心是數(shù)值的插值,即只需要確定開端和末尾,</p><p>  而中間過程可以自然而然的形成。</p><p>  2.6 Uni

73、ty 場(chǎng)景漫游技術(shù)</p><p>  我們要設(shè)計(jì)一個(gè)場(chǎng)景漫游,簡(jiǎn)單來說分為兩步:第一步構(gòu)建模型,第二步設(shè)</p><p>  計(jì)場(chǎng)景。由于 unity 也是一個(gè)系統(tǒng)引擎,因此如果我們的所有對(duì)象都按照真實(shí)紋</p><p>  理放在上面勢(shì)必會(huì)使運(yùn)行減慢,造成很大的資源浪費(fèi)。因此我們?cè)谥谱髂P蜁r(shí),</p><p>  盡量使用紋理圖片代替復(fù)雜

74、的模型,盡量減少模型的大小和數(shù)量,使用復(fù)制的功</p><p>  能將大幅減少資源占用比例。</p><p>  在一般的情景下,在 Unity 里創(chuàng)建的場(chǎng)景占用空間較多,不可能完全的將其</p><p>  一次性全數(shù)呈現(xiàn)。因此我們需要挑選一些物體對(duì)其實(shí)施渲染的操作。我們將大的</p><p>  場(chǎng)景進(jìn)行分割,分割成若干小場(chǎng)景,每次運(yùn)行

75、時(shí)速度就會(huì)大幅提升[22]。要在垃</p><p>  圾處理場(chǎng)里漫游,不管是在我們生活中的垃圾處理場(chǎng),還是我們模擬出的處理場(chǎng)</p><p>  場(chǎng)景,都需要有觀看者的存在。在 Unity 里面,我們可以把觀看使用者者作為照</p><p>  相機(jī),人眼為地面,來觀察模擬垃圾處理場(chǎng)的各個(gè)地方。</p><p><b>  2.7

76、 本章小結(jié)</b></p><p>  本章主要介紹了本次虛擬漫游研究中用到的一些三維軟件和游戲引擎 unity</p><p>  的介紹。讓論文讀者對(duì)于本次研究開發(fā)所用到的軟件有個(gè)清晰的了解,我們首先</p><p>  分析了本次交互研究用到的主要引擎 unity 的開發(fā)流程和簡(jiǎn)單的界面介紹,其中</p><p>  也包括

77、了一些開發(fā)腳本的介紹,真對(duì) unity 的特點(diǎn)我們分析了我們的策劃準(zhǔn)備,</p><p><b>  13</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  選擇所要用的的插件,選擇合適的建模軟件。最后我們簡(jiǎn)單介紹了 unity 實(shí)現(xiàn)的</p><p>  虛擬漫游

78、技術(shù)??傮w為了讓大家對(duì)本次開發(fā)運(yùn)行環(huán)境有一個(gè)整體的了解。</p><p><b>  14</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p><b>  虛擬現(xiàn)實(shí)系統(tǒng)設(shè)計(jì)</b></p><p>  對(duì)于 Unity3D 的使用步驟,主要是為下文的

79、研發(fā)給予幫助。Unity3D 總的工</p><p>  作流程分為三步:材料整合、垃圾處理場(chǎng)搭建、發(fā)布系統(tǒng),這個(gè)過程下來沒有問</p><p>  題,研發(fā)進(jìn)度就會(huì)有所提升。資源整合在 Unity3D 中解釋想對(duì)模糊,能包含 3D</p><p>  模版、組件、圖畫、邏輯、材料、聲音、著色器等等[23]。我們對(duì)資源的一些整理</p><p&g

80、t;  有很多方面,首先我們要有資源其次設(shè)置相關(guān)參數(shù)再將其運(yùn)用到相應(yīng)的場(chǎng)景中去,</p><p>  我們?cè)谶\(yùn)用的過程中就回了解到使用他們的益處。</p><p>  垃圾場(chǎng)的場(chǎng)景構(gòu)建就是將我們所擁有的一些污水處理管道,垃圾處理廠房等</p><p>  等這些資源放入到場(chǎng)景編輯器中進(jìn)行改造,使其放在一起更加和諧更加逼真的體</p><p>

81、  現(xiàn)垃圾處理場(chǎng)的場(chǎng)景。場(chǎng)景構(gòu)建主要是兩部,第一步擁有場(chǎng)景內(nèi)的物體,第二步</p><p>  就是將物體編輯加工好。游戲用戶、各類插件、交互邏輯是場(chǎng)景元素,攝像機(jī)、</p><p>  燈光也是場(chǎng)景元素。編輯場(chǎng)景,通過改造之后形成一個(gè)個(gè)可以使用的對(duì)象,再將</p><p>  對(duì)象組織在一起進(jìn)行下一步的研發(fā)設(shè)計(jì)[24]。而我們最后一步發(fā)布,就使我們的</p&

82、gt;<p>  研發(fā)不僅僅可以在 unity 中運(yùn)行還可以在其他平臺(tái)使用。</p><p>  3.1 產(chǎn)品開發(fā)流程</p><p>  使用 unity 引擎,我們開發(fā)游戲和其他虛擬的場(chǎng)景的時(shí)候,是有一個(gè)通用的</p><p>  研發(fā)模式和步驟的。實(shí)際中游戲和虛擬現(xiàn)實(shí)產(chǎn)品有差異,但是很大程度上的步驟</p><p>  是

83、相似的。我們研發(fā)一個(gè)垃圾處理場(chǎng),首先就要根據(jù)我們研發(fā)的需求進(jìn)行設(shè)計(jì),包括界面設(shè)計(jì)等等,然后就進(jìn)入漫游交互部分的研發(fā)和編程階段[25]。在垃圾處理</p><p>  場(chǎng)搭建完成,并可以實(shí)現(xiàn)交互后,我們還要進(jìn)行相應(yīng)的體驗(yàn)和修改,最后我們才</p><p>  能將其發(fā)布投入使用。其中整體的開發(fā)流程如下圖 3-1 所示。</p><p><b>  15<

84、;/b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 3-1 開發(fā)流程圖</p><p>  3.2 三維真實(shí)場(chǎng)景的建模</p><p>  簡(jiǎn)單來說,我們?cè)谝5膱?chǎng)景下現(xiàn)場(chǎng)采集圖片和視頻,然后利用圖片和視</p><p>  頻在電腦軟件上進(jìn)行三維建模

85、。</p><p>  對(duì)于建模使用的圖片,需要視角寬闊能夠反映場(chǎng)景中物體的比例和位置關(guān)系。</p><p>  另外對(duì)于一些復(fù)雜的建模部分,我們需要正視圖,擁有正面視圖可以用其來代替以簡(jiǎn)化建模[26]。簡(jiǎn)單的概括一下三種實(shí)用的建模方法:</p><p><b> ?。?)UVW 貼圖</b></p><p>  uvw

86、 對(duì)應(yīng)著 xyz 軸,我們通過控制 uvw 的值來改變貼圖的位置和比例大小,</p><p>  以此達(dá)到一個(gè)三維逼真的效果。</p><p><b>  (2)線工具</b></p><p>  通過線條可以繪制任何需要的形狀,不受限制;另外,線工具構(gòu)建的模型面</p><p>  數(shù)少,導(dǎo)入引擎后占用儲(chǔ)存空間小。&l

87、t;/p><p><b> ?。?)多邊形工具</b></p><p>  我們將構(gòu)建對(duì)象轉(zhuǎn)化為可編輯的多邊形,通過改變可編輯多邊形的點(diǎn)、線、</p><p>  面、元素、邊界對(duì)象模式來完成建模,功能性強(qiáng)。</p><p>  首先要到實(shí)地進(jìn)行數(shù)據(jù)采集,再使用 3D StudioMax 建模。建模方法采用的</p&g

88、t;<p>  Polygon 建模即用多邊形工具,進(jìn)行 UV 拆分再用圖像處理軟件進(jìn)行材質(zhì)貼圖的制作,在安裝格式式插件生成 Fbx 文件格式后,導(dǎo)入到 Unity3D 中進(jìn)行調(diào)整。</p><p><b>  16</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  有時(shí)也要

89、為了突出貼圖的立體感而重新繪制的[27]。導(dǎo)入到 Unity3D 后,我們就</p><p>  需要對(duì)模型的位置和大小進(jìn)行調(diào)整,圖 3-2 是在 Unity3D 中實(shí)時(shí)煊染的效果圖。</p><p>  圖 3-2 三維場(chǎng)景中的模型圖</p><p>  對(duì)于我們構(gòu)建出來的垃圾處理場(chǎng)的場(chǎng)景,簡(jiǎn)單來說,就是可以讓用戶切身的</p><p> 

90、 體會(huì)到垃圾處理場(chǎng)的構(gòu)造,以及其組成,能夠像在真的垃圾場(chǎng)里面一樣隨意的走</p><p>  動(dòng)視察和學(xué)習(xí)這其中的構(gòu)造。那么為了擁有這種較強(qiáng)的真實(shí)感,我們?cè)诮_^程</p><p>  中,不僅僅要搭建好模型,更主要的是還要將模型逼真化,同時(shí)我們要保證構(gòu)建</p><p>  模型的過程中按照標(biāo)準(zhǔn)規(guī)范來,使其占用的空間盡可能的小。模型優(yōu)化最基本的</p>

91、<p>  原則就是:盡量使模型簡(jiǎn)單化,降低繁復(fù)的點(diǎn)線面的數(shù)量[28]。</p><p>  以下幾點(diǎn)是最基本的建模要求[29]:</p><p> ?。?)模型命名盡量英文采用名稱,避免重名,</p><p> ?。?)在 3DsMax 中建模時(shí),以米作為最小的單位,以便于 Unity 里使用,</p><p> ?。?)建立

92、三維模型時(shí)采用多邊形工具進(jìn)行建模,</p><p>  (4)在建模過程中,確定模型的正面視圖.</p><p>  (5)盡量共用模型的材質(zhì)和貼圖組件,</p><p>  (6)盡量減少硬邊數(shù)量,xy 的邊緣和頂點(diǎn)數(shù)量。</p><p><b>  17</b></p><p>  基于 un

93、ity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  3.3 系統(tǒng)交互設(shè)計(jì)方案</p><p>  在垃圾處理場(chǎng)的虛擬漫游中,使用者通過交互來進(jìn)行聯(lián)系虛擬和現(xiàn)實(shí),而</p><p>  unity 是開發(fā)人員的交互研發(fā)工具,虛擬現(xiàn)實(shí)的整個(gè)設(shè)計(jì)都在 unity 內(nèi)完成,在本</p><p>  次研發(fā)中,有漫游場(chǎng)景的交互,有垃圾處

94、理場(chǎng)設(shè)備界面介紹切換的交互,這通過</p><p>  點(diǎn)擊設(shè)備來實(shí)現(xiàn)相應(yīng)的交互功能[30]。在場(chǎng)景交互中,我們以第一人稱在垃圾處</p><p>  理場(chǎng)內(nèi)漫游,可以隨意的在垃圾處理場(chǎng)內(nèi)走動(dòng),并且可以切換天空的顏色,以此</p><p>  來感受垃圾處理場(chǎng)治理前后天空的變化,這也是一種交互。</p><p><b>  3.4

95、本章小結(jié)</b></p><p>  在第二章介紹了 unity 的開發(fā)準(zhǔn)備之后,本章我們介紹了基于 unity 開發(fā)準(zhǔn)</p><p>  備之后,我們?nèi)绾卧O(shè)計(jì)并形成一個(gè)虛擬漫游的場(chǎng)景。其中包括了我們開發(fā)流程的</p><p>  介紹和相應(yīng)的我們?cè)诮_^程中用到的主要建模技術(shù),特別值得注意的是,unity</p><p>  

96、作為一個(gè)引擎,其運(yùn)行時(shí)也會(huì)占用大量的資源空間,我們提到了一些規(guī)范以避免</p><p>  浪費(fèi)資源。最后,我們?cè)诖罱ê脠?chǎng)景后,也討論確立了我們交互的人稱設(shè)置,這</p><p>  也是我們下一章介紹漫游功能實(shí)現(xiàn)要確立的最基本的問題。</p><p><b>  18</b></p><p>  基于 unity3D

97、的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  垃圾場(chǎng)漫游功能的實(shí)現(xiàn)</p><p>  4.1 漫游功能的實(shí)現(xiàn)</p><p>  虛擬漫游是我們本次垃圾處理場(chǎng)漫游系統(tǒng)的關(guān)鍵,交互功能是實(shí)現(xiàn)我們漫游</p><p>  的重點(diǎn)。我們通過編寫交互腳本來實(shí)現(xiàn)“上”,“下”“左”“右”“跳躍”“旋</p><p>

98、  轉(zhuǎn)”這些邏輯操作,并將他們封裝成角色控制組件,來實(shí)現(xiàn)第一人稱主角的漫游控制[31]。</p><p>  具體的步行漫游功能采用的方法如下:</p><p>  通過按鍵控制該對(duì)象的移動(dòng),將主攝相機(jī)綁定在一個(gè)膠囊狀對(duì)象上,其中主攝像機(jī)上還包含了水下效果代碼、環(huán)境音效代碼、鼠標(biāo)控制代碼、環(huán)境特效代碼、天空顯示代碼等,主攝像機(jī)的改變決定著視窗中所有聲音以及圖像的相應(yīng)改變。其中漫游功能的實(shí)現(xiàn)

99、是對(duì)它的位置或者說是視點(diǎn)控制,然后通過 CharacterController 的包來實(shí)現(xiàn),將 Character Controller 添加為 First Person Controller 的組件即可實(shí)現(xiàn)漫游功能。將鼠標(biāo)控制程序綁定在主攝像機(jī)來實(shí)現(xiàn)對(duì)</p><p>  視角控制,這樣就可以達(dá)到通過鼠標(biāo)移動(dòng)來控制視角[32]。</p><p>  在垃圾處理場(chǎng)交互系統(tǒng)中,從而實(shí)現(xiàn)了通過

100、頭部運(yùn)動(dòng)來掌控了三維場(chǎng)景的視</p><p>  角,鼠標(biāo)控制視角的程序流程圖如下:</p><p><b>  19</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  4-1 鼠標(biāo)控制程序流程圖 1</p><p>  4-1 所示的程序流

101、程圖主要表示了我們要使用鼠標(biāo)控制人物的旋轉(zhuǎn),第一步我們?cè)趩?dòng)引擎之后,我們要將相應(yīng)的屬性設(shè)置到菜單欄,然后確定程序編寫過程中所用到的旋轉(zhuǎn)變量,并設(shè)置好以 xy 軸為旋轉(zhuǎn)軸的旋轉(zhuǎn)系數(shù)以及其最大最小的旋轉(zhuǎn)值,這些我們將其歸類為初始化設(shè)置。</p><p><b>  20</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p&g

102、t;<p>  4-2 鼠標(biāo)控制旋轉(zhuǎn)程序流程圖 2</p><p>  4-2 所示的程序流程圖中主要解釋了我們是否要使用 xy 軸同時(shí)控制旋轉(zhuǎn),如果是的我們?nèi)绾稳ネㄟ^編程設(shè)置如何通過鼠標(biāo)旋轉(zhuǎn)角度來計(jì)算最后的旋轉(zhuǎn)數(shù)值,然后將此數(shù)值賦于我們的旋轉(zhuǎn)變量最后計(jì)算出我們最后的旋轉(zhuǎn)效果。同理可得入果只有 x 軸的數(shù)據(jù)或者 y 軸的數(shù)據(jù),我們又如何得到最后的旋轉(zhuǎn)效果[33]。</p><p&

103、gt;  4-3 的程序流程圖主要說明了我們需要固定我們的旋轉(zhuǎn)軸,要在程序編寫中來設(shè)定它們。另外旋轉(zhuǎn)的角度也有相應(yīng)的要求,如果小于最小值我們要加相應(yīng)的度數(shù),如果大于最大值,我們要減掉相應(yīng)的角度。</p><p><b>  21</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 4-3

104、 鼠標(biāo)控制程序流程圖 3</p><p>  為了一個(gè)更好的虛擬漫游體驗(yàn),我們實(shí)現(xiàn)了一種不規(guī)定路線的漫游,用戶可</p><p>  以根據(jù)自己的需要來隨意選擇路線,具體的實(shí)現(xiàn)通過下面的控制器來實(shí)現(xiàn):</p><p>  飛行漫游功能是在 Heemite Spline Controller 的基礎(chǔ)上,由 Swing Submarine</p><

105、p>  公司的游戲程序設(shè)計(jì)師 Benoit Fouletier 設(shè)計(jì)。通過樣條控制器可以在 Unity 3D</p><p><b>  22</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  軟件下進(jìn)行相機(jī)的自動(dòng)路徑漫游[34]。在編輯模式下,自動(dòng)生成擬合平滑曲線,</p&g

106、t;<p>  運(yùn)行時(shí)可保存路徑數(shù)據(jù)代碼,然后脫離控制點(diǎn)固化程序運(yùn)行。</p><p>  為了更好的漫游體驗(yàn),我們還通過 unity 插件可以控制天空的顏色,我們通</p><p>  過按鍵 T 可以切換天空的顏色[35],讓用戶在漫游的同時(shí),可以感受垃圾治理前</p><p>  后天空變化帶給大家的直觀感受,有關(guān)這一部分的程序流程圖如下:<

107、;/p><p>  4-4 切換天空顏色程序流程圖 1</p><p>  4-4 顯示的是我們?cè)陂_始輸入按鍵部分的程序流程,我們使用到的 a 變量在后續(xù)的程序編寫中還會(huì)用到。</p><p><b>  23</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><

108、;p>  4-5 切換天空顏色程序流程圖 2</p><p>  4-5 顯示的是我們?cè)谠黾影存I T 的次數(shù)的時(shí)候所改變的數(shù)組的值,而數(shù)組的值會(huì)通過我們編寫的程序隱藏天空顏色 1 顯示天空顏色 2[36],因此達(dá)到了切換天空顏色讓用戶直觀感受污染治理前后天空的變化。</p><p>  下面我們展示出污染治理前與治理后天空顏色變化的圖片:</p><p>  

109、圖 4-6 污染治理前天空灰暗</p><p><b>  24</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 4-7 污染治理后天空很藍(lán)</p><p>  4.2 虛擬場(chǎng)景的建立</p><p>  我們將垃圾處理場(chǎng)中所有的素材和

110、模型導(dǎo)入 unity 中,用戶在 game 界面通</p><p>  過調(diào)整角度來看整個(gè)場(chǎng)景,我們要加入一個(gè)使用者的角色來模擬我們?cè)谡鎸?shí)場(chǎng)景</p><p>  中走動(dòng)一樣在虛擬搭建的場(chǎng)景中漫游[37]。我們此次主要做的是第一人稱漫游的</p><p>  效果,那么我們是無法看到自己本身的身體,所以我們不能放入一個(gè)人物進(jìn)去,</p><p&g

111、t;  我們采用攝像機(jī)來替代我們的眼睛。等于說攝像機(jī)就是我們自己本身,我們需要</p><p>  給攝像機(jī)來編輯交互腳本,我們可以選擇 unity 自帶的第一人稱角色控制器,在</p><p>  他自己本身自帶的資源包內(nèi)可以導(dǎo)入。</p><p>  具體步驟可以解釋為:我們?cè)?project 資源面板中找到第一人稱控制器,將</p><p&

112、gt;  其放置進(jìn)入場(chǎng)景外的邊緣。放入之后我們?cè)俑鶕?jù)需要調(diào)整他的相關(guān)參數(shù),這個(gè)時(shí)</p><p>  候 hieracry 面板內(nèi)就會(huì)出現(xiàn)角色控制器,這時(shí)我們就可以來定義這個(gè)第一人稱控</p><p>  制器的物體,比地平線要高,這樣我們?cè)谶\(yùn)行的時(shí)候,物體才能保證呈現(xiàn)正常的</p><p><b>  狀態(tài)[38]。</b></p>

113、;<p><b>  25</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 4-8 第一人稱視角 1</p><p>  圖 4-9 第一人稱視角 2</p><p>  我們的人物運(yùn)動(dòng)主要通過鍵盤上的四個(gè)按鍵來控制,由于是第一人稱的控制<

114、/p><p>  視角,我們運(yùn)行時(shí)看到的就是我們走路時(shí)要走的方向,通過 W 往前方移動(dòng),通</p><p>  過 A 往左面移動(dòng),通過 S 往后方移動(dòng),通過 D 往右面移動(dòng)。另外由于 unity 是個(gè)</p><p>  游戲引擎,其中使用的時(shí)間按照幀而不是秒來計(jì)算,因此人物移動(dòng)的速度也按照</p><p><b>  幀來計(jì)算[39

115、]。</b></p><p>  下面是控制第一人稱移動(dòng)的代碼流程圖如下:</p><p><b>  26</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 4-10 人物控制運(yùn)動(dòng)的程序流程圖</p><p>  在我們的垃

116、圾處理場(chǎng)漫游中沒有用到第三人稱視角,但是我們?cè)谶@里也簡(jiǎn)單</p><p>  介紹一下。就是將一個(gè)人物放入場(chǎng)景中,我們編寫這個(gè)人物的相關(guān)腳本,然后運(yùn)</p><p>  用,整個(gè)過程原理與第一人稱是通的,因?yàn)榈谌朔Q角色控制器也是 unity 自帶</p><p><b>  資源。</b></p><p><b&

117、gt;  27</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  另外,我們?cè)趫?chǎng)景中設(shè)置了很多設(shè)備的介紹,我們通過向鼠標(biāo)點(diǎn)按的設(shè)備發(fā)</p><p>  射射線來顯示我們?cè)O(shè)置的設(shè)備解釋,通過鼠標(biāo)右鍵可以消除這些解釋。</p><p>  這些 UI 也需要我們通過編寫交互腳本

118、來實(shí)現(xiàn)它們的隱藏和出現(xiàn),其中用到</p><p>  的一個(gè) setactive 功能與天空盒子中運(yùn)用的一樣[40]。下面是這一功能的程序流程</p><p><b>  圖:</b></p><p>  首先,通過鼠標(biāo)左鍵可以顯示這些設(shè)備解析:</p><p>  圖 4-11 鼠標(biāo)左鍵顯示設(shè)備解析程序流程圖</

119、p><p>  然后,通過點(diǎn)按鼠標(biāo)右鍵可以隱藏這些解析,我們輸入變量可以改變數(shù)組的</p><p>  值,不同的數(shù)組對(duì)應(yīng)著不同的設(shè)備的解析,我們對(duì)不同的設(shè)備點(diǎn)按會(huì)發(fā)出不一樣</p><p>  的射線,變量會(huì)有不同的值,就會(huì)有不同的解析出現(xiàn)。</p><p>  下面是隱藏這些解析的程序流程圖:</p><p><

120、b>  28</b></p><p>  基于 unity3D 的垃圾處理場(chǎng)虛擬漫游與人機(jī)交互研究</p><p>  圖 4-12 隱藏設(shè)備解析的程序流程圖</p><p>  下面我們展示一下這些解析的效果:</p><p>  圖 4-13 焚燒爐解析</p><p><b>  29

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論