2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(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)介

1、游戲引擎剖析游戲引擎剖析JakeSimpson第1部分:游戲引擎介紹,渲染和構(gòu)造3D世界介紹自Doom游戲時(shí)代以來(lái)我們已經(jīng)走了很遠(yuǎn)。DOOM不只是一款偉大的游戲,它同時(shí)也開創(chuàng)了一種新的游戲編程模式:游戲“引擎“。這種模塊化,可伸縮和擴(kuò)展的設(shè)計(jì)觀念可以讓游戲玩家和程序設(shè)計(jì)者深入到游戲核心,用新的模型,場(chǎng)景和聲音創(chuàng)造新的游戲,或向已有的游戲素材中添加新的東西。大量的新游戲根據(jù)已經(jīng)存在的游戲引擎開發(fā)出來(lái),而大多數(shù)都以ID公司的Quake引擎為

2、基礎(chǔ),這些游戲包括CounterStrike,TeamFtress,TacOps,StrikeFce,以及QuakeSoccer。TacOps和StrikeFce都使用了UnrealTournament引擎。事實(shí)上,“游戲引擎“已經(jīng)成為游戲玩家之間交流的標(biāo)準(zhǔn)用語(yǔ),但是究竟引擎止于何處,而游戲又從哪里開始呢像素的渲染,聲音的播放,怪物的思考以及游戲事件的觸發(fā),游戲中所有這一切的幕后又是什么呢?如果你曾經(jīng)思考過(guò)這些問(wèn)題,而且想要知道更多驅(qū)動(dòng)

3、游戲進(jìn)行的東西,那么這篇文章正好可以告訴你這些。本文分多個(gè)部分深入剖析了游戲引擎的內(nèi)核,特別是Quake引擎,因?yàn)槲易罱ぷ鞯墓綬avenSoftware已經(jīng)在Quake引擎的基礎(chǔ)上開發(fā)出了多款游戲,其中包括著名的SoldierofFtune。開始讓我們首先來(lái)看看一個(gè)游戲引擎和游戲本身之間的主要區(qū)別。許多人們會(huì)混淆游戲引擎和整個(gè)游戲。這有點(diǎn)像把一個(gè)汽車發(fā)動(dòng)機(jī)和整個(gè)汽車混淆起來(lái)一樣。你能夠從汽車?yán)锩嫒〕霭l(fā)動(dòng)機(jī),建造另外一個(gè)外殼,再使用發(fā)

4、動(dòng)機(jī)一次。游戲也像那。游戲引擎被定義為所有的非游戲特有的技術(shù)。游戲部份是被稱為資產(chǎn)的所有內(nèi)容(模型,動(dòng)畫,聲音,人工智能和物理學(xué))和為了使游戲運(yùn)行或者控制如何運(yùn)行而特別需要的程序代碼,比如說(shuō)AI人工智能。對(duì)于曾經(jīng)看過(guò)Quake游戲結(jié)構(gòu)的人來(lái)說(shuō),游戲引擎就是Quake。exe,而游戲部分則是QAGame。dll和CGame。dll。如果你不知道這是什么意思,也沒有什么關(guān)系;在有人向我解釋它以前,我也不知道是什么意思。但是你將會(huì)完全明白它的

5、意思。這篇游戲引擎指導(dǎo)分為十一個(gè)部份。是的,從數(shù)量上來(lái)說(shuō),總共是十一個(gè)部份!每個(gè)部分大概3000字左右?,F(xiàn)在就從第一部分開始我們的探索吧,深入我們所玩游戲的內(nèi)核,在這里我們將了解一些基本的東西,為后面的章節(jié)作鋪墊。。。渲染器讓我們從渲染器來(lái)開始游戲引擎設(shè)計(jì)的探討吧,我們將從游戲開發(fā)者(本代表它的每一個(gè)面。這就是3D對(duì)象儲(chǔ)存的基礎(chǔ)。對(duì)于一些比較復(fù)雜的3D物體,比如說(shuō)一個(gè)Quake的關(guān)卡,將有數(shù)以千計(jì)(有時(shí)數(shù)以十萬(wàn)計(jì))的頂點(diǎn),和數(shù)以千計(jì)的多

6、邊形表面。參見上圖的線框表示(注:原文在這里有一幅圖)。本質(zhì)上與上面的立方體例子類似,它僅僅是由許許多多的小多邊形組成的一些復(fù)雜場(chǎng)景。模型和世界如何儲(chǔ)存是渲染器的一部份功能,而不屬于應(yīng)用程序游戲部份。游戲邏輯不需要知道對(duì)象在內(nèi)存中如何表示,也不需要知道渲染器將怎樣把他們顯示出來(lái)。游戲只是需要知道渲染器將使用正確的視野去表示對(duì)象,并將在正確的動(dòng)畫幀中把正確的模型顯示出來(lái)。在一個(gè)好的引擎中,渲染器應(yīng)該是可以完全被一個(gè)新的渲染器替換掉,并且不

7、需要去改動(dòng)游戲的一行代碼。許多跨平臺(tái)引擎,而且許多自行開發(fā)的游戲機(jī)引擎就是這樣的,如Unreal引擎,舉例來(lái)說(shuō),這個(gè)游戲GameCube版本的渲染器就可以被你任意的替換掉。讓我們?cè)倏纯磧?nèi)部的表示方法—除了使用坐標(biāo)系統(tǒng),還有其他方法可以在計(jì)算機(jī)內(nèi)存里表示空間的點(diǎn)。在數(shù)學(xué)上,你可以使用一個(gè)方程式來(lái)描述直線或曲線,并得到多邊形,而幾乎所有的3D顯示卡都使用多邊形來(lái)作為它們的最終渲染圖元。一個(gè)圖元就是你在任何顯示卡上面所能使用的最低級(jí)的繪制(渲

8、染)單位,幾乎所有的硬件都是使用三個(gè)頂點(diǎn)的多邊形(三角形)。新一代的nVidia和ATI顯卡可以允許你以數(shù)學(xué)方式渲染(被稱為高次表面),但因?yàn)檫@不是所有圖形卡的標(biāo)準(zhǔn),你還不能靠它作為渲染策略。從計(jì)算的角度來(lái)看,這通常有些昂貴,但它時(shí)常是新的實(shí)驗(yàn)技術(shù)的基礎(chǔ),例如,地表的渲染,或者對(duì)物件銳利的邊緣進(jìn)行柔化。我們將會(huì)在下面的曲面片小節(jié)中更進(jìn)一步介紹這些高次表面。剔除概觀問(wèn)題來(lái)了。我現(xiàn)在有一個(gè)由幾十萬(wàn)個(gè)頂點(diǎn)多邊形描述的世界。我以第一人稱視角位于

9、我們這個(gè)3D世界的一邊。在視野中可以看見世界的一些多邊形,而另外一些則不可見,因?yàn)橐恍┪矬w,比如一面看得見的墻壁,遮擋住了它們。即使是最好的游戲編碼人員,在目前的3D顯卡上,在一個(gè)視野中也不能處理300,000個(gè)三角形且仍然維持60fps(一個(gè)主要目標(biāo))。顯卡不能處理它,因此我們必須寫一些代碼,在把它們交給顯卡處理之前除去那些看不見的多邊形。這個(gè)過(guò)程被稱為剔除。有許多不同的剔除方法。在深入了解這些之前,讓我們探討一下為什么圖形顯示卡不能

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論