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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論