【畢業(yè)學(xué)位論文】(Word原稿)基于DirectX的3D賽車游戲的設(shè)計(jì)與實(shí)現(xiàn)-軟件制作_第1頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于DirectX的3D賽車游戲的設(shè)計(jì)與實(shí)現(xiàn)-軟件制作_第2頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于DirectX的3D賽車游戲的設(shè)計(jì)與實(shí)現(xiàn)-軟件制作_第3頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于DirectX的3D賽車游戲的設(shè)計(jì)與實(shí)現(xiàn)-軟件制作_第4頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于DirectX的3D賽車游戲的設(shè)計(jì)與實(shí)現(xiàn)-軟件制作_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湖南大學(xué)畢業(yè)論文 第 業(yè)設(shè)計(jì) (論文 ) 設(shè)計(jì) 論文題目 : 3D 賽車游戲的設(shè)計(jì)與實(shí)現(xiàn) 湖南大學(xué)畢業(yè)論文 第 D 湖南大學(xué)畢業(yè)論文 第 3D 賽車游戲的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 3D 賽車游戲是整個(gè)游戲行業(yè)的重要組成, 隨著 游戲行業(yè) 的快速 發(fā)展, 2D 游戲的市場(chǎng)份額已經(jīng)大幅下降,目前 3D 游戲越來(lái)越受廣大玩家的喜愛(ài),特別是 3D 賽車游戲,一直是玩家的寵兒 。 本文實(shí)現(xiàn) 了一款 賽車游戲 ,該游戲 分為場(chǎng)景渲染、賽車渲染、天空渲染、賽車在場(chǎng)景中的漫游、賽車的地形跟蹤系統(tǒng)和碰撞檢測(cè) 等 六部分。場(chǎng)景渲染、賽車渲染和天空渲染構(gòu)成游戲的渲染畫面, 基于 術(shù) 實(shí)現(xiàn)。 賽 車在場(chǎng)景中的漫游、賽車的地形跟蹤系統(tǒng)和碰撞檢測(cè)構(gòu)成了游戲的主要邏輯。 本文在一款游戲引擎的基礎(chǔ)上, 通過(guò)將 第三方軟件制作的游戲場(chǎng)景 模型 和 賽車 模型導(dǎo)入到游戲中,完成 對(duì) 游戲 的初始化 ; 使用天空盒技術(shù)實(shí)現(xiàn) 一 個(gè)比較逼真的天空 ; 通過(guò)輸入模塊完成對(duì)賽車 的 控制 ; 通過(guò)攝像機(jī)類來(lái) 實(shí)現(xiàn) 漫游效果, 通過(guò)汽車類來(lái)實(shí)現(xiàn)汽車的剛體運(yùn)動(dòng),通過(guò)地形 跟蹤 保持 汽車始終 位于地形之上 來(lái)避免賽車穿透地形 ,通過(guò)碰撞系統(tǒng)使汽車始終行駛在賽道上 ,再將這些整合形成 了 三維賽車游戲。 論文最后對(duì)全文進(jìn)行總結(jié),并對(duì)后續(xù)工作進(jìn)行了展望。 關(guān)鍵詞: 三維 , 車 , 游戲 , 地形碰撞檢測(cè) 湖南大學(xué)畢業(yè)論文 第 of D D is an of of D D D is s We a be up of up of of on a a to to o to a to of of to of of to to to on to a 3D 3D, 錄 湖南大學(xué)畢業(yè)論文 第 摘 要 . . 緒論 . 1 題來(lái)源、背景和目的 . 1 課題相關(guān)的國(guó)內(nèi)外研究綜述 . 2 文的內(nèi)容安排 . 4 2 戲引擎和游戲結(jié)構(gòu) . 5 述 . 5 戲引擎 . 6 戲引擎概述 . 6 用的游戲引擎結(jié)構(gòu) . 6 戲結(jié)構(gòu) . 8 章小結(jié) . 9 3 游戲的汽車類模塊、場(chǎng)景渲染、輸入控制 . 10 入檢測(cè)和響應(yīng) . 10 景渲染 . 10 空盒技術(shù) . 11 型運(yùn)用 . 12 照技術(shù) . 15 車 類模塊 . 15 章小結(jié) . 15 4 賽車的碰撞檢測(cè)和測(cè)試 . 17 撞檢測(cè)的相關(guān)技術(shù) . 17 圍盒算法 . 18 戲引擎使用的 撞檢測(cè)簡(jiǎn)要解析 . 21 文采用的碰撞檢測(cè)技術(shù) . 22 點(diǎn) /索引緩沖區(qū) . 23 湖南大學(xué)畢業(yè)論文 第 形的碰撞檢測(cè) . 24 車與物體的碰撞檢測(cè) . 26 試 . 26 章小結(jié) . 27 5 結(jié)論 . 28 致 謝 . 29 參考文獻(xiàn) . 29 附錄 . 30 湖南大學(xué)畢業(yè)論文 第 1頁(yè) 1 緒論 三維賽車游戲是當(dāng)前流行的游戲, 是速度與激情的代表,也代表著當(dāng)今游戲界最頂尖的畫面表現(xiàn), 擁有廣大的玩家 支持 。本文基本實(shí)現(xiàn)了一個(gè)賽車游戲,該游戲有 著較為逼真的游戲場(chǎng)景和簡(jiǎn)單的賽車操作。 題來(lái)源、背景和目的 隨著社會(huì)的發(fā)展進(jìn)步,游戲逐步成為一種重要的休閑娛樂(lè)和教育手段。這種被稱為是第九藝術(shù)的電子游戲起源于西方,是基于電子技術(shù)發(fā)展起來(lái)的一種具有娛樂(lè)性質(zhì)的產(chǎn)業(yè)。隨著電子技術(shù)的不斷發(fā)展和擴(kuò)充,游戲產(chǎn)業(yè)的內(nèi)容也不斷得到豐富,目前的游戲產(chǎn)業(yè)已經(jīng)成為包含計(jì)算機(jī)軟硬件技術(shù)、網(wǎng)絡(luò)技術(shù)以及無(wú)線技術(shù)等最新科技和各種文化藝術(shù)的新型娛樂(lè)產(chǎn)業(yè)。而其中,游戲引擎技術(shù)可謂重中之重,它是整個(gè)游戲產(chǎn)業(yè)的核心技術(shù)。目前中國(guó)的游戲產(chǎn)業(yè)正處在一個(gè)穩(wěn)定上升的發(fā)展階段,中國(guó)將成為全球最大 的游戲市場(chǎng),現(xiàn)在我們所看到的僅僅是冰山之一角。 根據(jù) 統(tǒng)計(jì)結(jié)果 ,如圖 1以看出喜愛(ài)游戲是人類的天性,不分年齡段 1。 圖 1戲用戶年齡分布,性別分布,日常時(shí)間閑暇分配 從游戲的市場(chǎng)規(guī)模來(lái)看, 2000 年中國(guó)的網(wǎng)絡(luò)游戲銷售額僅為 元, 2001 年即達(dá) 元,而 2002 年中國(guó)網(wǎng)絡(luò)游戲市場(chǎng)規(guī)模達(dá)到 元,增長(zhǎng)率為 根據(jù) 003 年 12 月的最新研究, 2003 年中國(guó)網(wǎng)絡(luò)游戲用戶數(shù)量達(dá)到 1380 萬(wàn),比 2002年增長(zhǎng) 占同年 戶數(shù)的 到 2007 年中國(guó)網(wǎng)絡(luò)游戲用戶數(shù)將達(dá)到4180 萬(wàn),從 2002 年到 2007 年這 5 年的年復(fù)合增長(zhǎng)率將達(dá)到 屆時(shí)網(wǎng)絡(luò)游戲用戶將占到 戶的 2。 湖南大學(xué)畢業(yè)論文 第 2頁(yè) 賽車是世界上的頂級(jí)運(yùn)動(dòng),它使人們充滿對(duì)速度的渴望然而這項(xiàng)運(yùn)動(dòng)的贅用和危險(xiǎn)同樣高得驚人,以致令絕大多數(shù)愛(ài)好者望塵奠及,這些人不得不終日守在電視機(jī)前,借助想象力揣摩著車手究竟是如何駕駛賽車。 80 年代,電腦科技的迅猛發(fā)展改變了人們的生活,初出茅廬的虛擬技術(shù)使全世界車迷依稀觸摸到速度的魔影;進(jìn)入 90 年代,賽車游戲也進(jìn)入到一個(gè)高速發(fā)展時(shí)期 ,模擬度越來(lái)越高的優(yōu)秀作品不斷給玩家和車迷帶來(lái)驚喜;到了 21 世紀(jì),電腦賽車游戲產(chǎn)業(yè)已發(fā)展到一個(gè)相當(dāng)完善的程度,某些高水平作品的模擬度甚至達(dá)到 90以上。今天,就讓我們踏上富于傳奇色彩的速度之旅,來(lái)回顧 那些擁有無(wú)上經(jīng)典的電腦賽車游戲。 1985 年 ,對(duì)于剛剛誕生的電腦賽車游戲來(lái)說(shuō),這是一個(gè)相對(duì)幼稚的歷史時(shí)期,落后的電腦硬件還不足以使程序員營(yíng)造出逼真的視聽效果和駕駛感覺(jué)。這一時(shí)代的經(jīng)典賽車游戲有:風(fēng)馳電掣,馬達(dá)城市,名車志,世紀(jì)金冠軍,印地大賽車,云斯頓賽車。 1996 年 , 1996 年,英特爾奔騰一代中央處理器掀起了電腦硬件革命,電腦賽車游戲也由此翻開了嶄新的篇章。性能游戲的 賽車游戲的表現(xiàn)力大為提升,程序引擎被個(gè)大公司大幅改進(jìn)和優(yōu)化,深?yuàn)W的物理法則和高等數(shù)學(xué)也被引入其中。電腦賽車游戲進(jìn)入高速發(fā)展時(shí)期。代表作有:世紀(jì)金冠軍 2,拉力冠軍, 程式賽車,摩托英豪,虛擬一級(jí)方程式大獎(jiǎng)賽,橫沖直撞,星球大戰(zhàn)前傳之極速飛梭, 奇,世嘉拉力 2 3。 一款好的賽車是一個(gè)公司技術(shù)實(shí)力和策劃能力的體現(xiàn),能創(chuàng)造巨大的 經(jīng)濟(jì)、社會(huì)效益 。 課題相關(guān)的國(guó)內(nèi)外研究綜述 極品飛車目前可能是最受歡迎的賽車游戲,第一代作品誕生于 1995,到目前已經(jīng)誕生了 13 代作品。 在極品飛車中,玩家可以中仿照真實(shí)的地下改裝車輛一般對(duì)自己的愛(ài)車進(jìn)行從里到外的全面改造,當(dāng)然,這是需要通過(guò)在游戲中獲得比賽勝利,依靠獎(jiǎng)金來(lái)實(shí)現(xiàn)的。高速奔馳下前方道路和環(huán)境移動(dòng)的效果逼真絢麗。不論是黑夜中高樓林立的城市,眩目的霓虹燈殘影,還是四周景物因高速而產(chǎn)生模糊效果都制作得非常細(xì)致。漂移、沖刺等 湖南大學(xué)畢業(yè)論文 第 3頁(yè) 等多種花樣技巧的引入,使這款游戲具備了單純競(jìng)速所不具備的快感。至于 “ 輔助駕駛開關(guān) ” 也 讓游戲在駕駛和競(jìng)速方面得到了一定的平衡,給系統(tǒng)融入了新的活力。游戲的音響效果也非常好細(xì)膩,甚至連變速箱齒輪咬合的聲音都被真實(shí)呈現(xiàn),加上貫穿游戲的節(jié)奏感極強(qiáng)的搖滾樂(lè),所有這些視覺(jué)、聽覺(jué)上的高水準(zhǔn)制作使得極品飛車逼真的刻畫出深受西方年輕人喜愛(ài)的改車、飚車世界。 提供多種玩法,單人游戲分為快速模式、生涯模式兩種。在快速模式中,玩家可以選擇已解開的地圖和車輛進(jìn)行選定的比賽。而解開這些地圖和車輛也需要在生涯模式中得到,所以生涯模式才是極品飛車的精髓所在。生涯模式就是故事模式,玩家扮演一個(gè)在鄉(xiāng)村比賽中受傷的車手 ,養(yǎng)好傷之后來(lái)到城市里并且在各種比賽中贏取金錢和名聲,最后終于讓自己和之前讓自己受傷的車手決一死戰(zhàn)。在故事模式中,玩家可以享受到高自由度的車輛配件組專,車體商店可以更改車燈、車頭、引擎蓋、防撞欄之類的組件,可以在眾多不同樣式的組件中選擇自己最喜歡的配件組裝,組裝后可以在畫面右邊看到評(píng)價(jià)星級(jí)。圖案商店,主要為車輛進(jìn)行噴涂油漆,以及各種貼紙、花紋以及車燈等。除了車身外,車頂、后視鏡、擾流板、剎車、輪圈等都可以分別涂上不同顏色。車身上的花紋可從許多花紋中選擇一種或者幾種進(jìn)行自由搭配,可以將你的愛(ài)車打造得個(gè)性并且炫 目。而車輛配件商店則負(fù)責(zé)定制車輛的儀表盤,霓虹燈,液壓裝置等。車展銷售中心可以買到許多車型。 有多種比賽方式,比賽分為平常比賽和地下賽車聯(lián)盟的正式比賽( 平常比賽可以選擇參加,而 必須參加而且只有完成 能夠進(jìn)入下一個(gè)賽事。平常比賽中又包括 “ 跑道賽 ”“ 競(jìng)速賽 ”“ 直線加速賽 ”“ 甩尾賽 ”“ 街道賽 ” 等五個(gè)類型,各種類型所需要的技術(shù)和車輛都不同。跑道賽的賽場(chǎng)多是環(huán)城公路,甚至市區(qū)的街道,整個(gè)賽道為一個(gè)封閉的圓圈,車手們必須駕車行駛指定的圈數(shù),以先完成全部圈道者為勝利。跑道賽對(duì)車的綜合素 質(zhì)要求比較高,減速過(guò)彎、直線加速、車輛的閃避甚至道路的選擇都對(duì)比賽結(jié)果有很大的影響。開跑道賽所選擇的車必須是集速度和操控性于一身,任何一個(gè)方面有欠缺都會(huì)吃大虧。競(jìng)速賽和跑道賽基本相同,不過(guò)賽道是線形的而不是跑道賽一樣環(huán)形的。直線加速賽的賽場(chǎng)大多安排在筆直的高速公路、火車站甚至飛機(jī)場(chǎng),車手不需要擔(dān)心減速過(guò)彎的問(wèn)題,僅僅需要將自己的車以最短的時(shí)間加到最 湖南大學(xué)畢業(yè)論文 第 4頁(yè) 快的速度。在直線加速賽中,唯一的限制是必須使用手動(dòng)換檔,使用默認(rèn)的左 左 行加檔或降檔 雖然幾乎沒(méi)有機(jī)會(huì)用到降檔。對(duì)于這個(gè)比賽,車輛的性能和車 輛的換檔的時(shí)機(jī)至關(guān)重要,要等到發(fā)動(dòng)機(jī)達(dá)到最大馬力的時(shí)候進(jìn)行加檔為最完美的換檔。而發(fā)動(dòng)機(jī)的最大馬力時(shí)的轉(zhuǎn)速可以在馬力測(cè)試的時(shí)候看到。 極品飛車會(huì)給玩家?guī)?lái)有令人難忘的高細(xì)節(jié)的照片品質(zhì)的圖像,讓你更有代入感。它將 術(shù)提升到了新的高度,允許你調(diào)整和改裝你富有個(gè)性的車輛,并立刻在其外觀和性能上體現(xiàn)出來(lái)。碰撞效果逼真精確,每一次的碰撞,每一次的刮擦和每一次的車體變形都將成為你戰(zhàn)斗的印記,是對(duì)你的承諾和勇氣的最佳證明。富有進(jìn)攻性和高技巧的 統(tǒng)能夠讓你得到無(wú)比真實(shí)可信的賽車體驗(yàn),而革命性的在線 模式將會(huì)重新定義多人游戲。 目前國(guó)內(nèi)的賽車游戲主要都是網(wǎng)絡(luò)游戲類型,單從游戲畫面的角度上講,是不能和歐美的單機(jī)賽車游戲相比的,沒(méi)有逼真的碰撞以及實(shí)時(shí)出現(xiàn)的火花四濺的效果,賽車的駕駛感也不夠真實(shí),但是由于是網(wǎng)絡(luò)休閑游戲, 在犧牲了駕駛的真實(shí)感的同時(shí),駕駛的易操作性得到了極大的提升,只需要控制方向和加速,減速,大剎車即可。 文的內(nèi)容安排 本論文主要研究了三維賽車游戲的制作,設(shè)計(jì)了一個(gè)簡(jiǎn)單的三維賽車游戲,實(shí)現(xiàn)了賽車游戲的基本功能。全文共分 六 章,具體安排如下: 第二章主要介紹 游戲引擎 的相關(guān)知識(shí) ,第三章介紹了游戲的結(jié)構(gòu),第四章介紹如何實(shí)現(xiàn)游戲的汽車類、輸入控制和場(chǎng)景渲染,第五章重點(diǎn)介紹了賽車游戲中的各種碰撞檢測(cè)技術(shù)和本文采用的碰撞檢測(cè)技術(shù),最后第六章介紹了最終實(shí)現(xiàn)的賽車游戲的效果和缺陷。 湖南大學(xué)畢業(yè)論文 第 5頁(yè) 2 游戲引擎 和游戲結(jié)構(gòu) 臺(tái)上開發(fā)游戲的事實(shí)上的標(biāo)準(zhǔn),游戲引擎能使開發(fā)游戲的工作量大大的減少。 述 司的 一個(gè)多媒體應(yīng)用編程接口工具包,用于為 作系統(tǒng)開發(fā)交互式軟件。 生于 1995 年 ,已成為在 臺(tái)上開發(fā)多媒體軟件的一種標(biāo)準(zhǔn),全世界的開發(fā)人員都在使用它。 要用于游戲開發(fā),但其中部分用于開發(fā)其他類型的軟件,這些軟件包括游戲虛擬角色,網(wǎng)絡(luò)軟件和游戲無(wú)關(guān)的圖形軟件。 過(guò)和底成硬件打交道,從而獲取軟件的最大性能 4。 如圖 2 圖 2本應(yīng)用架構(gòu) 要由 成。每個(gè) 間相互獨(dú)立,負(fù)責(zé)完成 核中不同的功能。 可以通過(guò)硬件加速。這意味著這些 以直接和運(yùn)行軟件的底成硬件對(duì)話。這樣可以帶來(lái)很好的性能,并提供開發(fā)商業(yè)軟件的能力。 要負(fù)責(zé)向屏幕上渲染二維圖形和三維圖形。 以直接使用所有與計(jì)算機(jī)關(guān)聯(lián)的輸入設(shè)備。這些設(shè)備包括鍵盤、鼠標(biāo)、和游戲控制器設(shè)備。通過(guò) 以最快速確定作為輸入設(shè)備的狀態(tài)。更重要的是, 以和所有現(xiàn)在的或?qū)?lái)的輸入設(shè)備對(duì)話。由于 本質(zhì),所以使用它可以很容易的支持以后的輸入的設(shè)備,而不必更新自己的 以讓應(yīng)用程序?qū)C(jī)器進(jìn)行網(wǎng)絡(luò)功能設(shè)置,從而可以通過(guò)連接和其他網(wǎng)絡(luò)玩家交流。 湖南大學(xué)畢業(yè)論文 第 6頁(yè) 責(zé)與聲音相關(guān)的操作,兩者在控制聲音的數(shù)量方面存在差異, 以提供更多的底成控制與更多的靈活性,而且方便使用。而使用不必做很多的控制,因?yàn)?高級(jí)些。 前已經(jīng)發(fā)展到到 很不成功 到引發(fā)了顯卡革命的,在到目前的 一路走來(lái), 游戲業(yè)帶來(lái)了巨大的發(fā)展。接下來(lái)的 新產(chǎn)品是 1 增加了新的計(jì)算 術(shù),可以允許 事更多的通用計(jì)算工作,而不僅僅是 3D 運(yùn)算,這可以鼓勵(lì)開發(fā)人員更好地將 為并行處理器使用。另外, 1 還支持 嵌化技術(shù),這有助于開發(fā)人員創(chuàng)建更為細(xì)膩流暢的模型,實(shí)現(xiàn)高質(zhì)量實(shí)時(shí)渲染和預(yù)渲染場(chǎng)景。多線 程是1 的另外一大亮點(diǎn), 以更好地利用多線程資源,從而使游戲更有效地利用多核處理器。 戲引擎 戲引擎概述 游戲引擎是游戲中與具體的游戲無(wú)關(guān)的核心技術(shù)部分,而游戲的部分就是場(chǎng)景和角色模型、動(dòng)畫、聲音和代碼等其他控制部分。經(jīng)過(guò)游戲業(yè)的不斷的發(fā)展,如今的游戲引擎己經(jīng)發(fā)展為一套由多個(gè)子系統(tǒng)共同構(gòu)成的復(fù)雜系統(tǒng)。一般這些引擎都是 3D 游戲引擎,從建模、動(dòng)畫到光影、粒子特效,從物理系統(tǒng)、碰撞檢測(cè)到文件管理、網(wǎng)絡(luò)特性,還有專業(yè)的編輯工具和插件,幾乎涵蓋了開發(fā)過(guò)程中的所有重要環(huán)節(jié)。 游戲引擎就是游戲開發(fā)者們?yōu)榱私档椭貜?fù)勞動(dòng), 節(jié)省開發(fā)時(shí)間和開發(fā)費(fèi)用 而誕生的,它封裝了些在游戲制作中常用的功能,讓我們能直接調(diào)用這些功能而不用在從頭編寫。 用的游戲引擎結(jié)構(gòu) 在 3戲引擎涵蓋的 內(nèi)容很多 。選用的 該 游戲引擎是一個(gè)處理所有事務(wù)的系統(tǒng),它是一個(gè)控制模塊,向所有的子系統(tǒng)發(fā)出命令。因此,需要與每個(gè)游戲子系統(tǒng)聯(lián)系。 該 游戲引擎 也 是一個(gè)容器,它容納了其他所有的組件,控制整個(gè)系統(tǒng)的各個(gè)部分。 目前 該 3現(xiàn)的 功能模塊包括:聲音控制、輸入控制、圖形渲染、游戲界面控制等。其中圖形渲染是引 擎的核心模塊,涉及面較廣,目前實(shí)現(xiàn)的功能點(diǎn)包括:頂 湖南大學(xué)畢業(yè)論文 第 7頁(yè) 點(diǎn)、紋理、光照、材質(zhì)、文字、霧化、天空盒、攝像機(jī)、廣告牌、靜態(tài)網(wǎng)格模型、骨骼動(dòng)畫、粒子特效、 形多層細(xì)節(jié)紋理等。最后,使用 該游戲引擎 各模塊之間的協(xié)同操作如圖 2 圖 2擎各模塊之間的協(xié)同操作 輸入系統(tǒng):接受玩家的鍵盤、鼠標(biāo)等外設(shè)的輸入信息,然后引擎對(duì)這些信息進(jìn)行響應(yīng)作出相應(yīng)效果 (即游戲邏輯處理 ),實(shí)現(xiàn)與玩家的交互。 聲音控制:加載、播放、停止聲音等操作。并提供較逼真的三維音效,使玩家如身臨其境的 感覺(jué)。 游戲 游戲的界面。加載圖片實(shí)現(xiàn)了圖形化的界面控件。方便玩家對(duì)游戲進(jìn)行操作,提高用戶體驗(yàn)性。 圖形渲染:是整個(gè)引擎的核心模塊,涉及面較廣,主要功能是繪制渲染三維游戲世界。目前實(shí)現(xiàn)的功能點(diǎn)包括:頂點(diǎn)、紋理、光照、材質(zhì)、文字、霧化、天空盒、攝像機(jī)、廣告牌、網(wǎng)格模型、粒子特效、地形場(chǎng)景等。 碰撞檢測(cè):主要使用了二叉空間分割技術(shù),把碰撞網(wǎng)格存儲(chǔ)進(jìn)二叉樹,實(shí)現(xiàn)快速的碰撞檢測(cè)。 湖南大學(xué)畢業(yè)論文 第 8頁(yè) 戲結(jié)構(gòu) 游戲與其他應(yīng)用軟件有著一定的區(qū)別,它不是我們的單線、事件驅(qū)動(dòng)或順序邏輯的程序。一個(gè) 3執(zhí)行邏輯并在屏幕上不間斷的繪制更新圖像 通常以 4060幀每秒或更高的速度不斷的繪制 5。這類似于電影放映方式,不同的是,我們將控制電影的情節(jié)發(fā)展。 本引擎中所使用的 游戲最基本的流程框架如圖 2 圖 2初始化:這部分執(zhí)行與其他任何程序類似的標(biāo)準(zhǔn)操作,如內(nèi)存分配、資源獲取、從磁盤加載數(shù)據(jù)等。 進(jìn)入游戲循環(huán):這部分進(jìn)入主游戲循環(huán),用戶將在這里不斷地執(zhí)行動(dòng)作,直到退出主循環(huán)為止。 讀取玩家輸入:這部分處理玩家輸入,或?qū)⑵浯鎯?chǔ)到緩沖區(qū)中,供游戲邏輯使用。 執(zhí)行游戲邏輯:這部分包含游戲代碼的主體部分,將執(zhí)行人工智能、物理系統(tǒng)和通用游戲邏輯,并根據(jù)結(jié)果在屏幕上繪制下一幀。 圖形渲染:在這一部分中,將根據(jù)玩家輸入以及邏輯的執(zhí)行結(jié)果,生成下一個(gè)游戲動(dòng)畫幀。在甚于 3由一個(gè)復(fù)雜的 3基于 部分工作都由硬件來(lái)承擔(dān)。 循環(huán):這部分相當(dāng)簡(jiǎn)單,只需返回到游戲循環(huán)的開頭,然后重新執(zhí)行整個(gè)循環(huán)。 湖南大學(xué)畢業(yè)論文 第 9頁(yè) 關(guān)閉:這是游戲的末尾,意味著用戶退出游戲循環(huán),并返回到操作系統(tǒng)。但是,與其它任何 軟件一樣,需要在返回操作系統(tǒng)之前釋放占用的所有資源,并清理系統(tǒng)。 游戲控制臺(tái)控制流程如圖 2 圖 2戲控制臺(tái)的控制流程 章小結(jié) 本章主要介紹了 游戲引擎,讓我們了解兩者的大概功能和關(guān)系。在了解兩者的基礎(chǔ)上,著重介紹了該游戲選用的游戲引擎的各個(gè)功能模 塊及各模塊是如何協(xié)同工作的,為接下來(lái)的游戲制作打下了堅(jiān)實(shí)的基礎(chǔ)。 最后介紹了下游戲的基本結(jié)構(gòu), 一個(gè)游戲本質(zhì)上是一個(gè)持續(xù)不斷的 環(huán),它執(zhí)行邏輯 ,并根據(jù)邏輯計(jì)算出下 一幀圖像,并在屏幕上不間斷的繪制更新圖像。 游戲最終表現(xiàn) 出來(lái)的就是一幀又一幀連續(xù)的畫面,我們所要作的就是在循環(huán)中,不斷的獲取用戶的輸入,根據(jù)輸入執(zhí)行游戲邏輯,生成下一個(gè)游戲動(dòng)畫幀,最后渲染該動(dòng)畫幀。 湖南大學(xué)畢業(yè)論文 第 10頁(yè) 3 游戲的汽車類模塊、場(chǎng)景渲染、輸入控制 入檢測(cè)和響應(yīng) 每個(gè)交互式程序都要為用戶提供一些與其交互的方法。在視頻游戲中,通??梢酝ㄟ^(guò)諸如游戲墊、方向盤、操縱桿、鍵盤和鼠標(biāo)等這類輸入設(shè)備實(shí)現(xiàn)。輸入檢測(cè)不僅要和大量設(shè)備打交道,還要能夠?qū)τ诰哂兴俣雀咭蟮囊曨l游戲做出快速反應(yīng)。在 輸入可以通過(guò) 責(zé)對(duì)所有連接到機(jī)器上的設(shè)備進(jìn)行輸入檢測(cè)。 從對(duì) 盤或鼠標(biāo)的用戶輸入消息并不是直接傳遞給應(yīng)用程序來(lái)處理的,面是是轉(zhuǎn)發(fā)回 后由 然,如果游戲程序仍采用這種方式來(lái)處理用戶的輸入將不會(huì)獲得理想的執(zhí)行效率。 一個(gè)組件接口,提供了大量的接口函數(shù)處理用戶在鍵盤、鼠標(biāo)、游戲桿以及力回饋等游戲裝置上的輸入,而且 此 一方面,正是由于 以在控制面板上所做的任何鍵盤和鼠標(biāo)的屬性設(shè)置,如鍵盤按鍵的延遲重復(fù)和鼠標(biāo)的左右手習(xí)慣等,都不會(huì)對(duì)應(yīng)用 非是修改同驅(qū)動(dòng)程序提供的屬性設(shè)置。 游戲引擎封裝了 們只用初始化游戲引擎的輸入控制類,調(diào)用該類的函數(shù) 判斷哪個(gè)鍵位被 敲擊,即可響應(yīng)該鍵位的事件。 景 渲染 在現(xiàn)實(shí)的許多商業(yè)游戲中,場(chǎng)景十分復(fù)雜,有著逼真的天空、高低起伏且十分精細(xì)的地形、各種天氣效果 (雨、霧等 )以及光照陰影等。 我們的游戲場(chǎng)景是個(gè)簡(jiǎn)單的,只由天空,模型 (該模型包含了地形 )和光照組成 的,這些組成部分涉及到了許多技術(shù)。 湖南大學(xué)畢業(yè)論文 第 11頁(yè) 空盒技術(shù) 在虛擬現(xiàn)實(shí)和視景仿真應(yīng)用系統(tǒng)中,天空仿真是必不可少的內(nèi)容之一。天空背景的真實(shí)感對(duì)用戶來(lái)說(shuō)能大大提高視覺(jué)享受和沉浸感。所以,一個(gè)活動(dòng)的、完整的天空是整個(gè)虛擬三維系統(tǒng)真實(shí)感體現(xiàn)所必須具備的。本文所實(shí)現(xiàn)的游戲的天空 采用的就是天空盒技術(shù),只要使用好的紋理,就能實(shí)現(xiàn)令 人信服的畫面。 天空盒只不過(guò)是一個(gè) 6 個(gè)面正方形,中心就是視點(diǎn)。上下左右前后分別貼上天空紋理后,基本天空盒就制作完成。如圖3 圖 3-1 圖 3-2 圖 3-3 3-4 圖 3-5 圖 3-6 染的后的天空效果如圖 3示 。 需要注意的是玩家在場(chǎng)景中不停的漫游,而天空的大小是有限,我們可以采用一種簡(jiǎn)單方法來(lái)讓玩家走不出天空盒的范圍 ,每次渲染時(shí)我們始終讓攝像機(jī)的坐標(biāo)位于天空盒的中心,這樣就可以給我們一種感覺(jué),天空是無(wú)限大的,怎么走也走不出。最后是渲染天空盒,我們的天空盒是有大小的,所以我們渲染時(shí)禁止 Z 緩沖寫入,否則渲染時(shí),天空盒 Z 大小都寫了進(jìn)去,導(dǎo)致超出天空盒大小的場(chǎng)景渲染不了,而且還要最先渲染,否則因?yàn)槟憬?Z 緩沖寫入,先渲染場(chǎng)景再渲染天空盒,天空盒把整個(gè)場(chǎng)景覆蓋了。 湖南大學(xué)畢業(yè)論文 第 12頁(yè) 圖 3空盒效果 型 運(yùn)用 我們使用的模型是 X 模型,這種模型是 身的格式 ,可以通過(guò)幾個(gè)內(nèi)置函數(shù)直接加載和渲染到 X 模型最大的 優(yōu)點(diǎn)就是它們十分易用,可以直接和 X 文件格式基于模板格式, 一些內(nèi)置模板,可以用于定義 X 文件中的網(wǎng)格。這些標(biāo)準(zhǔn)模板包括外觀、紋理坐標(biāo)和法線。因?yàn)?X 文件格式基于模板格式,所以 要知道一些存儲(chǔ)在文件中用于某種目的的信息。 X 模型可以被保存為文本文件,也可以被保存為二進(jìn)制文件,這意味著可以在任意的文本編輯器中打開 X 文本文件,并修改其內(nèi)容。 X 文件中的 準(zhǔn)模板用于指定可以施加在單個(gè)表面(多邊形)的材質(zhì)。針對(duì)材質(zhì)的標(biāo)準(zhǔn)模板定義了環(huán)境顏色、發(fā)射能量、 鏡面顏色、反射量、與材質(zhì)相關(guān)的紋理圖像文件名。 X 文件中的 板定義了 X 文件中的完整網(wǎng)格。 X 模型可以包含多個(gè)網(wǎng)格。網(wǎng)格模板結(jié)構(gòu)開始先定義頂點(diǎn)總數(shù),然后是頂點(diǎn)的 x, y, z 坐標(biāo)。定義完頂點(diǎn)之后,接下來(lái)必須定義網(wǎng)格的外觀或多邊形。開始先是網(wǎng)格中的外觀數(shù),后面是每個(gè)外觀的三角形 湖南大學(xué)畢業(yè)論文 第 13頁(yè) 索引。每個(gè) 三角形索引行開始是代表該外觀使用的三角形數(shù)目,后面才是索引號(hào)。定義完頂點(diǎn)和三角形之后,就可以隨意定義其他屬性了,如每一外觀的材質(zhì)、紋理坐標(biāo)等。 X 文件中的 板指明網(wǎng)格中的哪個(gè)外觀使用哪種材質(zhì)。材 質(zhì)鏈表結(jié)構(gòu)開始先定義材質(zhì)數(shù)目,然后是將材質(zhì)施加的外觀總數(shù)。這之后,每個(gè)外觀占一行。每行定義一個(gè)值,用該值引用要用的材質(zhì)。該結(jié)構(gòu)的最后一行是涉及到的所有材質(zhì)鏈表。第一個(gè)材質(zhì)索引號(hào)為 0,第二個(gè)為 1,依此類推。 X 文件中的 板開始先指定網(wǎng)格中的索引數(shù),然后用逗號(hào)隔開,簡(jiǎn)單的列出每個(gè)頂點(diǎn)的紋理坐標(biāo)。有了該模板就可以在 將紋理映射到網(wǎng)格上。 加載和渲染 X 模型很簡(jiǎn)單。所有的 X 模型都保存在相同的名為 結(jié)構(gòu)中。調(diào)用 即 可。調(diào)用 象的 函數(shù)可以繪制模型。 我們需要注意的是, X 模型本身所有頂點(diǎn)位置都是基于其自身坐標(biāo),而我們要最終要將模型顯現(xiàn)在外面的屏幕上,這就需要進(jìn)行些 坐 標(biāo)變換。 首先簡(jiǎn)要說(shuō)明一下三維物體的成像過(guò)程。三維物體可通過(guò)建模的微分方法,把彎曲的表面切分為一個(gè)個(gè)的三角形面,這樣三維物體表面的繪制,就轉(zhuǎn)化為物體表面中所有三角形面的繪制。要渲染由眾多三維物體組成的三維場(chǎng)景,需要先引入局部坐標(biāo)系,為場(chǎng)景中的各個(gè)三維物體進(jìn)行三角形頂點(diǎn)的坐標(biāo)量化。 局部坐標(biāo)系示例如圖 3 圖 3部坐標(biāo)系 引入世界坐標(biāo)系,把整個(gè)場(chǎng)景中所有三維物體的各自頂點(diǎn)局部坐標(biāo),轉(zhuǎn)換為同一個(gè)世界坐標(biāo)系下的坐標(biāo)。在同一個(gè)世界坐標(biāo)系中,場(chǎng)景中各個(gè)三角形面的頂點(diǎn)坐標(biāo)如實(shí)地給出了場(chǎng)景中物體間的空間關(guān)系。如果需要對(duì)場(chǎng)景實(shí)施光照處理,還要對(duì)頂點(diǎn)的顏色值 湖南大學(xué)畢業(yè)論文 第 14頁(yè) 進(jìn)行計(jì)算。這個(gè)過(guò)程最終是輸出具有世界坐標(biāo)的場(chǎng)景下的所有三維物體的頂點(diǎn)信息。 世界坐標(biāo)系示例如圖 3示: 圖 3界坐標(biāo)系 在三維場(chǎng)景中選定位置和方向架設(shè)攝影機(jī),取景范圍由一個(gè)棱臺(tái)視截體決定。在視截體之內(nèi)部分,應(yīng)顯示處理;視截體之外的部分則要裁剪掉,而不顯 示出來(lái)。為了便于裁剪,在攝影機(jī)的位置處建立一個(gè)攝影坐標(biāo)系,其 Z 軸指向攝影機(jī)的視線方向,從而使視截體的 6 個(gè)外圍側(cè)面具有較為簡(jiǎn)單的方程式。此時(shí),需要將場(chǎng)景中所有物體的三角形頂點(diǎn)的世界坐標(biāo)轉(zhuǎn)換為攝影坐標(biāo)系下的坐標(biāo)。這個(gè)過(guò)程最終輸出變換為攝影坐標(biāo)的頂點(diǎn)信息。取得場(chǎng)景中所有物體的三角形頂點(diǎn)攝影坐標(biāo)之后,開始進(jìn)行裁剪和透視投影處理。這個(gè)過(guò)程最終是輸出位于視覺(jué)區(qū)域內(nèi),并且已變換為投影坐標(biāo)的頂點(diǎn)信息。最后將平面投影的點(diǎn)變換到計(jì)算機(jī)屏幕的視口中,并根據(jù)投影點(diǎn)的 Z 坐標(biāo)值反映的頂點(diǎn)遠(yuǎn)近遮隱關(guān)系,確定屏幕視口中每個(gè)像素的顏色值 6, 以此實(shí)現(xiàn)三維場(chǎng)景的平面著色顯示。 總之,在加載模型后,要想成功的渲染模型還需要進(jìn)行坐標(biāo)轉(zhuǎn)換,在模型文件中所有頂點(diǎn)使用的都是其局部的 3D 坐標(biāo),并非渲染函數(shù)能夠直接使用的屏幕坐標(biāo)。要想將其輸出到屏幕中通常需要經(jīng)過(guò)以下三種坐標(biāo)轉(zhuǎn)換: 1. 全局轉(zhuǎn)換。將所有的物體轉(zhuǎn)換為統(tǒng)一的全局坐標(biāo),還可以在這里完成各種對(duì)物體位置的操作。 2. 視圖轉(zhuǎn)換。轉(zhuǎn)為從觀察者角度看到的全局坐標(biāo)。先在全局坐標(biāo)系的指定位置架一臺(tái)攝影機(jī),指定一個(gè)注視點(diǎn)和一個(gè)參考點(diǎn)。坐標(biāo)將被轉(zhuǎn)換到以攝影機(jī)為原點(diǎn),從原點(diǎn)到注視點(diǎn)為 Z 軸,再加上參考點(diǎn),所確定的平面為 面的坐標(biāo)系中。 3. 透視轉(zhuǎn)換。透視轉(zhuǎn)換將各頂點(diǎn)的 x, Y 值轉(zhuǎn)換為實(shí)際的屏幕坐標(biāo),而 z 值就是的深度信息。 湖南大學(xué)畢業(yè)論文 第 15頁(yè) 基本的坐標(biāo)轉(zhuǎn)換 (平移、旋轉(zhuǎn)、放縮 ),在 3D 程序里,都是將該點(diǎn) (就是一個(gè)列向量 )乘以一個(gè) 4陣。然后調(diào)用相應(yīng)的三個(gè)函數(shù)告訴 這個(gè)矩陣完成全局轉(zhuǎn)換,然后用那個(gè)矩陣完成視圖轉(zhuǎn)換。 照技術(shù) 光照是一門為 3D 場(chǎng)景增加真實(shí)感的技術(shù),它以某種方式通過(guò)對(duì)物體分布不同的亮度和黑暗形成陰影而實(shí)現(xiàn)真實(shí)感。如同現(xiàn)在許多游戲中見到的一樣,光照可以將場(chǎng)景帶入到一個(gè)全新的真實(shí)感層次。為場(chǎng)景增 加光照會(huì)對(duì)已渲染的場(chǎng)景產(chǎn)生巨大的影響。 在計(jì)算機(jī)圖形學(xué)中就三類光源需要考慮,分別是點(diǎn)光源、聚光光源和方向性光源。每類光源分別描述了日常生活中見到的不同類型的光。計(jì)算機(jī)圖形中有許多不同的反射模型,但最常用的模型分別是環(huán)境光反射模型、漫反射模型和鏡面反射模型,反射同物體的材質(zhì)有關(guān)。反射模型和光屬性一起確定了 3D 場(chǎng)景中物體的外觀。在本文中,我們只要設(shè)置調(diào)用燈光類的 設(shè)置光源類型, 設(shè)置燈光顏色,在設(shè)置光源朝向,分配光源序號(hào),是該序號(hào)光源可用即可實(shí)現(xiàn)場(chǎng)景中的光 照效果。 車類模塊 賽車類游戲需要有個(gè)比較完善的汽車類,他們基本表達(dá)汽車的剛體運(yùn)動(dòng) ,為此我們針對(duì)汽車建模。該汽車具有速度和加速度,最大速度,剎車加速度和方向盤靈敏度(決定

溫馨提示

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

評(píng)論

0/150

提交評(píng)論