![[計(jì)算機(jī)軟件及應(yīng)用]Unity3DKinect體感應(yīng)用開發(fā)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/8507540b-b465-4b36-90d7-afdcf2f7beae/8507540b-b465-4b36-90d7-afdcf2f7beae1.gif)
![[計(jì)算機(jī)軟件及應(yīng)用]Unity3DKinect體感應(yīng)用開發(fā)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/8507540b-b465-4b36-90d7-afdcf2f7beae/8507540b-b465-4b36-90d7-afdcf2f7beae2.gif)
![[計(jì)算機(jī)軟件及應(yīng)用]Unity3DKinect體感應(yīng)用開發(fā)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/8507540b-b465-4b36-90d7-afdcf2f7beae/8507540b-b465-4b36-90d7-afdcf2f7beae3.gif)
![[計(jì)算機(jī)軟件及應(yīng)用]Unity3DKinect體感應(yīng)用開發(fā)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/8507540b-b465-4b36-90d7-afdcf2f7beae/8507540b-b465-4b36-90d7-afdcf2f7beae4.gif)
![[計(jì)算機(jī)軟件及應(yīng)用]Unity3DKinect體感應(yīng)用開發(fā)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/8507540b-b465-4b36-90d7-afdcf2f7beae/8507540b-b465-4b36-90d7-afdcf2f7beae5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔歡迎下載題目題目 ?UNITY3D?UNITY3D?體感應(yīng)用開發(fā)體感應(yīng)用開發(fā) 摘要摘要虛擬現(xiàn)實(shí)技術(shù)是二十世紀(jì)末才興起的一門嶄新的綜合性信息技術(shù),在最近幾年開展迅速,已經(jīng)有了一定的規(guī)模。而 Kinect 是微軟在 2021 年 6 月 14 日對(duì) XBOX360體感周邊外設(shè)正式發(fā)布的名字,它是一種 3D 體感攝影機(jī),同時(shí)導(dǎo)入了即時(shí)動(dòng)態(tài)捕捉、影像辨識(shí)、麥克風(fēng)輸入、語(yǔ)音辨識(shí)、社群互動(dòng)等功能。本文的研究?jī)?nèi)容以 Unity3D 為開發(fā)工具,以 Kinect 系統(tǒng)為目標(biāo)平臺(tái),開發(fā)一款名為?耍皮影游戲?的體感應(yīng)用,體感應(yīng)用中可以通過參與游戲的玩家的手勢(shì)來(lái)控制游戲中的皮影角色完成游戲,實(shí)現(xiàn)人機(jī)的交互控
2、制。應(yīng)用能在 Kinect 設(shè)備上獨(dú)立運(yùn)行,應(yīng)用具有完整場(chǎng)景,良好的畫面效果,較高的互動(dòng)樂趣,讓用戶使用互動(dòng)投影設(shè)備控制虛擬皮影角色進(jìn)行豐富多彩的互動(dòng)體驗(yàn)。關(guān)鍵詞關(guān)鍵詞 虛擬現(xiàn)實(shí)技術(shù) Unity 3D Kinect 體感 交互控制精品文檔歡迎下載TitleTitle PlayingPlaying shadowshadow puppetspuppets somatosensorysomatosensory applicationapplication developmentdevelopment AbstractAbstractVirtual reality technology is the
3、end of the twentieth century before the rise of a new integrated IT, has developed rapidly in recent years, has a certain scale. Kinect is the name in the June 14, 2021, Microsoft officially released the XBOX360 somatosensory peripherals, it is a 3D somatosensory camera, to import real-time motion c
4、apture, image recognition, microphone input, voice recognition, and community interaction function.The content of this research the Unity3D development tools, Kinect system for the target platform, a development called playing the shadow play games, the application of the somatosensory, somatosensor
5、y applications to control the game in the shadow play through the game to packrole to complete the game to achieve interactive control. Applications can be run independently in the Kinect device application with the complete scene, good screen effects, interactive fun, interactive projection equipme
6、nt to control the virtual shadow play the role of a variety of interactive experience.KeywordsKeywords Virtual reality technology Unity 3D Kinect Somatosensory Interactive control精品文檔歡迎下載目錄1前言.11.1 選題背景 .11.2 選題意義 .21.3 題目研究現(xiàn)狀簡(jiǎn)介 .21.4 資料收集 .31.5 論文組織結(jié)構(gòu) .31.5.1 前言 .31.5.2 開發(fā)工具與運(yùn)行環(huán)境.31.5.3 應(yīng)用設(shè)計(jì) .31.5.
7、4 系統(tǒng)實(shí)現(xiàn) .31.5.5 系統(tǒng)測(cè)試 .31.5.6 全文的總結(jié) .32開發(fā)工具與運(yùn)行環(huán)境 .42.1 開發(fā)工具 .4 Unity 3D .42.1.2 Photoshop .52.1.3 OpenNI.62.1.4 3ds Max .72.1.5 Kinect .72.2 運(yùn)行環(huán)境 .83系統(tǒng)設(shè)計(jì) .93.1 應(yīng)用關(guān)卡設(shè)計(jì) .93.1.1 應(yīng)用第一關(guān)設(shè)計(jì) .93.1.2 應(yīng)用第二關(guān)設(shè)計(jì) .93.1.3 應(yīng)用第三關(guān)設(shè)計(jì) .94系統(tǒng)實(shí)現(xiàn) .104.1 應(yīng)用的開始場(chǎng)景 .104.1.1 場(chǎng)景的選擇按鈕樣式.11精品文檔歡迎下載4.2 應(yīng)用的選擇關(guān)卡場(chǎng)景 .114.3 應(yīng)用的第一關(guān) .124.3.
8、1 時(shí)間的倒計(jì)時(shí) .124.3.2 金幣的生成 .134.3.3 玩家拾到金幣并計(jì)分.144.3.4 結(jié)束時(shí)判斷哪個(gè)玩家獲勝.144.3.5 游戲角色的控制系統(tǒng).144.4 應(yīng)用的第二關(guān)與第三關(guān) .164.4.1 發(fā)射子彈系統(tǒng) .164.4.2 生命值的控制 .174.4.3 增加生命值和減少生命值的物體.174.4.4 攝像機(jī)系統(tǒng) .174.4.5 游戲角色的控制系統(tǒng).185系統(tǒng)測(cè)試 .205.1 程序調(diào)試 .205.2 程序的測(cè)試 .205.2.1 測(cè)試的重要性及目的. 測(cè)試的重要性 . 測(cè)試的目的 .215.2.2 測(cè)試的步驟 .215.2.3 測(cè)試的
9、主要內(nèi)容 .215.3 應(yīng)用的生成 .22結(jié)論.23致謝.26參考文獻(xiàn) .28精品文檔歡迎下載1.前言Kinect 是微軟公司基于 xbox360 制作出來(lái)的硬件設(shè)備,原本是運(yùn)用在xbox360 上進(jìn)行體感游戲的配套設(shè)備,而本文需要研究將這個(gè)新鮮的體感設(shè)備連接到電腦上,并通過新的驅(qū)動(dòng)進(jìn)行新游戲的設(shè)計(jì)以及開發(fā)。Unity3D 是游戲開發(fā)的根底,Kinect 設(shè)備通過 openni 的驅(qū)動(dòng)與 Unity3D游戲開發(fā)引擎連接,通過在 Unity3D 中進(jìn)行游戲場(chǎng)景的搭建,游戲功能的設(shè)置,帶有控制器的模型的導(dǎo)入,以及代碼的編寫等等工作,然后在通過環(huán)境的配置對(duì)體感游戲進(jìn)行控制。虛擬現(xiàn)實(shí)技術(shù)具有超越現(xiàn)實(shí)的
10、虛擬性。它是伴隨多媒體技術(shù)開展起來(lái)的計(jì)算機(jī)新技術(shù),它利用三維圖形生成技術(shù)、多傳感交互技術(shù)以及高分辨率顯示技術(shù),生成三維逼真的虛擬環(huán)境,用戶需要通過特殊的交互設(shè)備才能進(jìn)入虛擬環(huán)境中。這是一門嶄新的綜合性信息技術(shù),它融合了數(shù)字圖像處理、計(jì)算機(jī)圖形學(xué)、多媒體技術(shù)、傳感器技術(shù)等多個(gè)信息技術(shù)分支,從而大大推進(jìn)了計(jì)算機(jī)技術(shù)的開展。隨著近年來(lái)游戲事業(yè)在全球大踏步的前進(jìn),市場(chǎng)的前景非常可觀,但是在國(guó)內(nèi)的市場(chǎng)上,體感游戲還是一個(gè)比擬小的群體,大局部的游戲玩家的主旋律還是通過鼠標(biāo)、鍵盤、手柄等游戲設(shè)備進(jìn)行游戲,而僅僅通過身體的運(yùn)動(dòng)而控制游戲中人物的控制還是一個(gè)比擬新鮮的領(lǐng)域。1.1 選題背景在未來(lái)的游戲開展中,人
11、們?cè)絹?lái)越注重親身的體驗(yàn),體感游戲?qū)⒅鸩介_展為主流游戲。人們?cè)谟螒蛑胁粌H可以得到游戲給人帶來(lái)精神上的歡樂,還可以通過游戲鍛煉人們身體,將自己真正的融入到虛擬游戲世界當(dāng)中。Kinect 是微軟在 2021 年 6 月 14 日對(duì) XBOX360 體感周邊外設(shè)正式發(fā)布的名字,它是一種 3D 體感攝影機(jī),同時(shí)導(dǎo)入了即時(shí)動(dòng)態(tài)捕捉、影像辨識(shí)、麥克風(fēng)輸入、語(yǔ)音辨識(shí)、社群互動(dòng)等功能讓玩家脫離傳統(tǒng)游戲手柄的束縛,通過自己的肢體控制游戲。同類產(chǎn)品有任天堂 Wii、Play Station Move,但它們必須讓玩家手里拿一個(gè)或者多個(gè)設(shè)備,才能完成所謂的體感互動(dòng)。Unity 3D 是一個(gè)多平臺(tái)的游戲開發(fā)工具,是一個(gè)
12、全面整合的專業(yè)游戲引擎,具有更優(yōu)越的效果和更高的擴(kuò)展空間。Unity 內(nèi)置的 NVIDIA、PhysX 物理引擎能夠帶來(lái)逼真的互動(dòng)感覺,實(shí)時(shí)三維圖形混合音頻流、視頻流。精品文檔歡迎下載Unity3D 引擎具備開發(fā)過程技術(shù)要求高,高級(jí)渲染效果和用戶定制支持遠(yuǎn)遠(yuǎn)高于其他的優(yōu)勢(shì),非常適合產(chǎn)品虛擬展示在交互訪問和逼真表現(xiàn)的需求。虛擬現(xiàn)實(shí)從其萌芽到今天的日漸成熟已經(jīng)經(jīng)歷了一段相當(dāng)長(zhǎng)的時(shí)間,伴隨著計(jì)算機(jī)圖像技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷開展,我們的虛擬現(xiàn)實(shí)技術(shù)也將迎來(lái)一個(gè)快速開展的階段,使我們的虛擬現(xiàn)實(shí)中的場(chǎng)景更加的真實(shí),虛擬現(xiàn)實(shí)中的人物也更加的形象與生動(dòng),成為一個(gè)真正意義上的“人。本論文根據(jù) KinectS
13、DK 工具的設(shè)計(jì)理念背景、Unity3D 的功能背景以及未來(lái)游戲開展趨勢(shì)的大背景下,對(duì)?耍皮影?體感應(yīng)用進(jìn)行設(shè)計(jì)與研究。1.2 選題意義體感游戲是一種新穎的、趣味性強(qiáng)的、富有極高創(chuàng)造力的游戲。而且,微軟公司在 2021 年才剛剛推出 Kinect 體感游戲控制器,體感應(yīng)用游戲是一次挑戰(zhàn)也是一個(gè)機(jī)遇,Kinect 不需要玩家佩戴或借助任何裝置,完全由Kinect 去捕獲玩家的各種動(dòng)作,并表到達(dá)游戲中的角色上去,因此,玩一會(huì)兒游戲下來(lái),你可能已經(jīng)大汗淋漓了。皮影戲是國(guó)家非常重視的非物質(zhì)文化遺產(chǎn),在 2021 年正式成為世界人類非物質(zhì)文化遺產(chǎn)。不過,在如今這娛樂生活多樣的年代,皮影戲的魅力光環(huán)正在逐
14、漸黯淡,只有這一些特殊場(chǎng)合可以看見?,F(xiàn)在的很多年輕人雖然對(duì)這些老藝術(shù)感興趣,但是很難有時(shí)機(jī)看到。這個(gè)?耍皮影?的體感應(yīng)用,便可以讓玩家通過體感游戲的方式,更加真實(shí)地了解皮影戲的魅力所在。?耍皮影?體感應(yīng)用是一個(gè)通過現(xiàn)代的高科技演繹歷史悠久的傳統(tǒng)藝術(shù),并且可以讓每一位游戲玩家到游戲中的角色中去體驗(yàn)。本次的游戲設(shè)計(jì)旨在通過 Kinect 體感游戲控制器以及 Unity3D 游戲開發(fā)工具相結(jié)合,進(jìn)行?耍皮影?體感應(yīng)用進(jìn)行設(shè)計(jì),通過編譯,將傳統(tǒng)的藝術(shù)表演呈現(xiàn)在現(xiàn)代的高科技游戲中。1.3 題目研究現(xiàn)狀簡(jiǎn)介20 世紀(jì) 90 年代末,國(guó)外的單位已經(jīng)在增強(qiáng)現(xiàn)實(shí)系統(tǒng)的攝像機(jī)校正算法、增強(qiáng)現(xiàn)實(shí)頭盔顯示器的設(shè)計(jì)、硬
15、件平臺(tái)的應(yīng)用、視覺跟蹤技術(shù)等方面取得了一些可喜的成果。目前,國(guó)內(nèi)對(duì)增強(qiáng)現(xiàn)實(shí)技術(shù)的研究處于起步階段。從 1995年至今,涉及增強(qiáng)現(xiàn)實(shí)系統(tǒng)的國(guó)際專利多達(dá)一百多篇,局部設(shè)計(jì)應(yīng)用于航海平安控制輔助、飛行員培訓(xùn)、應(yīng)急訓(xùn)練的方面。而國(guó)內(nèi)涉及增強(qiáng)現(xiàn)實(shí)的專利精品文檔歡迎下載還很少。不過近些年隨著國(guó)內(nèi)技術(shù)人員的增多,在這個(gè)領(lǐng)域有了一個(gè)飛速的開展。1.4 資料收集通過網(wǎng)絡(luò),先對(duì)所選課題進(jìn)行詳細(xì)的了解,然后通過各種論壇,去深入了解制作游戲的方法與步驟。1.5 論文組織結(jié)構(gòu)前言本段內(nèi)容 主要介紹 的是 Kinect 開發(fā)的現(xiàn)狀、 Unity3D 游戲開發(fā)引擎的介紹、以及 虛擬現(xiàn)實(shí) 技術(shù)的定義及國(guó)內(nèi)外開展現(xiàn)狀,闡述了課
16、題的目的與意義。1.5.2 開發(fā)工具與運(yùn)行環(huán)境本段內(nèi)容 主要介紹 游戲設(shè)計(jì)的過程中需要用到的軟硬件設(shè)備,以及所需要的開發(fā)環(huán)境。應(yīng)用設(shè)計(jì)本段內(nèi)容重要是對(duì)游戲中的每個(gè)關(guān)卡的設(shè)計(jì)進(jìn)行介紹,包括圖片背景的設(shè)計(jì)、按鈕的設(shè)計(jì)、模型的設(shè)計(jì)、游戲功能的設(shè)計(jì)等。通過對(duì)設(shè)計(jì)的介紹,讓玩家對(duì)游戲有一個(gè)初步認(rèn)識(shí)。1.5.4 系統(tǒng)實(shí)現(xiàn)本段內(nèi)容重要是游戲代碼的實(shí)現(xiàn),體感控制,對(duì)游戲的核心制作局部進(jìn)行介紹。有游戲制作的先后順序,過程等等。1.5.5 系統(tǒng)測(cè)試本段的主要內(nèi)容是在游戲根本制作完成以后,為了減少游戲中的錯(cuò)誤以及 bug,對(duì)游戲進(jìn)行測(cè)試與調(diào)試。全文的總結(jié)本段主要是總結(jié)這次畢業(yè)設(shè)計(jì), 包括研究成果、建議和建議被采納的
17、可能性。精品文檔歡迎下載2.開發(fā)工具與運(yùn)行環(huán)境2.1 開發(fā)工具2.1.1 Unity 3DUnity3D 是由 Unity Technologies 開發(fā)的一個(gè)讓你輕松創(chuàng)立諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎。 Unity 類似于Director,Blender game engine, Virtools 或 Torque Game Builder 等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件其編輯器運(yùn)行在Windows 和 Mac OS X 下,可發(fā)布游戲至 Windows、Mac、Wii、iPhone 和 Andr
18、oid平臺(tái)。也可以利用 Unity web player 插件發(fā)布網(wǎng)頁(yè)游戲,支持 Mac 和Windows 的網(wǎng)頁(yè)瀏覽。它的網(wǎng)頁(yè)播放器也被Mac widgets 所支持。該軟件有一下的幾個(gè)特色:綜合編輯: 通過 Unity 簡(jiǎn)單的用戶界面,你可以完成任何工作。這些為你節(jié)省了大量的時(shí)間。 圖形動(dòng)力:Unity 對(duì) DirectX 和 OpenGL 擁有高度優(yōu)化的圖形渲染管道。 資源導(dǎo)入:Unity 支持所有主要文件格式,并能和大局部相關(guān)應(yīng)用程序協(xié)同工作。 一鍵部署:Unity 可以讓你的作品在多平臺(tái)呈現(xiàn)。 Wii 的發(fā)布:Unity 讓業(yè)界最流行的游戲平臺(tái)軟件更容易開發(fā)。 iPhone 發(fā)布:U
19、nity 讓革命性的游戲開發(fā)降臨革命性的設(shè)備。 著色器:Unity 的著色器系統(tǒng)整合了易用性、靈活性和高性能。 地形:低端硬件亦可流暢運(yùn)行廣闊茂盛的植被景觀。 聯(lián)網(wǎng):從單人游戲到全實(shí)時(shí)多人游戲。 物理特效:Unity 內(nèi)置的 NVIDIA®PhysX®物理引擎帶給你生活的互動(dòng)。 音頻和視頻:實(shí)時(shí)三維圖形混合音頻流、視頻流。 腳本:Unity 支持 3 種腳本語(yǔ)言: JavaScript,C#,Boo。 Unity 資源效勞器:Unity 資源效勞器是一個(gè)附加的包括版本控制的產(chǎn)品。 精品文檔歡迎下載光影:Unity 提供了具有柔和陰影與烘焙 lightmaps 的
20、高度完善的光影渲染系統(tǒng)。 文檔:Unity 為你提供逐步的指導(dǎo)、文檔和實(shí)例方案。2.1.2 PhotoshopAdobe Photoshop:圖像元老,最受歡送的強(qiáng)大圖像處理軟件之一 。 Photoshop 是 Adobe 公司旗下最為知名的圖像處理軟件之一。多數(shù)人對(duì)于 PHOTOSHOP 的了解僅限于 “一個(gè)很好的圖像編輯軟件 ,并不知道它的諸多應(yīng)用方面,實(shí)際上, Photoshop 的應(yīng)用領(lǐng)域很廣泛的,在圖像、圖形、文字、視頻、出版各方面都有涉及。 平面圖像設(shè)計(jì)的開展史,可以追溯到人類開展史的源頭,人類祖先用來(lái)記事的簡(jiǎn)單符號(hào)、文字,那是人類最根底、最原始的平面圖像設(shè)計(jì)實(shí)例。當(dāng)初也許只在于表
21、達(dá)某種具體的含義,而不包含藝術(shù)、美學(xué)的成份。伴隨著人類文明的開展,人們對(duì)藝術(shù)、美的追求和探索逐漸成為開展的主流,當(dāng)初記事的用途也逐漸淡化。傳統(tǒng)的畫家經(jīng)過數(shù)十載的訓(xùn)練才掌握繪畫這門技能,他們通過筆和紙的演繹描繪自己抽象的思維,表現(xiàn)自己對(duì)藝術(shù)、美的理解。除了藝術(shù)家之外每個(gè)人都有追求美的權(quán)利,都有一定的創(chuàng)作天賦和自己對(duì)生活、藝術(shù)、美的獨(dú)特認(rèn)識(shí)。需要長(zhǎng)期的訓(xùn)練才能掌握的技能,對(duì)大多數(shù)人來(lái)說有些“可望不可及 。而電腦的出現(xiàn)使人們的夢(mèng)想成為現(xiàn)實(shí)。 電腦在問世之初只是作為科研機(jī)構(gòu)進(jìn)行科學(xué)計(jì)算的工具,體積龐大、價(jià)格昂貴、使用復(fù)雜是其特點(diǎn)。到 50 至 70 年代,一些科學(xué)家像Noll,Harman、Knowt
22、on 以及 Nake 等利用電腦程序語(yǔ)言從事電腦圖形圖像處理的研究,研究的主題多是圖形形成原理的探索,例如,如何編程使得計(jì)算機(jī)的二進(jìn)制代碼能夠表現(xiàn)為一條弧線或是一個(gè)三角形等簡(jiǎn)單的幾何圖形。70 年代,伴隨著個(gè)人電腦 PC 的出現(xiàn),使電腦的體積縮小許多,價(jià)格亦降低許多,平面圖像技術(shù)也逐步成熟,使有興趣從事電腦藝術(shù)創(chuàng)作的人有更多的時(shí)機(jī),不用編寫令人討厭的代碼程序就能隨心所欲地進(jìn)行藝術(shù)創(chuàng)作。在80年代的 10 年中,隨著電腦的開展推廣,電腦桌上排版 Desk Top Publishing,DTP和數(shù)字印前行業(yè) Prepress得以迅速開展,使電腦的輸出展現(xiàn)出新的面貌。通過專業(yè)的設(shè)備,圖像自電腦直接輸
23、出的精度、準(zhǔn)確和美觀的程度,幾乎可以同照片媲美,甚至在某些方面遠(yuǎn)遠(yuǎn)超出照片的效果。精品文檔歡迎下載2.1.3 OpenNIOpenNI開放式的自然交互 是一個(gè)由業(yè)界領(lǐng)導(dǎo)的非營(yíng)利組織。該組織專注與提高和改善自然交互設(shè)備 ,應(yīng)用軟件的互操作能力。通過使用這些硬件和中間件軟件 ,來(lái)很方便的訪問和使用一些設(shè)備。 該組織創(chuàng)立于 2021 年 11 月,網(wǎng)站與 12 月 8 號(hào)正式公開。主要成員之一是 PrimeSense 公司,Kinect 的核心芯片正是這家公司提供的。其他成員還有:開發(fā) ROS 的機(jī)器人公司 Willow Garage,以及游戲公司 Side-Kick 。 OpenNI(開放自然交互
24、 )是一個(gè)多語(yǔ)言,跨平臺(tái)的框架,它定義了編寫應(yīng)用程序,并利用其自然交互的 API。OpenNI API 由一組可用來(lái)編寫通用自然交互應(yīng)用的接口組成。 OpenNI 的主要目的是要形成一個(gè)標(biāo)準(zhǔn)的 API,來(lái)搭建以下兩方面之間通信的橋梁: 第一是視覺和音頻傳感器 包括分析周圍環(huán)境的設(shè)備 ; 第二是視覺和音頻感知中間件 用于實(shí)時(shí)的記錄音頻和視覺分析的數(shù)據(jù)并理解它們的軟件組件 。 例如,一個(gè)中間件可以接收一副有人的圖像,計(jì)算并返回人手掌在圖像中的位置。OpenNI 提供了一組基于傳感器設(shè)備的 API,以及一組由中間件組件1實(shí)現(xiàn)的 API。通過打破傳感器和中間件之間的依賴,使用OpenNI的 API 編
25、寫應(yīng)用程序就不需要額外的努力去處理由不同的中間件共存帶來(lái)的問題跨平臺(tái) 。 OpenNI 的 API 還允許開發(fā)人員直接基于最原始的數(shù)據(jù)格式編寫中間件上層的算法,而不管這些數(shù)據(jù)是由哪個(gè)傳感器設(shè)備產(chǎn)生的。同時(shí)OpenNI 的這種機(jī)制給了傳感器制造商一個(gè)充分的自由空間去制造自己的傳感器而不用考慮上層 OpenNI 兼容的應(yīng)用程序。 OpenNI API 使得自然交互應(yīng)用開發(fā)人員通過傳感器輸出的標(biāo)準(zhǔn)化了的數(shù)據(jù)類型來(lái)處理真實(shí)的三維數(shù)據(jù) 這些標(biāo)準(zhǔn)化的數(shù)據(jù)類型可以表示人體全身,手的位置,或者僅僅是一個(gè)含有深度信息的像素圖等 。編寫應(yīng)用程序的時(shí)候不用考慮傳感器或中間件供給商相關(guān)的細(xì)節(jié)。 OpenNI 是微軟的
26、 xbox 360 配件 kinect,在 PC 上的開源驅(qū)動(dòng)必須安裝的一個(gè) API。精品文檔歡迎下載2.1.4 3ds Max在應(yīng)用范圍方面,廣泛應(yīng)用于廣告、影視、工業(yè)設(shè)計(jì)、建筑設(shè)計(jì)、多媒體制作、游戲、輔助教學(xué)以及工程可視化等領(lǐng)域。擁有強(qiáng)大功能的3DS MAX 被廣泛地應(yīng)用于電視及娛樂業(yè)中,比方片頭動(dòng)畫和視頻游戲的制作,深深扎根于玩家心中的勞拉角色形象就是3DS MAX 的杰作。在影視特效方面也有一定的應(yīng)用。而在國(guó)內(nèi)開展的相比照擬成熟的建筑效果圖和建筑動(dòng)畫制作中,3DS MAX 的使用率更是占據(jù)了絕對(duì)的優(yōu)勢(shì)。根據(jù)不同行業(yè)的應(yīng)用特點(diǎn)對(duì) 3DS MAX 的掌握程度也有不同的要求,建筑方面的應(yīng)用相
27、對(duì)來(lái)說要局限性大一些,它只要求單幀的渲染效果和環(huán)境效果,只涉及到比擬簡(jiǎn)單的動(dòng)畫;片頭動(dòng)畫和視頻游戲應(yīng)用中動(dòng)畫占的比例很大,特別是視頻游戲?qū)巧珓?dòng)畫的要求要高一些;影視特效方面的應(yīng)用那么把3DS MAX 的功能發(fā)揮到了極至。特點(diǎn):第一,功能強(qiáng)大,擴(kuò)展性好 。建模功能強(qiáng)大,在角色動(dòng)畫方面具備很強(qiáng)的優(yōu)勢(shì),另外豐富的插件也是其一大亮點(diǎn) 。第二,操作簡(jiǎn)單,容易上手 。與強(qiáng)大的功能相比, 3ds max 可以說是最容易上手的 3D 軟件。第三,和其它相關(guān)軟件配合流暢 。第四,做出來(lái)的效果非常的逼真 。本系統(tǒng)中需要用 3DS MAX 來(lái)進(jìn)行房屋、各種家具、裝飾品以及人物模型的建模。2.1.5 KinectK
28、inect 是微軟在 2021 年 6 月 14 日對(duì) XBOX360 體感周邊外設(shè)正式發(fā)布的名字。Natal 為開發(fā)代號(hào)。伴隨 Kinect 名稱的正式發(fā)布, Kinect 還推出了多款配套游戲,包括 Lucasarts 出品的?星球大戰(zhàn)?、MTV 推出的跳舞游戲、寵物游戲、運(yùn)動(dòng)游戲 ?Kinect Sports?、冒險(xiǎn)游戲?Kinect Adventure?、賽車游戲?Joyride?等。圖 2-1 Kinect精品文檔歡迎下載Natal 微軟在 2021 年 6 月 2 日的 E3 大展上。正式公布的 XBOX360 體感周邊外設(shè)。Natal 徹底顛覆了游戲的單一操作。使人機(jī)互動(dòng)的理念更
29、加徹底的展現(xiàn)出來(lái)。 它是一種 3D 體感攝影機(jī)(開發(fā)代號(hào)“Project Natal),同時(shí)它導(dǎo)入了即時(shí)動(dòng)態(tài)捕捉、影像辨識(shí)、麥克風(fēng)輸入、語(yǔ)音辨識(shí)、社群互動(dòng)等功能。 玩家可以通過這項(xiàng)技術(shù)在游戲中開車、與其他玩家互動(dòng)、通過互聯(lián)網(wǎng)與其他 Xbox 玩家分享圖片和信息等。 微軟互動(dòng)娛樂業(yè)務(wù)副總裁唐 馬特里克(Don Mattrick)說:“這個(gè)技術(shù)讓我們?cè)诓挥贸鍪坌轮鳈C(jī)的情況下就可以步入一個(gè)互動(dòng)娛樂的新紀(jì)元。唐馬特里克還說: “先前,有種障礙把電動(dòng)游戲玩家和所有人都分隔了開,“現(xiàn)在,有了 Natal,大家都能參加游戲,使用創(chuàng)造史上最棒的遙控器你。 微軟在洛杉磯的 E3 電子娛樂展上揭示 Natal 技
30、術(shù)。這場(chǎng)娛樂展正好辦在電玩產(chǎn)業(yè)的轉(zhuǎn)折期。過去電玩產(chǎn)業(yè)都被認(rèn)為對(duì)經(jīng)濟(jì)衰退免疫,但是有跡象顯示整體產(chǎn)業(yè)成長(zhǎng)有減緩的跡象。 微軟的 Natal 不需要使用任何控制器;它是依靠相機(jī)捕捉 三維空間中玩家的運(yùn)動(dòng)。微軟指出它會(huì)讓系統(tǒng)更加簡(jiǎn)易操作來(lái)吸引群眾。 這個(gè)系統(tǒng)也辨識(shí)人臉,讓玩家自動(dòng)連上游戲。它還可識(shí)別聲音和接受命令。 在游戲示范中,玩家們用腳踢僅存在于屛幕中的足球,并用伸手設(shè)法攔阻進(jìn)球。在駕駛游戲中,玩家轉(zhuǎn)動(dòng)想像中的方向盤來(lái)操控電視游戲中的賽車。在繪畫游戲,玩家那么是說出顏色 -“藍(lán)色或“淺褐色-然后搖擺雙臂來(lái)在數(shù)碼式畫板上飛濺一片油漆。2.2 運(yùn)行環(huán)境硬件:COREi7 4GB 內(nèi)存電腦一臺(tái)、 Ki
31、nect 一臺(tái)、數(shù)據(jù)轉(zhuǎn)換線一根。軟件:window7 系統(tǒng)、photoshop4、3DS MAX2021、openni 驅(qū)動(dòng)、unity3D 3.5。精品文檔歡迎下載3.系統(tǒng)設(shè)計(jì)3.1 應(yīng)用關(guān)卡設(shè)計(jì)應(yīng)用總共分為三個(gè)關(guān)卡,每關(guān)有不同的玩法,讓玩家體驗(yàn)不同的游戲性。3.1.1 應(yīng)用第一關(guān)設(shè)計(jì)應(yīng)用第一關(guān):本關(guān)為初始關(guān)卡,是需要由兩個(gè)玩家,通過對(duì)戰(zhàn)的形式,共同進(jìn)行游戲的。游戲開始,時(shí)間限制為每局60 秒,從天上會(huì)隨機(jī)掉下假設(shè)干金幣,玩家需要通過 Kinect 識(shí)別手勢(shì),對(duì)皮影進(jìn)行移動(dòng)控制,成功接住天上掉下來(lái)的金幣后,方可得分。兩個(gè)玩家通過反響速度,以及對(duì)掉落金幣位置的判斷,來(lái)獲得盡可能多的金幣。最終6
32、0 秒到時(shí),獲得分?jǐn)?shù)高的玩家獲勝。3.1.2 應(yīng)用第二關(guān)設(shè)計(jì)應(yīng)用第二關(guān):本關(guān)是需要由一個(gè)玩家來(lái)獨(dú)立進(jìn)行,完成游戲的。游戲開始,玩家通過 Kinect 識(shí)別手勢(shì),對(duì)皮影進(jìn)行移動(dòng)控制,通過向前、向后、跳起、發(fā)炮等一系列動(dòng)作,突破重重困難,取得最后的道具獲得勝利。游戲中有計(jì)分系統(tǒng)、判定死亡系統(tǒng)、碰撞識(shí)別系統(tǒng)、以及爆炸系統(tǒng)等。3.1.3 應(yīng)用第三關(guān)設(shè)計(jì)應(yīng)用第三關(guān)是有一個(gè)玩家來(lái)進(jìn)行游戲。游戲開始,玩家通過Kinect 識(shí)別手勢(shì)對(duì)皮影進(jìn)行控制,向前、向后、跳起、發(fā)炮等一系列動(dòng)作,突破重重困難,取得最后的道具獲得勝利。游戲中有計(jì)分系統(tǒng)、判定死亡系統(tǒng)、碰撞識(shí)別系統(tǒng)、以及爆炸系統(tǒng)等。精品文檔歡迎下載4.系統(tǒng)實(shí)現(xiàn)
33、4.1 應(yīng)用的開始場(chǎng)景開始場(chǎng)景實(shí)現(xiàn)了按鈕在屏幕上響應(yīng)鼠標(biāo) 點(diǎn)擊,點(diǎn)擊開始游戲,游戲即進(jìn)入關(guān)卡選擇界面,點(diǎn)擊退出游戲,那么退出游戲。 通過體感設(shè)備,玩家同樣可以通過手勢(shì)識(shí)別來(lái)來(lái)控制屏幕中的按鈕來(lái)點(diǎn)擊按鈕。游戲的開始界面。圖 4-1 開始界面4.1.1 場(chǎng)景的選擇按鈕樣式開始按鈕樣式,點(diǎn)擊前與點(diǎn)擊后。public void OnGUI()if(NIGUI.Button(new Rect(450,30,45,45),)Application.LoadLevel(0); 精品文檔歡迎下載圖 4-2 開始按鈕退出按鈕樣式,點(diǎn)擊前與點(diǎn)擊后。圖 4-3 退出按鈕4.2 應(yīng)用的選擇關(guān)卡場(chǎng)景應(yīng)用的選關(guān)場(chǎng)景是玩家
34、點(diǎn)擊玩開始界面中的開始按鈕以后,出現(xiàn)的一個(gè)游戲選擇的界面,玩家可以通過這個(gè)界面選擇想要玩的關(guān)卡。這個(gè)界面主要是以按鈕為主,同樣是可以通過鼠標(biāo)或者體感設(shè)備來(lái)控制,去點(diǎn)擊按鈕。圖 4-4 選擇關(guān)卡4.3 應(yīng)用的第一關(guān)本關(guān)考驗(yàn)的是玩家的反響能力,在規(guī)定的時(shí)間內(nèi),從屏幕的上面隨機(jī)掉下金幣,兩個(gè)游戲角色去搶奪從天上掉下的金幣,當(dāng)時(shí)間為零時(shí),獲得分?jǐn)?shù)精品文檔歡迎下載多的玩家獲勝,獲得分?jǐn)?shù)少的玩家失敗。圖 4-5 第一關(guān)游戲 效果圖4.3.1 時(shí)間的倒計(jì)時(shí)顯示時(shí)間的倒數(shù),以及時(shí)間到零的時(shí)候,顯示結(jié)束畫面。在游戲時(shí)間到了以后,不再生成金幣。倒計(jì)時(shí)。#pragma strictvar skin:GUISkin;
35、var totalTime:int =60;var timeLeft:int = 0;private var startTime:int;private var showEnd :boolean= false;function Start () startTime = totalTime+Time.time;spawn=GameObject.Find(SpawnObject);function Update () timeLeft = startTime - Time.time;/if(timeLeft=0)showEnd = true;spawn.active = false;if(time
36、Left0)timeLeft = 0;精品文檔歡迎下載顯示剩余時(shí)間 。4.3.2 金幣的生成金幣對(duì)象。下次降落金幣的時(shí)間。降落金幣的頻率。每隔一個(gè)金幣降落的時(shí)間段 降落金幣一次。生成金幣,以及金幣掉落的隨機(jī)坐標(biāo)。GUI.Label(Rect(Screen.width /2 -100,10,400,40),Time: + timeLeft);var eggPrefab:Transform ;private var nextEggTime:float = 0.0f;private var spawnRate:float= 1.5f;if (nextEggTime malePlayer.maleSc
37、ore)finalResult = Girl Win;else if (femalePlayer.femaleScoremalePlayer.maleScore)finalResult = Boy Win;elsefinalResult = Same Score;精品文檔歡迎下載的實(shí)現(xiàn)會(huì)支持不同的關(guān)節(jié)。其次就是對(duì)已經(jīng)實(shí)現(xiàn)的動(dòng)作進(jìn)行更新, 1更新模型的位置:以骨架作為一個(gè)整體的根底,然后移動(dòng)軀干的位置。 2更新關(guān)節(jié)的位置:要符合邏輯情況,判斷關(guān)節(jié)是否連接到新的位置上。3更新關(guān)節(jié)定位:關(guān)節(jié)是否應(yīng)該改變與自己的方向相匹配的骨架。決定何時(shí)使用關(guān)節(jié)的位置和方向取決于模型由腳本控制的類型。一個(gè)被操縱的模型
38、,準(zhǔn)備這樣一個(gè)共同的方向改變,改變它相連的關(guān)節(jié)的位置。使腳本改變自己的立場(chǎng),這將干擾和不自然的方式,使模型拉伸,因此被操縱的模型,只有方向應(yīng)加以控制,而不是位置。4縮放限制:由于游戲中模型的大小與現(xiàn)實(shí)玩家的大小是由差異的,為了不發(fā)生不符合現(xiàn)實(shí)的縮放,要協(xié)調(diào)統(tǒng)一坐標(biāo)轉(zhuǎn)換規(guī)模。最后是線調(diào)試對(duì)象,線調(diào)試對(duì)象是負(fù)責(zé)制訂共同的立場(chǎng)之間的線路。分別通過 NISkeletonControllerLineDebugger 腳本SkeletonLineDebugger 預(yù)制和 NISkeletonControllerLineRenderer 腳本SkeletonLineRenderer 預(yù)制。圖 4-6 模型控
39、制圖第四步,完成對(duì)模型的預(yù)制。 綜合這些步驟,使得玩家可以通過kinect 設(shè)備識(shí)別玩家身體,然后進(jìn)行對(duì)游戲中模型的各種控制。4.4 應(yīng)用的第二關(guān)與第三關(guān)玩家控制小人在平臺(tái)之間跳躍,躲避正方形敵人,撿起蘋果和電池,蘋果可以加積分,電池可以加能量,當(dāng)玩家的能量為零時(shí),游戲結(jié)束,當(dāng)玩家到底終點(diǎn)時(shí),玩家挑戰(zhàn)成功。精品文檔歡迎下載圖 4-7 第二關(guān)游戲效果圖4.4.1 發(fā)射子彈系統(tǒng)按下鼠標(biāo)左鍵,發(fā)射子彈。4.4.2 生命值的控制當(dāng)游戲角色碰到方形危險(xiǎn)品時(shí),生命值會(huì)減少一點(diǎn),當(dāng)游戲角色生命值為零時(shí),游戲結(jié)束。function Update()if (Input.GetMouseButtonDown(0)
40、 transform.FindChild(eye).gameObject.GetComponent(gunlogic).Fire();function hit()health-;if(health=0)animation.CrossFade(dying);isDead=true;function Update () if(health1)Destroy(this.gameObject);精品文檔歡迎下載4.4.3 增加生命值與減少生命值的物品蘋果與電池,吃到他們會(huì)增加分?jǐn)?shù)和一點(diǎn)生命值。4.4.4 攝像機(jī)系統(tǒng)設(shè)置攝像機(jī)跟隨著游戲人物一直到游戲結(jié)束。跟隨對(duì)象跟隨距離緩存跟隨的目標(biāo)對(duì)象X 軸坐標(biāo)始終
41、保持一直Y 軸坐標(biāo)跟隨人物的跳動(dòng)而改變function OnTriggerEnter(theObject:Collider)if(theObject.gameO=Bot)var newSparkles:GameObject=Instantiate(sparkles,transform.position,transform.rotation);GameController.totalScore +=10;Destroy(gameObject);var target:GameObject;var dis:float=0;private var targetY:float;tra
42、nsform.position.x=target.transform.position.x;if(RobotController.grounded)targetY=target.transform.position.y+dis;elsetargetY=target.transform.position.y-dis;transform.position.y-=(transform.position.y-targetY)/20;精品文檔歡迎下載4.4.5 游戲角色的控制系統(tǒng)游戲開始時(shí), kinect 設(shè)備會(huì)先對(duì)玩家的肢體以及位置進(jìn)行識(shí)別,當(dāng)識(shí)別好玩家以后,屏幕中的皮影模型會(huì)跟著玩家的動(dòng)作而運(yùn)動(dòng)。第
43、一步,將模型導(dǎo)入。將一個(gè)綁定好骨骼的模型完整的導(dǎo)入到所需要的游戲場(chǎng)景中,這個(gè)模型的格式需要使用FBX 格式。第二步,修復(fù)模型。一個(gè)完整的模型中的動(dòng)畫是不需要的,所以要將動(dòng)畫的組件刪除,然后將模型調(diào)整成一個(gè) “T型,即身體直立,雙臂側(cè)平舉180。在調(diào)整的過程中,有的一些小的關(guān)節(jié)會(huì)出現(xiàn)不平的情況,我通過調(diào)整關(guān)節(jié)的上下方向的數(shù)據(jù)進(jìn)行微調(diào)。第三步,連接骨骼控制器。首先是添加NISkeletonController 腳本給導(dǎo)入的模型,這個(gè)腳本是負(fù)責(zé)控制骨架。然后是關(guān)節(jié)的控制局部,其中包括頭部、頸部、軀干、手等,這些都是可以被NISkeletonController 腳本所控制的關(guān)節(jié)。將這些關(guān)節(jié)都賦予 N
44、ISkeletonController 腳本,為隨后的的體感控制做好準(zhǔn)備。 OpenNI 不同的實(shí)現(xiàn)會(huì)支持不同的關(guān)節(jié)。其次就是對(duì)已經(jīng)實(shí)現(xiàn)的動(dòng)作進(jìn)行更新,1更新模型的位置:以骨架作為一個(gè)整體的根底,然后移動(dòng)軀干的位置。2更新關(guān)節(jié)的位置:要符合邏輯情況,判斷關(guān)節(jié)是否連接到新的位置上。3更新關(guān)節(jié)定位:關(guān)節(jié)是否應(yīng)該改變與自己的方向相匹配的骨架。決定何時(shí)使用關(guān)節(jié)的位置和方向取決于模型由腳本控制的類型。一個(gè)被操縱的模型,準(zhǔn)備這樣一個(gè)共同的方向改變,改變它相連的關(guān)節(jié)的位置。使腳本改變自己的立場(chǎng),這將干擾和不自然的方式,使模型拉伸,因此被操縱的模型,只有方向應(yīng)加以控制,而不是位置。 4縮放限制:由于游戲中模型
45、的大小與現(xiàn)實(shí)玩家的大小是由差異的,為了不發(fā)生不符合現(xiàn)實(shí)的縮放,要協(xié)調(diào)統(tǒng)一坐標(biāo)轉(zhuǎn)換規(guī)模。最后是線調(diào)試對(duì)象,線調(diào)試對(duì)象是負(fù)責(zé)制訂共同的立場(chǎng)之間的線路。分別通過NISkeletonControllerLineDebugger 腳本 SkeletonLineDebugger 預(yù)制和NISkeletonControllerLineRenderer 腳本 SkeletonLineRenderer 預(yù)制。第四步,完成對(duì)模型的預(yù)制。 綜合這些步驟,使得玩家可以通過kinect 設(shè)備識(shí)別玩家身體,然后進(jìn)行對(duì)游戲中模型的各種控制。精品文檔歡迎下載5.系統(tǒng)測(cè)試5.1 程序調(diào)試在設(shè)計(jì)系統(tǒng)的過程中,存在一些錯(cuò)誤是必然的
46、。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比擬容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。另外,Kinect 是一個(gè)需要識(shí)別人物各個(gè)肢體動(dòng)作的的設(shè)備,需要更嚴(yán)謹(jǐn)?shù)奈恢脜?shù)的設(shè)定。精品文檔歡迎下載5.2 程序的測(cè)試軟件測(cè)試的意義在于,保證發(fā)布出去的產(chǎn)品到達(dá)了一定的質(zhì)量標(biāo)準(zhǔn)。軟件測(cè)試工程師的工作就是利用測(cè)試工具按照測(cè)試方案和流程對(duì)產(chǎn)品進(jìn)行功能和性能測(cè)試,甚至根據(jù)需要編寫不同的測(cè)試工具,設(shè)計(jì)和維護(hù)測(cè)試系統(tǒng),對(duì)測(cè)試方案
47、可能出現(xiàn)的問題進(jìn)行分析和評(píng)估。執(zhí)行測(cè)試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求 。使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差異。它是幫助識(shí)別開發(fā)完成的計(jì)算機(jī)軟件的正確度、完全度和質(zhì)量的軟件過程。5.2.1 測(cè)試的重要性及目的 測(cè)試的重要性測(cè)試應(yīng)用系統(tǒng)的重要性是不言而喻的,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來(lái),軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測(cè)試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果
48、不在早期階段進(jìn)行測(cè)試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測(cè)試的巨大困難。在軟件開發(fā)的總本錢中,用在測(cè)試上的開銷要占 30到 50。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測(cè)試的本錢比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至屢次開發(fā),其中必定還包含有許多測(cè)試工作。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度。雖然,為了解決一個(gè)錯(cuò)誤會(huì)用上很長(zhǎng)時(shí)間與精力,但是測(cè)試是必須的,絕不能簡(jiǎn)單的敷衍了事,將存在的問題一一解決了,才能是制作出來(lái)的應(yīng)用系統(tǒng)更加完整。 測(cè)試的目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)
49、試就應(yīng)該直接針對(duì)軟件比擬復(fù)雜的局部或是以前出錯(cuò)比擬多的位置。第一,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程 ;第二,測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤 ;精品文檔歡迎下載第三,一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;第四,一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的,事實(shí)并非如此。 首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助工程管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過
50、程的缺陷,以便改良。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。 5.2.2 測(cè)試的步驟 第一,模塊測(cè)試:在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。 第二,系統(tǒng)測(cè)試:在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說明中的錯(cuò)誤。 5.2.3 測(cè)試的主要內(nèi)容 第一,單元測(cè)試 單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位 模塊上,通過測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。 第二,系統(tǒng)測(cè)試 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他局部配套運(yùn)行,進(jìn)行
51、系統(tǒng)測(cè)試。包括功能測(cè)試、平安測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。5.3 應(yīng)用的最后生成最后將整個(gè)應(yīng)用測(cè)試完成無(wú)誤以后,會(huì)將游戲輸出一個(gè).exe 格式應(yīng)用程序,分辨是 1024*768,這個(gè)格式應(yīng)用配上原有的數(shù)據(jù)包,可以在任何的電腦上進(jìn)行游戲。精品文檔歡迎下載結(jié)論圖 6-1 游戲完成效果圖圖 6-2 游戲失敗效果圖以上的兩幅圖分別是每關(guān)完成時(shí)候的游戲效果圖,有成功的、有失敗的。精品文檔歡迎下載自從畢業(yè)設(shè)計(jì)的正式開始,選題是利用Unity3D 作為設(shè)計(jì)的根底,再利用微軟公司新出的 xbox 中的 kinect 設(shè)備的進(jìn)行游戲控制的體感應(yīng)用,這是一個(gè)全新的嘗試,每一項(xiàng)都需要去學(xué)習(xí),在學(xué)習(xí)的過程中,我對(duì)本專業(yè)
52、的根本理論、專業(yè)知識(shí)和根本技術(shù)進(jìn)行了梳理,并有了更深入的了解,使我在四年中所學(xué)到的知識(shí)得到了升華,并且還能在畢業(yè)設(shè)計(jì)的制作過程中學(xué)到新的知識(shí)。首先,通過任務(wù)書中的內(nèi)容,以及所需要的一些重要資料,在網(wǎng)上進(jìn)行查找,并且將這些知識(shí)進(jìn)行匯總,整理好備用,為以后的制作提供方便。這個(gè)應(yīng)用主要是利用 unity3D 進(jìn)行系統(tǒng)整體框架的搭建, 然后做出一系列相關(guān)的根底設(shè)置。但是 unity3D 對(duì)于我來(lái)說還是比擬陌生的,因?yàn)樵诖髮W(xué)期間,對(duì) unity3D 的學(xué)習(xí)只是些粗淺的入門知識(shí),這就使得我對(duì)unity3D 的了解,僅僅局限在那些相比照擬寬泛的根底知識(shí)層面上。但這些粗淺的概念和簡(jiǎn)單的根底知識(shí),對(duì)于我此次要做
53、的游戲應(yīng)用的制作來(lái)說,顯然是遠(yuǎn)遠(yuǎn)不夠的,那么這就需要我對(duì)很多專業(yè)性知識(shí)進(jìn)行更深一步的學(xué)習(xí)與研究,將以前學(xué)的知識(shí)最大化。然而在我尋找學(xué)習(xí)途徑和相關(guān)書籍、資料時(shí)發(fā)現(xiàn),這款軟件剛剛在大陸發(fā)行不久,所以中文文獻(xiàn)很少,這便進(jìn)一步增加了我學(xué)習(xí)的難度。然而,這些困難并沒有阻止我不斷探索、學(xué)習(xí)的愿望。在這期間我通過自己的努力,到國(guó)家圖書館查閱了大量的資料, 查看各種關(guān)于 unity3D 的網(wǎng)站和參與一些由 Unity 相對(duì)專業(yè)的人士以及愛好者組織的討論組,通過我的學(xué)習(xí)對(duì)此軟件有了更加深刻的了解,應(yīng)用的也更加熟練。然后,比 Unity3D 更加困難的就是 kinect 的使用。這是一個(gè)全新的設(shè)備,不管是從硬件還
54、是軟件。由于是要通過Unity3D 這個(gè)軟件進(jìn)行開發(fā),所以不能使用微軟公司自己的驅(qū)動(dòng)來(lái)進(jìn)行安裝,只能用另一個(gè)驅(qū)動(dòng)程序openni 來(lái)對(duì) kinect 進(jìn)行開發(fā)。Unity3D 程序里根本上是使用 JavaScript來(lái)進(jìn)行腳本的編輯,而 openni 需要用 C#進(jìn)行腳本編輯,在這里就需要將這兩種腳本進(jìn)行互相的改編 。接著就是這次畢業(yè)設(shè)計(jì)的一個(gè)重要的環(huán)節(jié),團(tuán)隊(duì)合作。這個(gè)題目是要我和一名藝術(shù)的學(xué)生一起合作完成。我主要負(fù)責(zé)框架的建設(shè)、代碼的編寫、游戲的設(shè)置等工作,而藝術(shù)的同學(xué)需要進(jìn)行美工的設(shè)計(jì)、模型的制作、游戲的籌劃等工作。這種合作是在以前的學(xué)習(xí)中沒有的,這是對(duì)社會(huì)接軌的一個(gè)很好的嘗試,讓我們更加
55、熟悉團(tuán)隊(duì)合作完成一項(xiàng)工程,使我們提高團(tuán)隊(duì)精神。精品文檔歡迎下載最后,總結(jié)這次在我的程序設(shè)計(jì)過程中,我感覺到書本上的知識(shí)是不夠的,只有把理論與實(shí)踐相結(jié)合才能夠真正的學(xué)到知識(shí)。同時(shí),系統(tǒng)中還存在許多問題,有待在日后的使用中發(fā)現(xiàn)和解決。編程前的深思熟慮是減少程序調(diào)試工作量的重要方法,只有進(jìn)行充分考慮,才會(huì)減少調(diào)試過程中的工作量。雖然在開始寫程序之前做了很多的準(zhǔn)備工作,但在真正的寫程序時(shí)仍然發(fā)現(xiàn)許多問題。 做系統(tǒng)時(shí)剛開始覺得很簡(jiǎn)單,但一真正開始做的時(shí)候才發(fā)現(xiàn)有很多的難題等待我去解決,有的時(shí)候一個(gè)問題剛解決完緊接著又出現(xiàn)了另一個(gè)問題。此次畢業(yè)設(shè)計(jì)提升了我的工程開發(fā)的能力,初步形成了一定的工程開發(fā)思想。精品文檔歡迎下載致謝從論文選題到搜集資料,從寫稿到反復(fù)修改,期間 我經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在 制作畢業(yè)設(shè)計(jì)與 寫作論文的過程中心情是如此復(fù)雜。如今,伴隨著這篇畢業(yè)論文的最終成稿 以及畢業(yè)設(shè)計(jì)的完成 ,復(fù)雜的心情煙消云散,自己甚至還有一點(diǎn)成就感。那種感覺就宛如在一場(chǎng)盛大的頒
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《手術(shù)室醫(yī)院感染控制課件》
- 電視購(gòu)物與多渠道融合營(yíng)銷考核試卷
- 纖維板制造原理考核試卷
- 人工智能在風(fēng)險(xiǎn)評(píng)估中的自然語(yǔ)言處理應(yīng)用考核試卷
- 計(jì)劃生育技術(shù)服務(wù)在災(zāi)害應(yīng)急中的應(yīng)對(duì)措施考核試卷
- 《出血性疾病課件概述》
- 數(shù)字智慧方案5425丨莆田港務(wù)集團(tuán)5G智慧港口項(xiàng)目建設(shè)方案
- 2019-2025年材料員之材料員專業(yè)管理實(shí)務(wù)自我提分評(píng)估(附答案)
- 2025年基金從業(yè)資格證之證券投資基金基礎(chǔ)知識(shí)真題練習(xí)試卷A卷附答案
- 海上風(fēng)電運(yùn)維船安全
- 短語(yǔ)結(jié)構(gòu)類型(七年級(jí)下)
- 廠區(qū)保潔服務(wù)投標(biāo)方案【2024版】技術(shù)方案
- 中國(guó)近現(xiàn)代史考點(diǎn)歸納
- 高考志愿填報(bào)指導(dǎo)高考志愿填報(bào)指南
- 中國(guó)文化概要智慧樹知到期末考試答案章節(jié)答案2024年溫州大學(xué)
- 制作的最好的GRR分析表
- 淄博市2024屆高三二模歷史試題卷(含答案)
- MOOC 人力資源管理-暨南大學(xué) 中國(guó)大學(xué)慕課答案
- MOOC 動(dòng)物學(xué)-華中農(nóng)業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
- (2024年)中華人民共和國(guó)環(huán)境保護(hù)法全
- 中醫(yī)護(hù)理-生活起居的護(hù)理內(nèi)容
評(píng)論
0/150
提交評(píng)論