版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p><b> 摘要</b></p><p> 基于 unity 3D 的垃圾處理場的虛擬漫游與人機(jī)交互研究是一個重要課題,它</p><p> 將
2、圖像圖形技術(shù)、計算機(jī)技術(shù)與虛擬現(xiàn)實技術(shù)等領(lǐng)域集合在了一起。本文主要根</p><p> 據(jù)現(xiàn)有的垃圾處理廠場景圖片進(jìn)行了相應(yīng)的 3D 場景建模,根據(jù)需要我們在導(dǎo)入</p><p> unity3D 后對模型進(jìn)行了相應(yīng)的調(diào)整編輯。由于我們對于垃圾處理場漫游功能的</p><p> 要求,本文使用了 C#編程語言對我們的模型對象進(jìn)行了腳本編寫,使用 charact
3、er</p><p> controller 的功能來實現(xiàn)我們第一人稱漫游的交互設(shè)計。</p><p> 另外,介于我們希望本文的研究可以使用到垃圾處理場的推廣以及環(huán)保宣傳</p><p> 方面,我們在 3D 場景搭建完成后,我們對于場景中的建筑都進(jìn)行了相應(yīng)的 UI 設(shè)</p><p> 計,在我們漫游的過程中走到處理廠的一些關(guān)鍵的
4、設(shè)備時,將用戶可以選擇查看</p><p> 相應(yīng)的設(shè)備介紹,這樣用戶可以在身臨其境的同時詳細(xì)的了解我們垃圾處理場各</p><p> 部分的功能,這一部分的腳本編寫也是由 C#來完成交互設(shè)計的。</p><p> 本設(shè)計另外一個創(chuàng)新點(diǎn)在于,由于我們是設(shè)計完成垃圾處理廠的交互體驗,</p><p> 考慮到環(huán)保宣傳的角度,我們利用 u
5、nity 的天空盒子功能設(shè)計了一個變換天空顏</p><p> 色的交互體驗,這樣用戶可以切身體會到垃圾處理場污染治理前后的天空變化。</p><p> 關(guān)鍵詞:Unity,三維建模,垃圾處理場,C#腳本編寫,虛擬漫游</p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(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 的垃圾處理場虛擬漫游與人機(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 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p><b> 目錄</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p><b&
15、gt; 緒論</b></p><p><b> 1.1 引言</b></p><p> 隨著工業(yè) 4.0 時代的到來,以德國為主體的工業(yè) 4.0 在漢諾威工業(yè)博覽上,</p><p> 通過一些展出方案顯示,將新材料,軟件硬件,虛擬與現(xiàn)實,大小企業(yè),國內(nèi)外</p><p> 工業(yè)標(biāo)準(zhǔn)融合發(fā)展,是工業(yè)
16、 4.0 的發(fā)展主線[1],通過各項工業(yè)技術(shù)的結(jié)合向人們</p><p> 展現(xiàn)未來智能生活生產(chǎn)的藍(lán)圖。其中,以“人為中心“的虛擬現(xiàn)實技術(shù)是其中一</p><p><b> 大發(fā)展趨勢[2]。</b></p><p> 虛擬現(xiàn)實的英文名稱為 Virtual Reality,簡稱 VR。virtual 意思為虛擬的,意味</p>
17、<p> 著用戶感受到的一切都是虛幻的而并非真實接觸的,是通過計算機(jī)技術(shù)構(gòu)建而成</p><p> 的;reality 意為現(xiàn)實,是我們?nèi)粘Ia(chǎn)生活中存在的真實的事務(wù),兩詞結(jié)合稱為</p><p> 虛擬現(xiàn)實,也因此我們可以將虛擬現(xiàn)實技術(shù)大概理解為,使用者能夠通過引擎工</p><p> 具創(chuàng)造的事物獲取現(xiàn)實感受。我們可將其定義為:采用以 IT
18、 技術(shù)為重點(diǎn)的現(xiàn)代化方式和相應(yīng)設(shè)備仿真虛擬世界 [3]。</p><p> 1.2 本設(shè)計的目的與意義</p><p> 虛擬現(xiàn)實技術(shù)在很多方面有所應(yīng)用,它可以在學(xué)校做虛擬實驗室,戰(zhàn)事上模</p><p> 仿虛擬斗爭、醫(yī)學(xué)上仿真虛擬手術(shù)、學(xué)校課程虛擬智力活動、工業(yè)上制造仿真等</p><p> 等[4]。工業(yè)仿真是其應(yīng)用的一大方面。
19、工業(yè)仿真就是將實體工業(yè)轉(zhuǎn)化為虛擬的場</p><p> 景中,在虛擬的場景中實現(xiàn)實體工業(yè)的每一項工作和流程,人們用第一人稱實現(xiàn)</p><p> 在其中漫游實現(xiàn)人機(jī)交互[5]。由于本文是基于 unity3D 的垃圾處理廠的人機(jī)交互</p><p> 設(shè)計,我們以垃圾處理場的工業(yè)仿真為例說明虛擬現(xiàn)實工業(yè)仿真的意義。</p><p> ?。?/p>
20、1)展會及市場推廣。首先,垃圾處理場作為每個城市甚至鄉(xiāng)鎮(zhèn)所必需的</p><p> 一個工廠,對于其建造數(shù)量的要求會非常的高。在向政府或者公司展示垃圾處理</p><p><b> 1</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 廠的構(gòu)造,無疑利用虛擬漫游
21、是勝過于其他形式的介紹的[6]。讓企業(yè)沉浸在垃圾</p><p> 場的構(gòu)造中去考察垃圾場建成后的效果和運(yùn)行,簡單直觀,簡化了推廣的過程,</p><p><b> 并收獲很好的效果。</b></p><p> ?。?)垃圾廠的監(jiān)控管理。垃圾處理廠難免會有很大的味道,在企業(yè)日常對</p><p> 垃圾處理廠的管理
22、和控制上,通過虛擬漫游,工作人員可以非??旖莸闹赋龉S</p><p> 運(yùn)作中出現(xiàn)的問題[7]。</p><p> (3)培訓(xùn)教學(xué)的使用。垃圾處理場的發(fā)展將會日益智能化,并且考慮到垃</p><p> 圾處理場的應(yīng)用廣泛,對于垃圾處理場工人的培訓(xùn)也是亟待解決的問題。我們通</p><p> 過虛擬漫游系統(tǒng),可以更加高效的對員工進(jìn)行培
23、訓(xùn)教學(xué),并且還沒有健康的威脅。</p><p> 本文只是對漫游垃圾場作一個指引作用,作為展示作用,以此來顯示垃圾處</p><p> 理廠的功能配置,同時也可以作為教育意義去呼吁人們關(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ù)的相關(guān)應(yīng)用,英國</p><p> 德國更是為此設(shè)立了許多相關(guān)的會議和展會,這使得這些國家對于這方面的研究</p><p> 一直保持著更新。另外,
25、在亞洲,日韓和新加坡等國家也都在虛擬游戲開發(fā)方面</p><p> 搶占了大量的市場,很多芯片廠商也對相關(guān)頭戴式設(shè)備進(jìn)行相關(guān)升級。</p><p> 1.3.2 國內(nèi)發(fā)展概況</p><p> 在相關(guān)文獻(xiàn)中描述了在一些工地的現(xiàn)場,一些工人在漫游的角度來看遇到的</p><p> 一些問題的解決辦法,這對游戲中用戶體驗來說是很大進(jìn)步的研
26、究。各種文獻(xiàn)對</p><p> 基于計算機(jī)的 Kinect2 體感游戲也有相關(guān)的研究和討論,這也是在虛擬體驗上的</p><p> 很好的研究方向[8]。很多文獻(xiàn)中也描述了一些基于 unity3D 構(gòu)造的一些野外生存</p><p><b> 2</b></p><p> 基于 unity3D 的垃圾處理場虛擬
27、漫游與人機(jī)交互研究</p><p> 環(huán)境的一些事件,都有借鑒意義。我國對于三維游戲的發(fā)展還比較淺,發(fā)展時間</p><p> 較短,對于一些三維軟件的應(yīng)用還未達(dá)到熟能生巧的地步,市場占有率非常小,</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ī)輔助設(shè)計和圖形學(xué)國家重點(diǎn)</p><p> 實驗室主要研究虛擬環(huán)境的高效構(gòu)建和呈現(xiàn)、自然人機(jī)交互技術(shù)、增強(qiáng)現(xiàn)實技術(shù)、</p>&
29、lt;p> 虛擬現(xiàn)實應(yīng)用等。北京航空航天大虛擬現(xiàn)實技術(shù)主要研究一些理論方面的知識和</p><p> 增強(qiáng)現(xiàn)實方面的平臺應(yīng)用開發(fā)。它們開發(fā)了一批軟件系統(tǒng),如模擬培訓(xùn)系統(tǒng)、奧</p><p> 運(yùn)會開幕式創(chuàng)新真實演示場景、數(shù)字展覽館等[10]。</p><p> 由于本課題是基于 unity3D 實現(xiàn),unity3D 作為實現(xiàn)這個功能的引擎工具,<
30、/p><p> 是當(dāng)下使用較多的一個三維場景設(shè)計引擎。相應(yīng)的 VR 游戲開發(fā)引擎還有 Virtools</p><p> 軟件、Converse3D 引擎、VRP 等等。但是由于 unity3D 的綜合性開發(fā)功能多平</p><p> 臺發(fā)布,上手快等特點(diǎn)目前國內(nèi)主要使用該引擎來實現(xiàn)虛擬現(xiàn)實的場景搭建,各種體感游戲、校園工廠漫游系統(tǒng),相應(yīng)的開發(fā)都有了較為成熟的發(fā)展
31、[11]。</p><p> 1.4 本設(shè)計的主要內(nèi)容</p><p> 本文研究基于 Unity3D 軟件平臺的使用方法,對相關(guān)的 game 設(shè)計的主要技</p><p> 能進(jìn)行了討論,研究和開發(fā)了電腦端的虛擬漫游。分析了垃圾處理場漫游系統(tǒng)的</p><p> 一些功能意義及要求,以及軟件選擇,三維場景搭建的設(shè)計和交互腳本的編寫。
32、</p><p> 第一章為緒論,介紹了本文研究垃圾處理場虛擬漫游的緣由、以及 VR 國內(nèi)</p><p> 外研究現(xiàn)狀以及論文的架構(gòu)。</p><p> 第二章主要介紹了 Unity 3D 系統(tǒng)的研發(fā)的相關(guān)步驟,重點(diǎn)介紹了下 Unity3D</p><p> 設(shè)計引擎的基本操作介紹,包括它的框架、優(yōu)缺點(diǎn)和各類插件,其中包括 NGUI
33、、</p><p> iTween 等多款插件。</p><p><b> 3</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 第三章對垃圾處理場如何實現(xiàn)漫游功能,列出了系統(tǒng)的研發(fā)流程,并且實現(xiàn)</p><p> 了垃圾場搭建,系統(tǒng)交
34、互邏輯的編寫方案。</p><p> 第四章對垃圾漫游場功能的實現(xiàn),相關(guān)界面的搭建與實現(xiàn),虛擬場景的建立</p><p><b> 做了相關(guān)的研究。</b></p><p> 第五章是概括本文對垃圾處理場的研究探討,并且分析了本文設(shè)計在環(huán)保工</p><p> 程經(jīng)濟(jì)發(fā)展方面的用處和意義,并解析了設(shè)計的不足和提升
35、的空間巨大。</p><p><b> 4</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 2 Unity3D 系統(tǒng)開發(fā)流程分析與設(shè)計</p><p> 電腦是游戲漫游研發(fā)中不能缺少工具,而且游戲的創(chuàng)造更需要一些三維軟件</p><p>
36、; 的協(xié)助,在本章將會介紹協(xié)助研發(fā)的各種應(yīng)用,一個是用于場景建模的 3DsMax,</p><p> 還有插件 NGUI 和 iTween,還有一個是我們主要的引擎軟件 Unity3D,下面我們</p><p> 簡單的解析一下這些軟件應(yīng)用,先來說一下 Unity。</p><p> 2.1 開發(fā)引擎的選擇</p><p> Uni
37、ty 3D 軟件是一個全球都廣泛應(yīng)用的綜合游戲開發(fā)軟件,同時,可以制作</p><p> 出數(shù)字交互產(chǎn)品、虛擬漫游和產(chǎn)品數(shù)字展示。它是 3D 研發(fā)的領(lǐng)導(dǎo)者,目前我們</p><p> 可以下載的版本都支持我們現(xiàn)在的微軟平臺下的使用,并且它們的互通性很高,在蘋果系統(tǒng)中也可以使用 unity。作為一個綜合的三維設(shè)計引擎,它被用于設(shè)計</p><p> 三維廣告,動
38、漫等互動內(nèi)容,最近幾年卻突然發(fā)展迅速,目前中國一流的相關(guān)開</p><p> 發(fā)公司都首選 unity 作為開發(fā)的工具,其具有文檔齊全,平臺互通性高,編程簡</p><p> 便,費(fèi)用低廉,BBS 熱鬧,可搭配使用各種豐富的配件等突出特征[12]。相對于</p><p> 其他游戲研發(fā)方式,它所支持的模型文件的類型也非常的多。</p><p
39、> 其次,其引擎具有功能強(qiáng)大的控制系統(tǒng):</p><p> ?。?)渲染系統(tǒng):全屏后處理,批處理,遮擋剔除;</p><p> ?。?)燈光系統(tǒng):延后光照處理,當(dāng)下暗影,體積光,光照貼圖,:</p><p> (3)瑜入控制:手柄,鼠標(biāo)鍵盤,手機(jī)觸摸輸入;</p><p> ?。?)地形系統(tǒng):刷地形,刷紋理,樹,河流:</p&
40、gt;<p> ?。?)物理系統(tǒng):柱體,物理模型之汽車,軟物體:</p><p> ?。?)粒子特效:煙、霧、瀑布、火、雨、水:</p><p> (7)音響系統(tǒng):MP3,WAV:</p><p> (8)腳本系統(tǒng):Java Script,Boo(Python),C#:</p><p><b> ?。?)尋路系統(tǒng):
41、</b></p><p> (10)網(wǎng)路支持:Real—time Networking,Web Browser,Backend Connectivity;(11)性能分析系統(tǒng)</p><p><b> 5</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p>
42、; 同時編輯器支持分類如下:</p><p> ?。?)材料集成及其組合(游戲?qū)ο蠊芾?</p><p> ?。?)場景創(chuàng)建:快速創(chuàng)建</p><p> (3)資源管道(工具建模):快速迭代(模型和紋理圖像)</p><p> ?。?)資源商店:提供免費(fèi)資源,同時也可以有償共享資源</p><p> ?。?)資源管
43、理服務(wù)器</p><p><b> ?。?)編輯器的擴(kuò)展</b></p><p><b> ?。?)性能分析</b></p><p> 我們使用的 unity3D 是 unity5 版本,unity3D 的游戲組織結(jié)構(gòu)是使用資源</p><p> ?。ˋsset)生成游戲?qū)ο螅℅ameObject
44、),游戲?qū)ο蠼M成游戲場景(Scene),各種游</p><p> 戲場景構(gòu)成了游戲工程(Game Project)[13]。作為一個簡便操作方便的游戲開發(fā)</p><p> 引擎,unity 的菜單界面也容易學(xué)習(xí),其中菜單有如下幾種:</p><p> ?。?)動畫面板:渲染其中出現(xiàn)的各種場景。我們無法在這里編輯物體,但</p><p>
45、 可以預(yù)覽編輯后的整個動態(tài)結(jié)果。我們可以調(diào)整攝像頭的參數(shù)來調(diào)整看的角度。</p><p> 圖 2-1 Game 動畫界面</p><p><b> 6</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> ?。?)層次清單欄:展示在面板中所有的物體對象。</
46、p><p> 圖 2-2 Hierarchy 界面</p><p> ?。?)場景面板:場景面板為 Unity 3D 的操作的領(lǐng)域,設(shè)計時,將我們需要</p><p> 的所有的素材和渲染要求放入其中,最后形成渲染和動畫效果。</p><p> 圖 2-3 Scene 場景界面</p><p><b>
47、7</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> ?。?)對象屬性欄:顯示出所有 project 對象的本質(zhì)屬性,包括對象 xyz</p><p> 值、縮放程度、腳本的變量和對象等等。</p><p> 圖 2-4 Inspector 界面圖 2-5 項目文件界面&
48、lt;/p><p> (5)菜單欄:菜單選項: File、Component、Edit、Terrain、Assets、Help。</p><p> 圖 2-6 菜單欄界面</p><p> ?。?)項目文件欄:所有的資源、文件夾都可以在這個區(qū)域找到。包括物體、</p><p> 字體大小,project 的各個場面文件等。</p>
49、;<p> (7)場景調(diào)整 T 具:改變編輯過程中的物體視圖、位置、通過移動旋轉(zhuǎn)縮</p><p> 放等等操作來實現(xiàn)所見即所得的效果。</p><p> 圖 2-7 場景調(diào)整工具</p><p><b> 8</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(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è)計過程中我們對于整個設(shè)計的方案的構(gòu)造和點(diǎn)子都是至關(guān)重要的。</p>&
51、lt;p> 面對創(chuàng)新進(jìn)行大量的改造和呈現(xiàn),開發(fā)者讓使用者眼前一亮也是一項非常重要的</p><p> 工作。在本文中,我們對垃圾處理場漫游的設(shè)計很重視,我們提前作出設(shè)計方案</p><p> 有兩點(diǎn)是很重要的:1、在開始實現(xiàn)之前先進(jìn)行測試。如果設(shè)計有非常大的缺陷</p><p> 在實施后又無法彌補(bǔ),將會損傷慘重 2、策劃方案作為一個書面的文件,我們可
52、</p><p> 以反復(fù)的修改,使之更加完美,在設(shè)計過程中有什么問題,也可以隨時標(biāo)注,最</p><p> 后盡量減少漏洞,使最后的產(chǎn)品穩(wěn)定運(yùn)行,降低不確定帶來的風(fēng)險[14]。</p><p> 在虛擬現(xiàn)實設(shè)計中很關(guān)鍵的是軟件研發(fā)的規(guī)范準(zhǔn)則,其涉及到軟件的研發(fā)邏</p><p> 輯、必須遵循的原則以及該領(lǐng)域的行為職業(yè)準(zhǔn)則,unit
53、y3D 作為一個引擎平臺,</p><p> 對于對象占據(jù)的儲存空間也有相關(guān)的要求,因此才能保證游戲和系統(tǒng)的運(yùn)行。對于模型面數(shù)我們可以在 3D max 中看到,最好在 2k 及 2k 以下[15]。</p><p> 本次設(shè)計對于 3D 的程序技術(shù)進(jìn)行闡述。由虛擬現(xiàn)實研發(fā)的固有屬性,在很多的情景下,代碼和技術(shù)的應(yīng)用都會出現(xiàn)重復(fù)和相類似的地方,這對于其他的應(yīng)用軟件來說,是可以學(xué)習(xí)的。&l
54、t;/p><p> 我們課程的題目就是基于 unity3D 設(shè)計的一種漫游系統(tǒng),利用游戲引擎來設(shè)計虛擬漫游是一個非常好的選擇。而 unity3D 在游戲設(shè)計方面應(yīng)用及其廣泛,是漫游設(shè)計的首選,因此我們選擇常用的游戲引擎 unity3D 來進(jìn)行虛擬漫游的設(shè)計。我們在后面會詳細(xì)的接受 unity3D 的優(yōu)點(diǎn)特征。</p><p><b> 9</b></p>
55、<p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 對于 unity3D 來說,unity5 版本之前一直支持三種語言:C#、Java Script 和</p><p> Boo。Boo 語言相對使用較少,我們就不再考慮。另外的兩種語言,我們可以選</p><p> 擇用兩種語言來實現(xiàn)腳本的編寫,最后它們都會被編
56、譯成 unity3D 中內(nèi)置的中間</p><p> 代碼[16]。但是由于 C#是面向?qū)ο蟮恼Z言成分比較多,面向?qū)ο蟮奶匦酝暾?,?lt;/p><p> 加利于程序設(shè)計。另外,C#是 mono develop 的原生語言(mono develop 的框架</p><p> 用的是.net),對于熟悉 visual studio 的編程用戶使用 c#也更加方便。&
57、lt;/p><p> 圖 2-8 monodevelop 腳本編寫的界面</p><p> 2.3 框架結(jié)構(gòu)設(shè)計</p><p> 軟件開發(fā)都有互通性,三維游戲開發(fā)也不例外。Unity 本身的設(shè)計就有是分</p><p> 層化的,我們的結(jié)構(gòu)框架也是這樣。整個設(shè)計從下至上的層級是:操作、構(gòu)架、數(shù)據(jù)、控制、視圖,如圖 2-9 所示:<
58、/p><p><b> 10</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 2-9 游戲分層設(shè)計示意圖</p><p> 系統(tǒng)層,即游戲最終運(yùn)行在什么平臺上。我們都知道,Unity 3D 可鏈接各種平臺,可發(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ù)據(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)框架的幾個重點(diǎn)插件的完成。</p><p> 在我場景設(shè)計過程中,整個設(shè)計的構(gòu)思框架都至關(guān)重要,不容小覷。我們構(gòu)</p><p> 思好了一個完善的游戲框架可以使整個設(shè)計都更加的高效。在 Unity 3D 中,每</p><p> 一個模型都可以改變他們的固有屬性,我們對于不用
62、的需求可以使其表現(xiàn)出不同</p><p> 的特征。例如使用 Javascript 或是 C#語言來編寫的交互腳本,放在不同的對象</p><p> 上就會有不同的效果。Prefab 的資源不會直接體現(xiàn)在我們的編輯界面中,但是我</p><p> 們可以在層級目錄下更改他的固有性質(zhì),那么再次顯示在場景中的時候就會有不</p><p>
63、 同的表現(xiàn)。另外,將大場景劃分為小場景也是一個提高研發(fā)速度的方式,這可以</p><p> 使我們的加載速度變快。</p><p><b> 11</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 2.4 建模工具分析與選擇</p><p&g
64、t; 在三維場景漫游建模是一個必要的過程。目前較為普遍的建模軟件有</p><p> 3DMAX,MAYA,CAD 以及 SKETCH Upll31 等。市面上的 3D 建模軟件非常的</p><p> 多,不同行業(yè)也會根據(jù)需要選擇不同的三維建模軟件,例如在機(jī)械制造行業(yè)用的</p><p> 比較多的是 solidworks ,在制作電影廣告動畫領(lǐng)域用得比較
65、多的是 maya、</p><p> softimage 等等[18]。我們基于以下幾個因素選擇 3Ds max 軟件來進(jìn)行 3D 建模:</p><p> ?。?)3D max 是一款中端設(shè)計軟件,其對于 pc 系統(tǒng)的配置要求低,對于多</p><p><b> 種平臺都很適用。</b></p><p> ?。?)
66、我們進(jìn)行工業(yè)仿真設(shè)計,3Dmax 在建筑設(shè)計、工業(yè)設(shè)計、工程可視化、</p><p> 游戲制作等領(lǐng)域都有廣泛的應(yīng)用,并且可以通過代碼來實現(xiàn)動畫,是我們進(jìn)行工</p><p> 業(yè)仿真系統(tǒng)建模的最佳選擇。</p><p> ?。?)3Dmax 性價比高、應(yīng)用廣泛,簡單易學(xué)、非常容易使用。另外由于使</p><p> 用者很多,我們也有豐
67、富的資源進(jìn)行學(xué)習(xí)和交流。</p><p> (4)強(qiáng)大的角色動畫制作能力。</p><p> 我們課程的題目就是基于 unity3D 設(shè)計的一種漫游系統(tǒng),利用游戲引擎來設(shè)</p><p> 計虛擬漫游是一個非常好的選擇。而 unity3D 在游戲設(shè)計方面應(yīng)用及其廣泛,是</p><p> 漫游設(shè)計的首選,因此我們選擇常用的游戲引擎 u
68、nity3D 來進(jìn)行虛擬漫游的設(shè)計</p><p> [19]。我們在后面會詳細(xì)的接受 unity3D 的優(yōu)點(diǎn)特征。</p><p> 如果還需要渲染,那還是 3DMAX 要好一些。如果模型很簡單,這是最好的</p><p> 絕佳選擇,使用 3DMAX 建模方便很多,材質(zhì)不會重疊,也不會出現(xiàn)漏面的現(xiàn)象。</p><p> 2.5 兩
69、大插件 NGUI 和 iTween</p><p> Unity 3D 軟件中 NGUI 插件是游戲中非常常見的一種插件,他可以為游戲開始提供導(dǎo)航,也可以在游戲過程隨時提供游戲重要信息,它是基于 C#語言編寫的, unity3D 提供了兩種 GUI 組件,一種是 GUI Text,一種是 GUI Texture.其中 NGUI 插件提供事件通知的框架和 UI 系統(tǒng)[20]。代碼的編也很簡單,這對開發(fā)者和研究者而
70、言,更加容易操控和學(xué)習(xí) unity3D 的相關(guān)內(nèi)容,也可以搭建簡單的界面。</p><p><b> 12</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 對于 NGUI 插件來說,作為研究開發(fā)者可以直接查看到它的結(jié)果,而不需要</p><p> 點(diǎn)擊其他按鈕
71、。而且 NGUI 插件的使用方式與 Unity 的使用方式是完全一樣的,</p><p><b> 當(dāng)它在工作的時候。</b></p><p> Unity 的另一款插件是 iTween 插件。iTween 插件和 NGUI 最大的不同是 iTween 插件非常簡便,只是需要把一些資源插入 unity 當(dāng)中即可。iTween 插件是一個動畫庫,在編輯行走路線的時候
72、我們會用到 ITweenpath,給漫游用戶設(shè)定行</p><p> 程等等[21]。各種產(chǎn)品里需要的動作設(shè)置,和顏色的有無變化等都可以通過 iTween</p><p> 組件來完成。iTween 插件的主要核心是數(shù)值的插值,即只需要確定開端和末尾,</p><p> 而中間過程可以自然而然的形成。</p><p> 2.6 Uni
73、ty 場景漫游技術(shù)</p><p> 我們要設(shè)計一個場景漫游,簡單來說分為兩步:第一步構(gòu)建模型,第二步設(shè)</p><p> 計場景。由于 unity 也是一個系統(tǒng)引擎,因此如果我們的所有對象都按照真實紋</p><p> 理放在上面勢必會使運(yùn)行減慢,造成很大的資源浪費(fèi)。因此我們在制作模型時,</p><p> 盡量使用紋理圖片代替復(fù)雜
74、的模型,盡量減少模型的大小和數(shù)量,使用復(fù)制的功</p><p> 能將大幅減少資源占用比例。</p><p> 在一般的情景下,在 Unity 里創(chuàng)建的場景占用空間較多,不可能完全的將其</p><p> 一次性全數(shù)呈現(xiàn)。因此我們需要挑選一些物體對其實施渲染的操作。我們將大的</p><p> 場景進(jìn)行分割,分割成若干小場景,每次運(yùn)行
75、時速度就會大幅提升[22]。要在垃</p><p> 圾處理場里漫游,不管是在我們生活中的垃圾處理場,還是我們模擬出的處理場</p><p> 場景,都需要有觀看者的存在。在 Unity 里面,我們可以把觀看使用者者作為照</p><p> 相機(jī),人眼為地面,來觀察模擬垃圾處理場的各個地方。</p><p><b> 2.7
76、 本章小結(jié)</b></p><p> 本章主要介紹了本次虛擬漫游研究中用到的一些三維軟件和游戲引擎 unity</p><p> 的介紹。讓論文讀者對于本次研究開發(fā)所用到的軟件有個清晰的了解,我們首先</p><p> 分析了本次交互研究用到的主要引擎 unity 的開發(fā)流程和簡單的界面介紹,其中</p><p> 也包括
77、了一些開發(fā)腳本的介紹,真對 unity 的特點(diǎn)我們分析了我們的策劃準(zhǔn)備,</p><p><b> 13</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 選擇所要用的的插件,選擇合適的建模軟件。最后我們簡單介紹了 unity 實現(xiàn)的</p><p> 虛擬漫游
78、技術(shù)。總體為了讓大家對本次開發(fā)運(yùn)行環(huán)境有一個整體的了解。</p><p><b> 14</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p><b> 虛擬現(xiàn)實系統(tǒng)設(shè)計</b></p><p> 對于 Unity3D 的使用步驟,主要是為下文的
79、研發(fā)給予幫助。Unity3D 總的工</p><p> 作流程分為三步:材料整合、垃圾處理場搭建、發(fā)布系統(tǒng),這個過程下來沒有問</p><p> 題,研發(fā)進(jìn)度就會有所提升。資源整合在 Unity3D 中解釋想對模糊,能包含 3D</p><p> 模版、組件、圖畫、邏輯、材料、聲音、著色器等等[23]。我們對資源的一些整理</p><p&g
80、t; 有很多方面,首先我們要有資源其次設(shè)置相關(guān)參數(shù)再將其運(yùn)用到相應(yīng)的場景中去,</p><p> 我們在運(yùn)用的過程中就回了解到使用他們的益處。</p><p> 垃圾場的場景構(gòu)建就是將我們所擁有的一些污水處理管道,垃圾處理廠房等</p><p> 等這些資源放入到場景編輯器中進(jìn)行改造,使其放在一起更加和諧更加逼真的體</p><p>
81、 現(xiàn)垃圾處理場的場景。場景構(gòu)建主要是兩部,第一步擁有場景內(nèi)的物體,第二步</p><p> 就是將物體編輯加工好。游戲用戶、各類插件、交互邏輯是場景元素,攝像機(jī)、</p><p> 燈光也是場景元素。編輯場景,通過改造之后形成一個個可以使用的對象,再將</p><p> 對象組織在一起進(jìn)行下一步的研發(fā)設(shè)計[24]。而我們最后一步發(fā)布,就使我們的</p&
82、gt;<p> 研發(fā)不僅僅可以在 unity 中運(yùn)行還可以在其他平臺使用。</p><p> 3.1 產(chǎn)品開發(fā)流程</p><p> 使用 unity 引擎,我們開發(fā)游戲和其他虛擬的場景的時候,是有一個通用的</p><p> 研發(fā)模式和步驟的。實際中游戲和虛擬現(xiàn)實產(chǎn)品有差異,但是很大程度上的步驟</p><p> 是
83、相似的。我們研發(fā)一個垃圾處理場,首先就要根據(jù)我們研發(fā)的需求進(jìn)行設(shè)計,包括界面設(shè)計等等,然后就進(jìn)入漫游交互部分的研發(fā)和編程階段[25]。在垃圾處理</p><p> 場搭建完成,并可以實現(xiàn)交互后,我們還要進(jìn)行相應(yīng)的體驗和修改,最后我們才</p><p> 能將其發(fā)布投入使用。其中整體的開發(fā)流程如下圖 3-1 所示。</p><p><b> 15<
84、;/b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 3-1 開發(fā)流程圖</p><p> 3.2 三維真實場景的建模</p><p> 簡單來說,我們在要建模的場景下現(xiàn)場采集圖片和視頻,然后利用圖片和視</p><p> 頻在電腦軟件上進(jìn)行三維建模
85、。</p><p> 對于建模使用的圖片,需要視角寬闊能夠反映場景中物體的比例和位置關(guān)系。</p><p> 另外對于一些復(fù)雜的建模部分,我們需要正視圖,擁有正面視圖可以用其來代替以簡化建模[26]。簡單的概括一下三種實用的建模方法:</p><p><b> ?。?)UVW 貼圖</b></p><p> uvw
86、 對應(yīng)著 xyz 軸,我們通過控制 uvw 的值來改變貼圖的位置和比例大小,</p><p> 以此達(dá)到一個三維逼真的效果。</p><p><b> ?。?)線工具</b></p><p> 通過線條可以繪制任何需要的形狀,不受限制;另外,線工具構(gòu)建的模型面</p><p> 數(shù)少,導(dǎo)入引擎后占用儲存空間小。&l
87、t;/p><p><b> (3)多邊形工具</b></p><p> 我們將構(gòu)建對象轉(zhuǎn)化為可編輯的多邊形,通過改變可編輯多邊形的點(diǎn)、線、</p><p> 面、元素、邊界對象模式來完成建模,功能性強(qiáng)。</p><p> 首先要到實地進(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 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 有時也要
89、為了突出貼圖的立體感而重新繪制的[27]。導(dǎo)入到 Unity3D 后,我們就</p><p> 需要對模型的位置和大小進(jìn)行調(diào)整,圖 3-2 是在 Unity3D 中實時煊染的效果圖。</p><p> 圖 3-2 三維場景中的模型圖</p><p> 對于我們構(gòu)建出來的垃圾處理場的場景,簡單來說,就是可以讓用戶切身的</p><p>
90、 體會到垃圾處理場的構(gòu)造,以及其組成,能夠像在真的垃圾場里面一樣隨意的走</p><p> 動視察和學(xué)習(xí)這其中的構(gòu)造。那么為了擁有這種較強(qiáng)的真實感,我們在建模過程</p><p> 中,不僅僅要搭建好模型,更主要的是還要將模型逼真化,同時我們要保證構(gòu)建</p><p> 模型的過程中按照標(biāo)準(zhǔn)規(guī)范來,使其占用的空間盡可能的小。模型優(yōu)化最基本的</p>
91、<p> 原則就是:盡量使模型簡單化,降低繁復(fù)的點(diǎn)線面的數(shù)量[28]。</p><p> 以下幾點(diǎn)是最基本的建模要求[29]:</p><p> ?。?)模型命名盡量英文采用名稱,避免重名,</p><p> (2)在 3DsMax 中建模時,以米作為最小的單位,以便于 Unity 里使用,</p><p> ?。?)建立
92、三維模型時采用多邊形工具進(jìn)行建模,</p><p> ?。?)在建模過程中,確定模型的正面視圖.</p><p> ?。?)盡量共用模型的材質(zhì)和貼圖組件,</p><p> ?。?)盡量減少硬邊數(shù)量,xy 的邊緣和頂點(diǎn)數(shù)量。</p><p><b> 17</b></p><p> 基于 un
93、ity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 3.3 系統(tǒng)交互設(shè)計方案</p><p> 在垃圾處理場的虛擬漫游中,使用者通過交互來進(jìn)行聯(lián)系虛擬和現(xiàn)實,而</p><p> unity 是開發(fā)人員的交互研發(fā)工具,虛擬現(xiàn)實的整個設(shè)計都在 unity 內(nèi)完成,在本</p><p> 次研發(fā)中,有漫游場景的交互,有垃圾處
94、理場設(shè)備界面介紹切換的交互,這通過</p><p> 點(diǎn)擊設(shè)備來實現(xiàn)相應(yīng)的交互功能[30]。在場景交互中,我們以第一人稱在垃圾處</p><p> 理場內(nèi)漫游,可以隨意的在垃圾處理場內(nèi)走動,并且可以切換天空的顏色,以此</p><p> 來感受垃圾處理場治理前后天空的變化,這也是一種交互。</p><p><b> 3.4
95、本章小結(jié)</b></p><p> 在第二章介紹了 unity 的開發(fā)準(zhǔn)備之后,本章我們介紹了基于 unity 開發(fā)準(zhǔn)</p><p> 備之后,我們?nèi)绾卧O(shè)計并形成一個虛擬漫游的場景。其中包括了我們開發(fā)流程的</p><p> 介紹和相應(yīng)的我們在建模過程中用到的主要建模技術(shù),特別值得注意的是,unity</p><p>
96、作為一個引擎,其運(yùn)行時也會占用大量的資源空間,我們提到了一些規(guī)范以避免</p><p> 浪費(fèi)資源。最后,我們在搭建好場景后,也討論確立了我們交互的人稱設(shè)置,這</p><p> 也是我們下一章介紹漫游功能實現(xiàn)要確立的最基本的問題。</p><p><b> 18</b></p><p> 基于 unity3D
97、的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 垃圾場漫游功能的實現(xiàn)</p><p> 4.1 漫游功能的實現(xiàn)</p><p> 虛擬漫游是我們本次垃圾處理場漫游系統(tǒng)的關(guān)鍵,交互功能是實現(xiàn)我們漫游</p><p> 的重點(diǎn)。我們通過編寫交互腳本來實現(xiàn)“上”,“下”“左”“右”“跳躍”“旋</p><p>
98、 轉(zhuǎn)”這些邏輯操作,并將他們封裝成角色控制組件,來實現(xiàn)第一人稱主角的漫游控制[31]。</p><p> 具體的步行漫游功能采用的方法如下:</p><p> 通過按鍵控制該對象的移動,將主攝相機(jī)綁定在一個膠囊狀對象上,其中主攝像機(jī)上還包含了水下效果代碼、環(huán)境音效代碼、鼠標(biāo)控制代碼、環(huán)境特效代碼、天空顯示代碼等,主攝像機(jī)的改變決定著視窗中所有聲音以及圖像的相應(yīng)改變。其中漫游功能的實現(xiàn)
99、是對它的位置或者說是視點(diǎn)控制,然后通過 CharacterController 的包來實現(xiàn),將 Character Controller 添加為 First Person Controller 的組件即可實現(xiàn)漫游功能。將鼠標(biāo)控制程序綁定在主攝像機(jī)來實現(xiàn)對</p><p> 視角控制,這樣就可以達(dá)到通過鼠標(biāo)移動來控制視角[32]。</p><p> 在垃圾處理場交互系統(tǒng)中,從而實現(xiàn)了通過
100、頭部運(yùn)動來掌控了三維場景的視</p><p> 角,鼠標(biāo)控制視角的程序流程圖如下:</p><p><b> 19</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 4-1 鼠標(biāo)控制程序流程圖 1</p><p> 4-1 所示的程序流
101、程圖主要表示了我們要使用鼠標(biāo)控制人物的旋轉(zhuǎn),第一步我們在啟動引擎之后,我們要將相應(yīng)的屬性設(shè)置到菜單欄,然后確定程序編寫過程中所用到的旋轉(zhuǎn)變量,并設(shè)置好以 xy 軸為旋轉(zhuǎn)軸的旋轉(zhuǎn)系數(shù)以及其最大最小的旋轉(zhuǎn)值,這些我們將其歸類為初始化設(shè)置。</p><p><b> 20</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p&g
102、t;<p> 4-2 鼠標(biāo)控制旋轉(zhuǎn)程序流程圖 2</p><p> 4-2 所示的程序流程圖中主要解釋了我們是否要使用 xy 軸同時控制旋轉(zhuǎn),如果是的我們?nèi)绾稳ネㄟ^編程設(shè)置如何通過鼠標(biāo)旋轉(zhuǎn)角度來計算最后的旋轉(zhuǎn)數(shù)值,然后將此數(shù)值賦于我們的旋轉(zhuǎn)變量最后計算出我們最后的旋轉(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 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 4-3
104、 鼠標(biāo)控制程序流程圖 3</p><p> 為了一個更好的虛擬漫游體驗,我們實現(xiàn)了一種不規(guī)定路線的漫游,用戶可</p><p> 以根據(jù)自己的需要來隨意選擇路線,具體的實現(xiàn)通過下面的控制器來實現(xiàn):</p><p> 飛行漫游功能是在 Heemite Spline Controller 的基礎(chǔ)上,由 Swing Submarine</p><
105、p> 公司的游戲程序設(shè)計師 Benoit Fouletier 設(shè)計。通過樣條控制器可以在 Unity 3D</p><p><b> 22</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 軟件下進(jìn)行相機(jī)的自動路徑漫游[34]。在編輯模式下,自動生成擬合平滑曲線,</p&g
106、t;<p> 運(yùn)行時可保存路徑數(shù)據(jù)代碼,然后脫離控制點(diǎn)固化程序運(yùn)行。</p><p> 為了更好的漫游體驗,我們還通過 unity 插件可以控制天空的顏色,我們通</p><p> 過按鍵 T 可以切換天空的顏色[35],讓用戶在漫游的同時,可以感受垃圾治理前</p><p> 后天空變化帶給大家的直觀感受,有關(guān)這一部分的程序流程圖如下:<
107、;/p><p> 4-4 切換天空顏色程序流程圖 1</p><p> 4-4 顯示的是我們在開始輸入按鍵部分的程序流程,我們使用到的 a 變量在后續(xù)的程序編寫中還會用到。</p><p><b> 23</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><
108、;p> 4-5 切換天空顏色程序流程圖 2</p><p> 4-5 顯示的是我們在增加按鍵 T 的次數(shù)的時候所改變的數(shù)組的值,而數(shù)組的值會通過我們編寫的程序隱藏天空顏色 1 顯示天空顏色 2[36],因此達(dá)到了切換天空顏色讓用戶直觀感受污染治理前后天空的變化。</p><p> 下面我們展示出污染治理前與治理后天空顏色變化的圖片:</p><p>
109、圖 4-6 污染治理前天空灰暗</p><p><b> 24</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 4-7 污染治理后天空很藍(lán)</p><p> 4.2 虛擬場景的建立</p><p> 我們將垃圾處理場中所有的素材和
110、模型導(dǎo)入 unity 中,用戶在 game 界面通</p><p> 過調(diào)整角度來看整個場景,我們要加入一個使用者的角色來模擬我們在真實場景</p><p> 中走動一樣在虛擬搭建的場景中漫游[37]。我們此次主要做的是第一人稱漫游的</p><p> 效果,那么我們是無法看到自己本身的身體,所以我們不能放入一個人物進(jìn)去,</p><p&g
111、t; 我們采用攝像機(jī)來替代我們的眼睛。等于說攝像機(jī)就是我們自己本身,我們需要</p><p> 給攝像機(jī)來編輯交互腳本,我們可以選擇 unity 自帶的第一人稱角色控制器,在</p><p> 他自己本身自帶的資源包內(nèi)可以導(dǎo)入。</p><p> 具體步驟可以解釋為:我們在 project 資源面板中找到第一人稱控制器,將</p><p&
112、gt; 其放置進(jìn)入場景外的邊緣。放入之后我們再根據(jù)需要調(diào)整他的相關(guān)參數(shù),這個時</p><p> 候 hieracry 面板內(nèi)就會出現(xiàn)角色控制器,這時我們就可以來定義這個第一人稱控</p><p> 制器的物體,比地平線要高,這樣我們在運(yùn)行的時候,物體才能保證呈現(xiàn)正常的</p><p><b> 狀態(tài)[38]。</b></p>
113、;<p><b> 25</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 4-8 第一人稱視角 1</p><p> 圖 4-9 第一人稱視角 2</p><p> 我們的人物運(yùn)動主要通過鍵盤上的四個按鍵來控制,由于是第一人稱的控制<
114、/p><p> 視角,我們運(yùn)行時看到的就是我們走路時要走的方向,通過 W 往前方移動,通</p><p> 過 A 往左面移動,通過 S 往后方移動,通過 D 往右面移動。另外由于 unity 是個</p><p> 游戲引擎,其中使用的時間按照幀而不是秒來計算,因此人物移動的速度也按照</p><p><b> 幀來計算[39
115、]。</b></p><p> 下面是控制第一人稱移動的代碼流程圖如下:</p><p><b> 26</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 4-10 人物控制運(yùn)動的程序流程圖</p><p> 在我們的垃
116、圾處理場漫游中沒有用到第三人稱視角,但是我們在這里也簡單</p><p> 介紹一下。就是將一個人物放入場景中,我們編寫這個人物的相關(guān)腳本,然后運(yùn)</p><p> 用,整個過程原理與第一人稱是通的,因為第三人稱角色控制器也是 unity 自帶</p><p><b> 資源。</b></p><p><b&
117、gt; 27</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 另外,我們在場景中設(shè)置了很多設(shè)備的介紹,我們通過向鼠標(biāo)點(diǎn)按的設(shè)備發(fā)</p><p> 射射線來顯示我們設(shè)置的設(shè)備解釋,通過鼠標(biāo)右鍵可以消除這些解釋。</p><p> 這些 UI 也需要我們通過編寫交互腳本
118、來實現(xiàn)它們的隱藏和出現(xiàn),其中用到</p><p> 的一個 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ù)組對應(yīng)著不同的設(shè)備的解析,我們對不同的設(shè)備點(diǎn)按會發(fā)出不一樣</p><p> 的射線,變量會有不同的值,就會有不同的解析出現(xiàn)。</p><p> 下面是隱藏這些解析的程序流程圖:</p><p><
120、b> 28</b></p><p> 基于 unity3D 的垃圾處理場虛擬漫游與人機(jī)交互研究</p><p> 圖 4-12 隱藏設(shè)備解析的程序流程圖</p><p> 下面我們展示一下這些解析的效果:</p><p> 圖 4-13 焚燒爐解析</p><p><b> 29
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 支持Unity3D的多Kinect人機(jī)交互技術(shù)與軟件.pdf
- 基于unity3d的虛擬商場漫游系統(tǒng)的設(shè)計與實現(xiàn)
- 基于Unity3D的虛擬校園漫游系統(tǒng)的研究和實現(xiàn).pdf
- 基于Unity3D的虛擬商場漫游系統(tǒng)的設(shè)計與實現(xiàn).docx
- 湛江生活垃圾處理場
- 基于ArcEngine和Unity3D的虛擬校園漫游系統(tǒng)的研究與實現(xiàn).pdf
- 基于Unity3D引擎的虛擬室內(nèi)漫游的研究設(shè)計與應(yīng)用實現(xiàn).pdf
- 關(guān)于城市垃圾處理場建設(shè)的研究
- 生活垃圾處理場監(jiān)理方案
- 基于unity3d引擎的 荒漠坦克世界的實現(xiàn)——畢業(yè)論文
- 基于Unity3D的虛擬實驗系統(tǒng)設(shè)計.pdf
- 基于unity3d的角色扮演類游戲設(shè)計-畢業(yè)論文
- 基于自然人機(jī)交互技術(shù)的虛擬漫游系統(tǒng)設(shè)計.pdf
- 基于unity3d的南水北調(diào)三維場景漫游系統(tǒng)(1)
- 垃圾處理場施工組織設(shè)計
- 基于unity3d的汽車駕駛游戲的設(shè)計與實現(xiàn)(畢業(yè)論文)
- 湛江生活垃圾處理場室設(shè)備項目
- 湖南某垃圾處理場施工方案
- 基于Unity3D的跨平臺虛擬駕駛視景仿真研究.pdf
- 基于Unity3d的磨礦車間虛擬仿真系統(tǒng).pdf
評論
0/150
提交評論