【基于unity3d虛擬校園漫游系統(tǒng)設計17000字(論文)】_第1頁
【基于unity3d虛擬校園漫游系統(tǒng)設計17000字(論文)】_第2頁
【基于unity3d虛擬校園漫游系統(tǒng)設計17000字(論文)】_第3頁
【基于unity3d虛擬校園漫游系統(tǒng)設計17000字(論文)】_第4頁
【基于unity3d虛擬校園漫游系統(tǒng)設計17000字(論文)】_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE12基于unity3d虛擬校園漫游系統(tǒng)設計目錄TOC\o"1-3"\h\u4975第一章緒論 419531.1研究背景 4273161.2研究意義 513613第二章相關技術介紹 5255742.1三維模型制作軟件3dsmax 516622.2三維游戲編輯軟件Unity3D 6181422.3C#腳本 7122752.4技術總結 819973第三章虛擬校園漫游系統(tǒng)總體設計 982053.1系統(tǒng)的需求分析與設計目標 9155283.1.1需求分析 9103513.1.2設計目標 9295073.2系統(tǒng)設計流程 10121573.3系統(tǒng)的總體結構及規(guī)劃 1138643.4系統(tǒng)實現(xiàn)的軟硬件環(huán)境 11133424.1信息的收集與處理 12142024.2校園中單個實體的場景設計 1237004.2.1地形及地面的設計 13199024.2.2學校大門的設計 14554.2.3天空的設計 1523514.2.4建筑物的設計 16130813.籃球場 19187844.2.4樹木的設計 19272524.3虛擬校園的整體拼合 2010063第五章虛擬校園場景的實現(xiàn) 2133705.1基于unity3D的第一視角漫游校園 21176385.2基于Kinect體感交互漫游校園 28215265.3系統(tǒng)的發(fā)布 3023315.4系統(tǒng)的測試與優(yōu)化 302913總結 34第一章緒論1.1研究背景隨著信息科技與現(xiàn)代計算機的飛速發(fā)展,虛擬增強現(xiàn)實攝影技術已經是20世紀一項必不可缺的全新一代實用技術。虛擬人和現(xiàn)實的基本視覺實現(xiàn)技術方法也就是通過利用計算機技術模擬的各種虛擬人和現(xiàn)實視覺環(huán)境應用來實現(xiàn)給虛擬人世界帶來沉浸式的一門視覺技術。簡單來說,就是把每個人們完全帶到了一個計算機虛擬世界中,把手機虛擬和增強現(xiàn)實完美結合在一起來,讓每個人們完全沉浸在其中。虛擬三維現(xiàn)實世界是通過產生一個虛擬三維空間的一種虛擬現(xiàn)實世界,利用虛擬電腦技術模擬了現(xiàn)實的三維世界。使用手機虛擬連接現(xiàn)實的同時人們都可以直接感受到人的視覺,聽覺和手的觸覺。讓更多人真的能夠身臨其境,可以觀察虛擬現(xiàn)實世界的事物。隨著近些年各大高校的技術發(fā)展,教育環(huán)境和教學質量得到不斷地提升,同時,高校間的競爭也在宣傳力度和宣傳方式上有所體現(xiàn)。而在20世紀科技的時代,計算機知識的專業(yè)普及,人們對計算機虛擬服務的要求也越來越高。而這種虛擬現(xiàn)實校園信息系統(tǒng)技術正是這種虛擬增強現(xiàn)實的重要應用,它可以幫助各大高校體現(xiàn)校園的魅力。虛擬教學校園管理系統(tǒng)成功實現(xiàn)了對虛擬教學校園環(huán)境和虛擬校園整體景觀的自動虛擬化和自動數字化,可以有效幫助那些想要深入了解高校的學生人們身臨其境,對加強學校的文化宣傳、環(huán)境管理規(guī)劃、教學資源利用管理和促進學校經濟發(fā)展等都起到了非常重要的促進作用。通過虛擬校園系統(tǒng),可以進入學校官網了解學校全貌,方便省事。還可以通過電腦進行學校的近距離觀察,讓學生,家長,老師實時地了解校園的教學和生活狀態(tài)。總的來說,對高校的宣傳等各方面起到了非常大的作用。1.2研究意義虛擬現(xiàn)實校園信息系統(tǒng)主要是對學校教學活動環(huán)境和學生校園的一種移動數字化技術體現(xiàn),使那些想要隨時了解整個學校的學生人們不僅能夠在移動手機或者電腦等移動電子設備上隨時了解整個學校校園全貌,身臨其境地自由漫游于整個虛擬現(xiàn)實校園當中,在加強學校的教育宣傳、環(huán)境管理規(guī)劃、教學資源綜合管理和引導學校未來發(fā)展等許多功能方面也都發(fā)揮了非常重要的引導作用。通過網絡虛擬進入校園管理系統(tǒng),想要了解學校的人們可以進入高校官網,用虛擬校園系統(tǒng)瀏覽學校全貌,置身于校園之中,用電子設備實時了解校園的教學和生活狀態(tài),即方便又快捷。通過三維虛擬現(xiàn)實校園信息系統(tǒng),新生在學校入學前就已經可以直接了解我們學校的全面整體布局,熟悉各學校職能部門及各學校建筑物的具體位置空間分布,能夠更快的直接融入感受到虛擬校園生活;通過三維大學虛擬現(xiàn)實校園,高考即將結束的在校學生及其在校家長們都可以通過這個網絡,對我們學校情況進行更全面的直接了解,這對于我們學校的體育宣傳工作起了很大的促進作用,同時也有效樹立了我們學校的良好形象,這也就是為廣大普通用戶量身搭建了一個直接了解虛擬校園的一個實際應用平臺;通過三維大學虛擬現(xiàn)實校園,不僅僅是可以大大提高我們學校體育教學、科研、后勤保障等教學管理工作的綜合效率,還同時可將其信息發(fā)布到您的網絡上、手機上,向國內外廣大人民群眾展示一下學校基本概況、校園美麗風光、科研成果、機構本部設置、院系和學生專業(yè)本部設置、歷史沿革、教學設施與科研成果、國內外國際合作項目交流等;三維大學虛擬現(xiàn)實校園系統(tǒng)有著廣泛的實際應用發(fā)展前景和廣泛推廣應用價值。由此可見,虛擬現(xiàn)實技術在教育行業(yè)更具有突出的推廣作用。第二章相關技術介紹2.1三維模型制作軟件3dsmax3dstudiomax應用軟件,常見的簡稱為3dmax或3dsmax,是由于在discreet公司開發(fā)后被doautodesk公司收購合并的基于整個dosax操作系統(tǒng)的3dstudio的一系列應用軟件。該軟件在高層建筑結構建模設計方面同樣具有強大的設計功能,因此它也是目前國內使用最為廣泛的3d構筑建模設計軟件。3dsmax電腦有著非常好的性價比、功能強大、價格低等諸多優(yōu)點,對電腦硬件的配置要求并不高,一般十幾個人一臺電腦就已經可以輕松運行這些基本操作。3dsmax的建模過程較簡單也非常有趣,對于新手來說很容易。沒有繁雜的教學命令,可以輕松讓廣大初學者快速地尋找到自己學習的一種樂趣,很好地有效培養(yǎng)了廣大初學者的學習自信心;隨著社交網絡的快速發(fā)展,許多年輕人們已經開始在社交網絡上進行學習,所以3dmaxn該軟件的免費網絡教程也數不勝數,要想學習簡單的操作,那是很容易的。如:51硅谷動力、51自學互聯(lián)網、21世紀移動互聯(lián)網及51火星機器人等一系列的企業(yè)案例分析教程,同時,3dsmax軟件相關的企業(yè)網絡學習論壇也給網絡學習者和其他使用者之間帶來了極大的便利,提供了相互交流或者溝通的一個橋梁;最主要的優(yōu)點是3dsmax轉換軟件本身兼容性強,可以順利轉換成其他的格式文件,與其他軟件可以進行相互配合轉換使用;像在此論文中,采用了3dmax導出fbx文件,在導入到unity當中,非常便捷。利用3dsmax軟件做出來的模型或是動畫等效果非常逼真,這也是我想采用這類軟件的原因。2.2三維游戲編輯軟件Unity3D虛擬校園漫游系統(tǒng)的軟件開發(fā)技術是目前虛擬漫游校園系統(tǒng)的開發(fā)核心,選擇合適的開發(fā)平臺是至關重要的。經過對基于converse3d和基于unity3d的數據分析進行比較,最終可以確定這是使用基于unity3d三維虛擬游戲處理引擎設計開發(fā)出的虛擬現(xiàn)實校園漫游系統(tǒng)。unity3d游戲是由騰訊Unitytechnologies公司自主開發(fā)的一個可以讓玩家用戶能輕松快速創(chuàng)建播放諸如三維網絡視頻全景漫游、建筑全景可視化、實時全景三維動畫等多種類型網絡互動游戲內容的多媒體平臺的專業(yè)綜合型網絡游戲軟件開發(fā)工具,具有直觀的網絡游戲文件編輯操作環(huán)境,是一款全面功能整合的大型專業(yè)網絡游戲開發(fā)引擎。unity3did是一款利用交互的在線圖形化圖像開發(fā)軟件環(huán)境來作為首要運行方式的開發(fā)軟件,其圖像編輯器可以運行在舊的windows下,可同時發(fā)布在線漫游圖像效果至新的windows、mac、iphone和phandroid等開發(fā)平臺。unity3d也許你可以直接使用插件unitywebplayer這個插件可用來快速發(fā)布你在網頁上的漫游瀏覽效果,支持mac和windows的兩種網頁漫游瀏覽。采用了java的javascripts、c#和java的java等不同語言版本編寫過的一個腳本語言。由于目前漫游unity3d主要作為一款新的移動游戲軟件效果引擎,已經為很多漫游用戶在目前現(xiàn)有的軟硬件設計架構以及軟件基礎之上自行設計搭建了一層基于移動游戲效果組合的軟件架構,所以在需要進行設計制作3d各種類型漫游移動游戲軟件效果時,只要您僅僅需要在目前現(xiàn)有各種unity3d移動游戲軟件的整體設計框架基礎之上,根據自己將要求來進行設計制作的各種類型漫游移動游戲軟件效果中的功能軟件類型,再自行設計搭建一層一個完全可以合理的充分發(fā)揮容納各種移動漫游游戲效果軟件功能的游戲組合軟件框架下的架構軟件即可。在實際網站使用這些含有unity3d相關搜索引擎軟件的操作過程中,用戶網站可能還會需要詳細介紹理解網站使用這些unity3d所可能需要網站提供的一些搜索軟件庫并內置關于搜索軟件關鍵詞的基本概念。譬如說,在unity3d等設計軟件中,所有的運動漫游圖中物體都應該可以看作是一個對象gameobject,即它可以是用于漫游中的物體運動效果的一個實現(xiàn)過程對象。unity3d我們可以通過使用不同的同樣漫游游戲組件識別方式使用來分別同時區(qū)分不同的兩個同樣漫游組件行為游戲對象,只要你僅僅需要給不同的兩個同樣漫游組件行為游戲對象分別同時賦予不同的兩個漫游游戲組件,就已經完全可以同時做到讓已經同樣漫游過的游戲對象同樣能夠同時具備不同的兩個漫游游戲特性,從而也就可以做到讓已經同時漫游過的游戲對象同樣能夠同時擁有一個完全屬于自己的不同漫游游戲行為。換言之,漫游組件對象只是它相當于一個漫游容器,用于同時存儲所有的漫游組件,這些組件可以讓漫游對象相互區(qū)分。例如,當我們創(chuàng)建一個漫游腳本,然后把這個漫游腳本對象賦予一個新的漫游腳本對象,那么這個漫游腳本就可以成為這個新的漫游腳本對象的一個動態(tài)組件,腳本中的你可以實時體現(xiàn)很多出不同的腳本屬性,同時在整個運行腳本過程當中你也可以看到動態(tài)實時地將這個漫游腳本對象的使用行為和漫游狀態(tài)數據進行實時改變。2.3C#腳本C#語言是微軟公司2005年發(fā)布的一種由現(xiàn)代c和新的c++衍生發(fā)展出來的面向對象的高級編程應用語言、運行于.netframework和.NETCore(完全支持開源,跨平臺)之上的高級應用程序系統(tǒng)設計應用語言。并且確定于在微軟中國職業(yè)游戲開發(fā)者高峰論壇上首次登臺公開亮相。c#算法是微軟公司高級研究員AndersHejlsberg的最新研究成果。c#語言看起來與它的java語言有著驚人的相似;它似乎包括了一些諸如單一代碼繼承、接口、與它的java幾乎同樣的腳本語法和將它編譯成一個中間代碼之后再運行的整個過程。但是它的c#與dejavas也有著明顯的不同,它只是借鑒了一個重要特點,與它的com(網絡組件庫和對象管理模型)通常是直接相互集成的,而且它通常是微軟公司.netwindows也是網絡管理框架的一個主角。c#語言是由英語c和新的c++衍生發(fā)展出來的一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的面向對象編程設計語言。它在完全繼承所有c和c或c++強大結構功能的基礎同時它也去掉了一些它們的復雜性和特性(其中例如沒有多重宏以及不一定允許宏對多重宏的繼承)。c#綜合了.nvb簡單的編程軟件開發(fā)可視性優(yōu)化編程代碼可以操作和提高使用c++的各種高性能軟件運行量和工作效率,以其強大的操作能力、優(yōu)雅的軟件編程方言語法學和設計工作風格、創(chuàng)新的軟件編程應用語言組件應用模式特性和便捷的編程軟件開發(fā)面向用戶化的組件開發(fā)模式及對編程的專業(yè)技術支持早已發(fā)展成為.net用于軟件開發(fā)的企業(yè)用戶入門首選軟件編程應用語言。c#編程語言匯編是面向對象的一種新型編程設計應用語言。它不僅可以用于使得一個專業(yè)應用程序員完全并且可以快速地獨立開發(fā)編寫各種基于a和java和j的應用開發(fā)工作平臺的無線電子計算應用程序,開發(fā)平臺上還提供了一系列的應用開發(fā)工具和應用軟件可以服務于該應用程序來達到最大化的不同程度地可以幫助企業(yè)開發(fā)和和管理利用基于電子計算與其他無線通訊相關技術的新領域。c#編程語言發(fā)展使得許多c和c或c++程序員不僅因為可以高效的自行設計開發(fā)一個應用程序,且因為他們能可靠的自行調用由c/c++編寫的本地化和單機原生程序編程調用函數,而絕不會也不會嚴重損失其他各種c/c++語言本身原有的強大的程序開發(fā)支持功能。因為這種編程語言結構繼承性的存在關系,c#與其他許多c/c++語言一樣具有極大的編程語言結構相似性,熟悉這種類似其他編程語言的應用程序員和開發(fā)者往往認為可以很快的將其重點轉向如何使用新的c#。2.4技術總結此章節(jié)介紹了創(chuàng)建虛擬校園系統(tǒng)中用到的相關技術,分別是3dmax軟件技術,unity3d技術和c#腳本技術。本系統(tǒng)通過3dmax進行簡單建模,獲取3dmax的fbx格式模型。虛擬校園系統(tǒng)總體是模型的拼接和漫游,運用了unity3d技術的三維視角漫游,建筑可視化,既方便全景查看又能全景觀的漫游。Unity3d的可以發(fā)布多種平臺,可以更有利更方便的虛擬校園漫游。漫游體現(xiàn)的是視覺的生動化,本系統(tǒng)運用了unity的腳本編寫,用c#技術寫出第一人稱控制的腳本,讓想了解學校的同學老師家長在各個平臺,隨時隨地的觀看校園內部特色。

第三章虛擬校園漫游系統(tǒng)總體設計3.1系統(tǒng)的需求分析與設計目標3.1.1需求分析虛擬現(xiàn)實校園數學漫游虛擬系統(tǒng):它是一個基于現(xiàn)實大學校園的虛擬環(huán)境,它本身是一個用3d自動建模與組合unity3d自動組建數學模型以及完善的數學虛擬環(huán)境空間,用戶通過直接創(chuàng)建第一視角虛擬模型再直接添加第一視角模型腳本來對其進行虛擬漫游,從任意一個角度對虛擬環(huán)境空間中的每個虛擬數學對象模型進行自動觀察,從而使人產生身臨其境的奇妙感覺,漫游其中。本系統(tǒng)旨在開發(fā)江西理工大學的虛擬校園模型及漫游,第一步從3dMax中提取模型、第二步用unity3d軟件拼裝校園、第三步實現(xiàn)虛擬校園漫游。首先根據整個校園環(huán)境需要選取幾個典型校園場景一并進行三維建模,然后將其轉入unity3d中,寫一個漫游速度腳本即可以完成對三維校園場景進行漫游速度控制的腳本設計。最后為虛擬系統(tǒng)本身增加各種交互體驗功能,進一步提高了對虛擬實境系統(tǒng)的真實性和感覺。具體軟件實現(xiàn)操作過程介紹如下:前期進行需求分析,觀察校園環(huán)境,確定要建模多少個建筑物,在測量距離確定校園大小的規(guī)模,模擬出建筑物大概位置與大概高度,收集照片信息,在3dmax里找出盡量相對應的模型進行拼接。用3dmax軟件導出Fbx格式。基于實景建立場景模型,用Unity軟件進行細節(jié)完善,具有特點的建筑了解之后用該軟件盡量實現(xiàn)真實感效果。用c#腳本實現(xiàn)第一人稱漫游校園,近距離觀察校園。3.1.2設計目標虛擬校園漫游系統(tǒng)是一個模擬真實校園的系統(tǒng),應該給人們體現(xiàn)出表現(xiàn)出虛擬環(huán)境中的地面分布的花草樹木、學校操場、食堂,教學樓等對象的三維模型,實現(xiàn)外觀,天空,景色,全景的逼真效果。使參考者能在搭建unity3d的虛擬校園的中漫游,了解學校本身環(huán)境,適應提前進入學校的生活。系統(tǒng)應實現(xiàn)如下目標:1.虛擬校園漫游軟件系統(tǒng)的用戶界面設計應該盡可能的保持簡單化,能讓即使不同年齡層次的網絡用戶都完全可以對系統(tǒng)軟件進行日常操作。2.構建天空效果,達到第一人稱能感覺到天空變換的效果,不管從近到遠都能觀察天空。3.虛擬校園漫游系統(tǒng)應按現(xiàn)實校園的實景環(huán)境建立虛擬校園的各個實際景觀,充分體現(xiàn)和完美突出我們虛擬現(xiàn)實生活環(huán)境中的各種虛擬大學校園內部各種自然環(huán)境景觀。4.為了讓參觀者在虛擬校園世界里觀察的對象更有真實效果,系統(tǒng)應該能夠表達物體表面的紋理細節(jié),即要進行詳細的紋理影射,并且后續(xù)完善個個物體的特點,為這些物體增加不可或缺的細節(jié),讓參觀者更能記住,更能感覺到校園的氛圍。5.為了使虛擬物體具有立體感,虛擬物體應具有逼真的材質、明暗效應,這里可以用3dmax進行真實的建模,讓用戶能夠體驗到校園的真實性。6.系統(tǒng)本身應該完全具備良好的信息漫游瀏覽功能,使手機用戶完全可以從任意一個角度和任何方向隨時對整個校園的人文景觀信息進行漫游瀏覽。用c#腳本編寫第一人稱,給予人物的走路速度,跑步速度,跳躍速度。并讓主攝像頭跟蹤人物,控制鼠標進行轉向。7.系統(tǒng)應提供各個事物的碰撞檢測,不會讓人物進行穿透。8.虛擬校園的建造需要不斷更新數據,移動建筑,讓校園更完善為了能夠使整個虛擬現(xiàn)實校園系統(tǒng)能夠充分適應不斷發(fā)展變化的教學要求,系統(tǒng)中的應用還具備自動刪除、添加虛擬建筑物的多種功能。9.系統(tǒng)應具有較好的可移植性和可擴展性。10.一些復雜的建筑可能要需要大量時間進行構造,并且需要它的完整性,這里可以用類似3d模型進行拼接,讓整體效果看起來更完善。3.2系統(tǒng)設計流程虛擬現(xiàn)實校園漫游系統(tǒng)的整體設計理念應該是力求真實,所以對虛擬校園的進行實地考察體驗是很非常有必要的。通過校園實地考察,分析有關校園所有建筑的主體構造,收集有關校園所有建筑的結構圖片等等信息,確定校園建筑物的比例,做出建筑草圖等以方便建筑模型的設計構建。處理從中收集獲取到的網絡信息,做出網絡整體規(guī)劃,構建三維立體模型,整合各個應用場景與模型,最終設計形成完整的虛擬現(xiàn)實校園漫游服務系統(tǒng)。具體的軟件實現(xiàn)工作流程主框圖顯示如下圖所示。 開始開始收集數據及圖片等信息整理信息,做出草圖構建部分場景與模型虛擬校園場景整體拼合完成虛擬校園漫游系統(tǒng)的建立結束 總體設計的流程圖3.3系統(tǒng)的總體結構及規(guī)劃將前期計劃收集的場景數據進行整理之后,對整個商業(yè)場景里的數據模型按照一定的數據邏輯結構規(guī)則再來進行綜合組織,采用層次結構的數據形式再來進行數據模型的綜合組織,有利于場景模型的數據構建、場景的模型合并以及后期場景結構優(yōu)化等等的維護和運營管理。層次結構就是按照一個特殊物體的不同性質類別怎么可以對它進行一種層次上的劃分,同一物體類別的一個物體可以分別作為一個不同物體中的集合,而在每一個不同物體中的集合里又可以再分別進行層次細分,本系統(tǒng)江西理工大學校園整個學校教學活動場景以一個藍色的大天空下的盒子建筑作為主要教學背景,可以由各種物體建筑物、道路、草地、樹木等各種物體集合組成,而這些物體建筑物又可以細分為各個系的教學樓、宿舍、圖書館等,如本框中的下圖所示。這樣我們才能為你組織一個好的數據庫,結構清楚、層次明確。校園場景校園場景建筑物地面天空其余綠化操場教學樓圖書館宿舍樓……校門……道路樹木圖10系統(tǒng)的總體結構圖3.4系統(tǒng)實現(xiàn)的軟硬件環(huán)境開發(fā)本系統(tǒng)的硬件環(huán)境為:處理器:AMDRyzen54500UwithRadeonGraphics內存:16GB雙通道顯卡:CPU集成顯卡開發(fā)本系統(tǒng)的軟件環(huán)境為:操作系統(tǒng):Windows10家庭中文版,64-bit開發(fā)工具:UNITY3D-Edit,Notepad++運行軟件:3dmaxunity3d第四章虛擬校園場景設計4.1信息的收集與處理本文分析使用的原始立體數據主要包括有學校辦公樓、教學樓、圖書館、宿舍樓、操場、亭子等各類建筑的立體平面圖和在學校獲取的立體照片等基礎信息。為了有效加強虛擬空間校園真實的準確數據性和有效進行虛擬空間的正確管理分析,以下幾點是該虛擬真實校園漫游系統(tǒng)用的數據分析:通過網上百度電子地圖(簡稱百度電子地圖)可以測量虛擬學校內主要對象和與實體的地理距離,然后最終確定主要對象實體在整個虛擬現(xiàn)實校園環(huán)境中的地理位置。先把這個主體比如校園正門大小等的數據進行測量整理出來,再通過地圖拼接完成其他的,再根據對于各教學對象這個實體的在整個虛擬大學校園環(huán)境中的所在位置,先給它確定一個新的原點,如虛擬學校的校園正門,然后通過百度電子地圖(也比如有的百度二維地圖)上的原點測距定位功能,測量出各對象中的實體進入到這個原點的一定距離。 2.對于部分大型建筑物的樓層高度,從總體的平面圖和數據收集后得到的測量數據中不能看出獲取的實際情況,自行計算測量可得出其中一層的建筑高度,然后根據每個樓層高度數據的計算可得出總的高度。此外你還可以直接利用一些虛擬化的測量軟件(例如google和谷歌虛擬地球)等來進行各種輔助性的測量。3.對于這些紋理上的數據主要還是采用自己相機拍攝的處理方式。由于照片受風景拍攝時的氣候天氣及拍攝周圍環(huán)境的因素影響,拍出的風景照片通常不能直接配合使用,需要在照片亮度、色調上都要做出相應調校。另一方面,拍照者在取景時,可能常常會遇到受照片拍攝角度上的限制、行人或路邊樹木照片摻雜等多種因素的直接影響,照片常常拍攝需要及時進行圖像修復、剪裁等后期曝光處理。4.2校園中單個實體的場景設計整體效果圖4.2.1地形及地面的設計地形模型在虛擬環(huán)境中應用分量很大,它對虛擬漫游的狀態(tài)真實性和虛擬系統(tǒng)正常運行的狀態(tài)實時性都具有重要作用影響。地形立體對象校園模型理論是設計虛擬地物校園教學模型系統(tǒng)的理論基礎,是設計布置虛擬地物地形對象校園模型的重要依據。地形動態(tài)對象三維動態(tài)模型的基礎建立建設是企業(yè)開發(fā)大型虛擬現(xiàn)實校園必不可少的一個重要關鍵環(huán)節(jié),對其它大型虛擬校園系統(tǒng)同樣如此。對于一個平面上的地形,可以通過使用unity3d的plane節(jié)點,調節(jié)一個地形高度長寬高低的數據,并對其進行地形貼圖。對于不同地形紋理的大學地形如例如校園綠地等可創(chuàng)建3dobject等先創(chuàng)建一個地形,再對其進行地形貼圖,可將其疊加在整個大學校園內的地面上。像一些小的丘陵、山脈等都是起伏不平的自然地形,也可以創(chuàng)建地形。但我們大學基本都是平地,所以在此不需用地形突起。在這里,為了讓地面看起來更生動形象,我選擇了用到3dmax模型里面的仿真路面進行拼接。下圖是江西理工大學地面設計層次圖地面地面草坪道路地面設計層次結構 地面設計運行效果圖4.2.2學校大門的設計根據學校大門實景圖,發(fā)現(xiàn)學校大門是對稱的,那么我們就可以拼湊一半,剩下一般直接復制粘貼過來,左半邊是一個個長方形和類似長方形的曲面,我們可以在模型庫里找到曲面模型和柵欄模型導入,再根據cube或者3d建模實現(xiàn)拼裝(3d建模更為真實)。最后進行貼圖,讓大門效果更真實,下圖為簡易大門模型。學校大門實景圖 學校大門效果圖 4.2.3天空的設計為了大大增加三維校園虛擬場景校園真實場景內部背景的視覺真實感,可以在三維校園虛擬場景內部增加具有藍天白云夢幻效果的虛擬天空。根據不同用戶所實際需要的真實使用程度,可以考慮采用以下多種設計方法組合來進行實現(xiàn):導入Unity3D天空盒通過UNITY3D的Window窗口AssetStore里的資源包進行Unity3D天空盒的導入,點擊商店通過Unity官方資源,找到天空盒資源包,在Unity里打開,導入資源包,再通過拖拽的方式進行天空盒的創(chuàng)建。制作天空效果可以通過我們運用一個矩形化的天空盒這種制作方法能幫你制作一個矩形化的天空,所謂矩形化的天空盒就是用一個個矩形的長條用方盒子包起來把它作為一種展示矩形天空的一種視覺遠景或者天空貼圖的一種視覺載體。首先用戶需要直接生成一個盒子體積必須足夠大的立體矩形模型立方體,通過在這個矩形立方體中的矩形模型盒子的5個不同面上分別直接貼上五個可以直接表現(xiàn)不同高空天氣現(xiàn)象模擬圖像效果的。不同的立體矩形盒子天空天氣圖像及其紋理可以直接達到逼真的高空天氣模擬矩形天氣圖像效果。Background節(jié)點中,有兩個域值控制天空的顏色,分別是skyColor和skyAngle。skyColor域指定立體空間背景天空的顏色,該域值由一系列紅、綠、藍顏色組合而成。skyAngle域指定空間背景上需要著色的位置的天空角。UNITY3D瀏覽器就是在這些空間角所指位置進行著色的。第一個天空顏色著色于天空背景的正上方,第二個天空顏色著色于第一個天空角所指定的位置,第三個天空顏色著色于第二個天空角所指定的位置,以此類推。這樣使天空角之間的顏色慢慢過渡,這就形成了顏色梯度,使得天空看起來更為真實。4.2.4建筑物的設計1.建筑物幾何模型的建立建筑物是三維虛擬中和現(xiàn)實世界中的主要建筑景觀,在眾多虛擬現(xiàn)實校園建筑系統(tǒng)中,三維虛擬建筑物的景觀表示和立體建模設計是最為重要的設計內容。由于高層建筑物結構數目眾多,為了較好地準確實現(xiàn)對高層樓群的搭建的構筑建模設計任務,可以根據實際設計情況重新確定其建筑設計基本原則:由于本操作系統(tǒng)中所虛擬的校園是一個實際已經存在的虛擬校園,為了能夠取得較真實的虛擬效果,現(xiàn)實存在的校園建筑在虛擬環(huán)境中盡量都要進行模擬建模。(2)根據校內現(xiàn)有建筑的整體外觀與建筑結構對校內建筑模型進行設計分類,確定新的構造設計模型,對那些外觀和建筑結構相同的校內建筑也應采用同一個構造設計模型。(3)對于較復雜的系統(tǒng)模型也可采用新方法拆分,使之更加簡單化,然后再對其進行二次建模。目前對大型建筑物的整體建模一般都是采用一種整體建模法,即首先畫一個圓形立方體或一個長方體,然后再對物體表面紋理進行各種紋理上的映射,構造一個建筑物整體模型。2.建筑物的紋理映射建筑物本身并非不是一個空白的大面積平面,一般的大型高層建筑物上幾乎都會特別設一些玻璃窗戶,貼有各式各樣的彩色玻璃瓷磚。目前對于一個大型建筑物窗口及其內部窗戶的各種整體窗口建模一般都主要是通過采用多種典型線段繪圖方法應用來直接進行窗口構造,及描繪出窗口的大部分概念和結構框架,然后對其窗戶進行整體背景圖的渲染。由于校內的立體模型建筑物特別多,如果你臨時需要一一對其內部進行立體化的建模,會不僅需要我們花費大量的空間計算力和時間,而且嚴重的會影響了系統(tǒng)的正常工作運行以及處理速度。所以,在本整體設計處理系統(tǒng)中與其對應于整個房屋內部墻體及其表面的任何一個窗戶和其他裝飾物的花紋都應該可以直接采用類似整體紋理映射建模互相映射的整體設計處理方法對其整體進行類似紋理映射建模。其基本實現(xiàn)操作方法主要原理是:將校內每個帶有教學樓的建筑各個主體結構和平面的教學建筑主體紋理抽象圖像模型數據分別實時進行隨機映射采集、加工、轉換成一個建筑紋理圖像數據庫并映射到制圖所符合要求的教學建筑紋理圖像格式,之后在教學建筑主體畫面紋理圖像數據繪制的整個操作過程中,分別對每個教學建筑面分別隨機進行一次建筑紋理圖像數據隨機映射。圖書館周圍場景環(huán)境設計由立體圖書館場景設計和建筑布局立體圖書館以及周圍環(huán)境場景設計環(huán)節(jié)組成,創(chuàng)建逼真的實景虛擬混合現(xiàn)實三維立體教學場景。采用了以模塊化,組件化作為設計指導思想,層次清晰、結構合理的unity3d大型圖書館應用場景環(huán)境設計。圖書館主體建筑應用場景圖的設計層次結構方式如表中圖所示。圖書館建筑場景設計圖書館建筑場景設計周邊環(huán)境圖書館樓梯底座建筑主體樓體附件綠化草坪樹木設計道路設計圖書館建筑設計層次結構圖書館場景建設主要用到了以下的UNITY3D節(jié)點:(1)shape整體造型中的節(jié)點。該節(jié)點通常是一切具有幾何立體造型的父節(jié)點。該類的節(jié)點通常包含具有兩個子類的節(jié)點,分別為一個appearance(立體外觀)的子節(jié)點與geometry(結合幾何立體造型)的子節(jié)點。(2)appearance節(jié)點。該目標節(jié)點可以用來明確定義一個物體的基本外觀及其屬性,通常為:shape為該節(jié)點的子目標節(jié)點。appearance三個節(jié)點主要指定物體幾何學和物體外觀造型的基本外觀感和視覺效果,包含了material(物體外觀紋理材料)三個節(jié)點、texture(物體紋理外觀印象)三個節(jié)點和texturetransform(外觀紋理印象坐標角度變換)三個節(jié)點。通過設定material的區(qū)域,可以正確設定一個材料的一種顏色,該材料顏色為單一的材料顏色。通過進入texture等區(qū)域,可以對各種幾何立體造型效果進行自動貼圖,使幾何造型更為逼真。而對于texturetransform的區(qū)域,則可以通過定義視頻貼圖的顯示方式,比例等,已經能達到更好的視頻貼圖顯示效果。(3)Cube該節(jié)點的作用也就是生成一個立方體。通過調整該節(jié)點的size(尺寸)域的域值,可以直接改變一個立方體的長、寬、高。(4)Cylinder節(jié)點,該節(jié)點的作用是生成圓柱體。Cylinder節(jié)點的主要屬性有height(高度)、radius(半徑)以及是否包含頂面(top)、側面(side)和底面(bottom)等。(5)IndexedFaceSet節(jié)點,該節(jié)點是一個三維立體幾何造型節(jié)點,表示一個由一組矩形頂點構成而建成的一系列的由平面圖和多邊形頂點形成的3d立體幾何造型。(6)Billboard節(jié)點,該節(jié)點對象可以在一個世界局部坐標系之下自動創(chuàng)建一個新的局部世界坐標系,選定一個旋轉軸后,這個節(jié)點下的子節(jié)點所連接構成的一個虛擬對象的一個正面圖像會永遠自動地垂直面對所有觀眾。通過該坐標節(jié)點位于axisOfRotation的區(qū)域,可以精確設定節(jié)點繞哪一個標準坐標系的軸進行旋轉。(7)Group節(jié)點。該節(jié)點管理系統(tǒng)軟件可以直接被應用來自動設計編組各種新的大型幾何結構整體及其造型,并將其全部組合起來作為一個各種新的幾何整體來使幾何將該造型通過節(jié)點系統(tǒng)來對其進行自動看待。把group這個基于節(jié)點中所有的節(jié)點包含全部整個基于節(jié)點群的空間結構視為一個新的節(jié)點空間整體,當作一個完整的基于節(jié)點整體空間結構的建造型管理體系并用來對其進行正確對待。如果一個用戶可以利用一個grdef(一個重新被定義的自命名系統(tǒng)節(jié)點)為一個新的group這個命名節(jié)點文件進行系統(tǒng)命名,則那么用戶仍然可通過反復使用一個gruse(一個反復重用的自定義命名節(jié)點)在相同的系統(tǒng)命名節(jié)點文件中重復使用這一節(jié)點,從而大大程度增強系統(tǒng)應用程序對于系統(tǒng)命名設計的一種更高可靠和持續(xù)性的重用性和系統(tǒng)操作上的靈活性。(8)Transform節(jié)點。該節(jié)點可以對幾何造型進行平移、旋轉、縮放。通過translation(方位)域值、rotation(旋轉)域值、scale(規(guī)模)域值,可以達到改變造型位置、大小的目的。將上述構建的對象有機地結合起來,就構建出圖書館了,其他各類建筑物的其他構建構筑方法與中央圖書館東北館的其他構建構筑方法大致相同,此處不再一一進行累述。現(xiàn)在還將展示其余幾個標志性大型建筑物的整體運行情況效果圖。1.學校一食堂,二食堂2.女生宿舍樓3.籃球場4.2.4樹木的設計時刻保持二維紋理樹林圖像的法線矢量指向觀察者,就可以形成非常真實的三維景觀,從不同的角度觀察均可獲得樹木的較為完整的圖像。在UNITY3D中,Billboard節(jié)點提供了這一功能。通過設定Billboard中axisOfRotation域,可以規(guī)定樹木的旋轉軸。樹木效果圖樹木效果圖4.3虛擬校園的整體拼合由于整個模擬校園教學場景過程中的各個物體也都是通過其在相對基準位置上的關系相互組織組合起來的,因此我們需要通過確定某一個物體是否作為相對基準和它的參照位置來幫助確定其它幾個物體的相對位置。本學校漫游系統(tǒng)以各級學校校正門位置作為主要參考設置標準。拼合法的方法描述如下:1.根據總體的平面圖,利用一個稱為box的節(jié)點參數來創(chuàng)建作為一所學院的一個整體的占地表,更改其它的參數,使得它的面積大小和整個學校的占地總面積相同。2.以江西理工大學學校正門建筑墻的正門外墻為按照點和參考點,通過使用百度學校電子地圖(即網上學校電子地圖)直接可以測量其他一個學校正門建筑墻的距離與正門參照點和參考點的一定長度距離,根據一定長度比例,用一個稱為transformm的直線節(jié)點的繪圖方法來直接改變這個學校建筑實體墻的中心位置。3.使用了linline兩個內聯(lián)網絡節(jié)點,將已經創(chuàng)建好的各實體節(jié)點整合后放到現(xiàn)實校園中一個確定的節(jié)點位置上,最終可以完成整個虛擬現(xiàn)實校園的一個整體校園建設。拼合時,單獨建立一個UNITY3D文件,用于拼合各實體。在本系統(tǒng)中,以school.Unity3D作為主程序的入口。第五章虛擬校園場景的實現(xiàn)5.1基于unity3D的第一視角漫游校園要想在unity3d游戲引擎系統(tǒng)中實現(xiàn)漫游校園的效果,需要定義一個人物視角,讓攝像頭跟在人物視角,用鍵盤鼠標控制它的行走跳躍與旋轉,這便達到了漫游虛擬校園的效果。接下來是創(chuàng)建第一視角漫游校園的過程。將其人物視角命名為第一人稱漫游,方便查看漫游信息,在inspector面板上添加人物重力rigidbody組件,以及碰撞器Collider的組件(可以在腳本里添加屬性)添加Newscript腳本將其命名為第一人稱漫游控制器英文版。編寫腳本:添加組件[RequireComponent(typeof(Rigidbody))][RequireComponent(typeof(CapsuleCollider))]publicclassRigidbodyFirstPersonController:MonoBehaviour{publicclassMovementSettings{publicfloatForwardSpeed=8.0f;publicfloatBackwardSpeed=4.0f;publicfloatStrafeSpeed=4.0f;publicfloatRunMultiplier=2.0f; publicKeyCodeRunKey=KeyCode.LeftShift;publicfloatJumpForce=30f;publicAnimationCurveSlopeCurveModifier=newAnimationCurve(newKeyframe(-90.0f,1.0f),newKeyframe(0.0f,1.0f),newKeyframe(90.0f,0.0f));[HideInInspector]publicfloatCurrentTargetSpeed=8f;publicvoidUpdateDesiredTargetSpeed(Vector2input){ if(input==Vector2.zero)return; if(input.x>0||input.x<0) { CurrentTargetSpeed=StrafeSpeed; } if(input.y<0) { CurrentTargetSpeed=BackwardSpeed; } if(input.y>0) { CurrentTargetSpeed=ForwardSpeed; }#if!MOBILE_INPUT if(Input.GetKey(RunKey)) { CurrentTargetSpeed*=RunMultiplier; m_Running=true; } else { m_Running=false; }#endif}#if!MOBILE_INPUTpublicboolRunning{get{returnm_Running;}}#endif}publicCameracam;publicMovementSettingsmovementSettings=newMovementSettings();publicMouseLookmouseLook=newMouseLook();publicAdvancedSettingsadvancedSettings=newAdvancedSettings();privateRigidbodym_RigidBody;//剛體privateCapsuleColliderm_Capsule;//碰撞器privatefloatm_YRotation;privateVector3m_GroundContactNormal;privateboolm_Jump,m_PreviouslyGrounded,m_Jumping,m_IsGrounded;publicVector3Velocity{get{returnm_RigidBody.velocity;}}publicboolGrounded{get{returnm_IsGrounded;}}publicboolJumping{get{returnm_Jumping;}}publicboolRunning{get{ returnmovementSettings.Running; }}privatevoidStart(){m_RigidBody=GetComponent<Rigidbody>();m_Capsule=GetComponent<CapsuleCollider>();mouseLook.Init(transform,cam.transform);}privatevoidUpdate(){RotateView();if(CrossPlatformInputManager.GetButtonDown("Jump")&&!m_Jump){m_Jump=true;}}privatevoidFixedUpdate(){GroundCheck();Vector2input=GetInput();if((Mathf.Abs(input.x)>float.Epsilon||Mathf.Abs(input.y)>float.Epsilon)&&(advancedSettings.airControl||m_IsGrounded)){Vector3desiredMove=cam.transform.forward*input.y+cam.transform.right*input.x;desiredMove=Vector3.ProjectOnPlane(desiredMove,m_GroundContactNormal).normalized;desiredMove.x=desiredMove.x*movementSettings.CurrentTargetSpeed;desiredMove.z=desiredMove.z*movementSettings.CurrentTargetSpeed;desiredMove.y=desiredMove.y*movementSettings.CurrentTargetSpeed;if(m_RigidBody.velocity.sqrMagnitude<(movementSettings.CurrentTargetSpeed*movementSettings.CurrentTargetSpeed)){m_RigidBody.AddForce(desiredMove*SlopeMultiplier(),ForceMode.Impulse);}}if(m_IsGrounded){m_RigidBody.drag=5f;if(m_Jump){m_RigidBody.drag=0f;m_RigidBody.velocity=newVector3(m_RigidBody.velocity.x,0f,m_RigidBody.velocity.z);m_RigidBody.AddForce(newVector3(0f,movementSettings.JumpForce,0f),ForceMode.Impulse);m_Jumping=true;}if(!m_Jumping&&Mathf.Abs(input.x)<float.Epsilon&&Mathf.Abs(input.y)<float.Epsilon&&m_RigidBody.velocity.magnitude<1f){m_RigidBody.Sleep();}}else{m_RigidBody.drag=0f;if(m_PreviouslyGrounded&&!m_Jumping){StickToGroundHelper();}}m_Jump=false;}privatefloatSlopeMultiplier(){floatangle=Vector3.Angle(m_GroundContactNormal,Vector3.up);returnmovementSettings.SlopeCurveModifier.Evaluate(angle);}privatevoidStickToGroundHelper(){RaycastHithitInfo;if(Physics.SphereCast(transform.position,m_Capsule.radius*(1.0f-advancedSettings.shellOffset),Vector3.down,outhitInfo,((m_Capsule.height/2f)-m_Capsule.radius)+advancedSettings.stickToGroundHelperDistance,Physics.AllLayers,QueryTriggerInteraction.Ignore)){if(Mathf.Abs(Vector3.Angle(hitInfo.normal,Vector3.up))<85f){m_RigidBody.velocity=Vector3.ProjectOnPlane(m_RigidBody.velocity,hitInfo.normal);}}}privateVector2GetInput(){Vector2input=newVector2{x=CrossPlatformInputManager.GetAxis("Horizontal"),y=CrossPlatformInputManager.GetAxis("Vertical")}; movementSettings.UpdateDesiredTargetSpeed(input);returninput;}privatevoidRotateView(){//avoidsthemouselookingifthegameiseffectivelypausedif(Mathf.Abs(Time.timeScale)<float.Epsilon)return;//gettherotationbeforeit'schangedfloatoldYRotation=transform.eulerAngles.y;mouseLook.LookRotation(transform,cam.transform);if(m_IsGrounded||advancedSettings.airControl){//RotatetherigidbodyvelocitytomatchthenewdirectionthatthecharacterislookingQuaternionvelRotation=Quaternion.AngleAxis(transform.eulerAngles.y-oldYRotation,Vector3.up);m_RigidBody.velocity=velRotation*m_RigidBody.velocity;}}///spherecastdownjustbeyondthebottomofthecapsuletoseeifthecapsuleiscollidingroundthebottomprivatevoidGroundCheck(){m_PreviouslyGrounded=m_IsGrounded;RaycastHithitInfo;if(Physics.SphereCast(transform.position,m_Capsule.radius*(1.0f-advancedSettings.shellOffset),Vector3.down,outhitInfo,((m_Capsule.height/2f)-m_Capsule.radius)+advancedSettings.groundCheckDistance,Physics.AllLayers,QueryTriggerInteraction.Ignore)){m_IsGrounded=true;m_GroundContactNormal=hitInfo.normal;}else{m_IsGrounded=false;m_GroundContactNormal=Vector3.up;}if(!m_PreviouslyGrounded&&m_IsGrounded&&m_Jumping){m_Jumping=false;}}}5.2基于Kinect體感交互漫游校園在德國的歐洲克隆國際游戲展及多個國外著名電子游戲展和動漫展上,很多國內游戲開發(fā)公司紛紛提出了新的一種體感模擬游戲開發(fā)支持,隨著網絡時代的不斷發(fā)展,游戲業(yè)的不斷進步,體感模擬游戲逐漸發(fā)展成為國內游戲開發(fā)市場的一種主流。在此前的基礎上,將kinect等等引入應用到這款虛擬現(xiàn)實校園漫游系統(tǒng)的的開發(fā)中,會給虛擬漫游者玩家?guī)砀诱鎸嵉挠螒蚋惺堋L摂M現(xiàn)實校園網絡漫游操作系統(tǒng)的兩個難點操作是關鍵kinect與重點unity3d這是游戲操作引擎的完美結合。目前使用kinect與opunity3dk相結合的開發(fā)方式主要有三種:或者使用微軟的格式kinectsdk1.0版本的軟件開發(fā)工具軟件包;或者使用zigfu的版本開發(fā)工具軟件包;或者使用自由開源的openni。使用kinectsdk的運動開發(fā)工具資源包等來進行運動開發(fā),是為了能夠更好的幫助進行人類運動學習的分析。目前網上的一個kinectsdkw的開發(fā)包版本是1.0版本的,主要版本是一個sdkbetaor版本的,而我們現(xiàn)在采用的版本是一個kinectforwindows1.6版本的,并且是不能直接安裝使用,必須是需要經過做適當性的修改之后才能直接使用。sdk由于版本的不同,因此不需要同時進行的版本修改,主要內容是包括更改版本kinectsensor.cs和更改kinectinterop.cs兩個文件目錄中的所有內容。首先從一個網絡平臺下載一個kinectwrapperpackageforunity3d的一個封裝軟件包,將其直接導入到一個虛擬現(xiàn)實校園開發(fā)項目中。隨后,項目中自然地就會出現(xiàn)包括一些必要的開發(fā)腳本和一些關于場景化的例子。腳本中的文件主要功能是被存放在一個名為"Kinect"的一個文件夾中。文件夾中已經完全包含了它并包括基于如下的一個帶有腳本名的格式文件:kinectmodelcontrollerv2、kinectpointcontrolle、displaydepth、displaycolor、kinectrecorder、kinectsensor、deviceoremulator、skeletonwrapper。其中,KinectModelControllerV2腳本文件用于控制虛擬人模型骨骼綁定的腳本,通過相應的骨骼匹配,就能夠將Kinect捕捉到的人體骨骼位置等信息與Kinect中的虛擬人相映射;KinectPointController腳本文件也用來綁定骨骼,它是把圓點的位置與Kinect捕捉到的人體骨骼位置相匹配,用了20個圓點組成了人體主要的骨架;DisplayDepth腳本文件用于對深度圖像的設置和控制顯示;DisplayColor腳本文件是用來控制彩色圖像的設置和顯示;KinectRecorder腳本文件是在Kinect缺失時用來錄制人體運動信息;KinectSensor是Kinect的主驅動對象,用于驅動Kinect硬件;DeviceOrEmulator是列舉設備;SkeletonWrapper是骨骼包,用于提供相關的骨骼信息。導入的一個視頻文件中將可能會直接包含一個視頻文件名:kinectexample,是一個可以直接用于進行視頻文件演示的。這個大型應用開發(fā)案例在其中的一個場景將向您詳細演示如何用一個大的骨骼驅動系統(tǒng)模型去進行操作控制一只驅動每個用戶的3d一個骨骼系統(tǒng)模型,以及如何用各個中樞神經單元關節(jié)的一點一個骨骼系統(tǒng)去操作控制一個驅動用戶小鼠的骨骼模型(就是說比如一個大的球形)。除了一個物體樣本文件模型中的物體kinectexample,導入的一個物體模型文件還允許可以同時包含兩個已經事先預制好的單個物體:kinect_prefab和一個物體kinectpointman[39]。kinect_prefab這里是個空間和節(jié)點的工作對象,里面通常包含一些節(jié)點腳本,這些節(jié)點腳本通常是用來驅動一個kinectp的所有最必須的,也就說是最重要的,一般人都可以直接進行使用;kinectpointman這里演示了一個kinectpointcontrollerab是如何進行工作的。可以將一個預置控制對象設為kinect_prefab,放在一個hierarchy控制面板的左側任意一個位置。也許你可以根據每個項目所有必需軟件可以選擇使用諸如kinectpointcontroller或使用kinectmodelcontrollerv2腳本。kinect_prefab里面還有許多應用參數列表可以供你進行仔細設置,如果一個設計者真的想要能讓自己的應用程序運行有效地更好的話,可以仔細進行研究。在我的kinectsensor這個組件中,kinectcenter為這是一個體感投影設備在3d不同場景中的所對應的具體位置,sensorheight為這是一個體感投影設備設置距離3d不同場景中距離地面的具體高度,lookat是這是一個體感投影設備在3d不同場景環(huán)境中的具體朝向,smoothing、correction、prediction,這是一個用于手動設置平滑投影效果的具體參數。其它可以導入的圖像文件則為一些立體貼圖及圖形模型。使用新的新在zigfu開發(fā)軟件應用工具過程中的軟件包包也可以直接進行多種軟件開發(fā),zigfu開發(fā)軟件應用工具過程中的軟件包包也可以直接簡稱zdk,即使用新的zigfudevelopmentkit,這個包可能來說是較為簡單的一種kinect基于新的跨平臺行業(yè)開發(fā)平臺的一種軟件開發(fā)使用方式,能夠把所有新的kinect和j及j和j或html5應用程序、unity3d、flash和j或j和j和javascript等等可以進行多種不同體感式的軟件開發(fā),同時它也能夠直接支持openni與opt,kinectsdk。不過此軟件應用版本開發(fā)包的應用工具包多部分為基本免費的非商業(yè)軟件版的應用版本開發(fā)包,有一個基本免費的帶有用戶版本體驗號的軟件應用版本,但在軟件下載之后生成的應用文件下載時候卻有可能會多了個原本沒有軟件版本驗證號的軟件水印。openni,這是一個基于開源的技術框架,主要目的是基于提供了一些基于硬件系統(tǒng)底層中的api以及基于人體視覺輸入的一套技術規(guī)范,用于用戶實現(xiàn)自動連接不同電子設備之間的各種接口。openni的軟件官方網站上已經提供了怎樣正確使用opunity3d軟件開發(fā)的一個范例表和模塊。在設計openni上,首先我們需要自己實現(xiàn)一個符合openni的接口模塊,這些接口模塊通過直接使用openni的每個接口,進行自我的接口實現(xiàn),然后為自己頂層的每個應用程序實現(xiàn)提供接口調用。本文在開發(fā)操作系統(tǒng)中主要開發(fā)工作就是采用第一種軟件開發(fā)方法,即使用微軟的KinectSDK1.0最新開發(fā)版本的虛擬軟件開發(fā)操作系統(tǒng)工具包,想要同時分別完成基于人的kinect的虛擬體感交互接入,需要同時分別完成三項主要開發(fā)工作:unity3d虛擬體感交互接入基于人的kinect的虛擬體感接入驅動,實現(xiàn)了對基于unity3d中基于人的kinect體感接入調用方法的自動交互調用;在基于虛擬人的場景校園虛擬體感交互漫游中實現(xiàn)虛擬校園體感交互而在虛擬體感漫游中的場景驅動欄目中,實現(xiàn)了對基于kinect的場景虛擬校園體感與自動漫游與該場景虛擬人體感骨骼交互進行虛擬人體體感骨骼交互自動匹配;同時它還實現(xiàn)了對基于kinect虛擬體感人與漫游場景動作物的體感識別,驅動虛擬人的校園體感交互漫游。5.3系統(tǒng)的發(fā)布Unity3D作為一款優(yōu)秀的網絡游戲發(fā)布引擎,不僅功能強大,同時,可以針對不同的操作系統(tǒng)或者平臺,進行組合發(fā)布。本次的項目主要就是針對于三種平臺。pc端平臺、web和安卓手機平臺分別進行三個虛擬現(xiàn)實校園系統(tǒng)的整體發(fā)布。首先我們需要對個別的場景數據進行排序build,點擊一個file/buildsetting然后打開一個buildsetting場景對話框,分別將場景建立各自的場景數據保存并進行排序。在選擇platform平臺對話框中需要選擇一個相應的軟件平臺,首先需要選中pc平臺,點擊Build按鈕進行設置軟件位置平臺名稱之后即可對平臺程序內容進行自動發(fā)布。5.4系統(tǒng)的測試與優(yōu)化軟件安全測試的最終目標,就是為了能夠更快、更早地將一個軟件開發(fā)產

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論