版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、游戲引擎剖析游戲引擎剖析JakeSimpson第1部分:游戲引擎介紹,渲染和構(gòu)造3D世界介紹自Doom游戲時代以來我們已經(jīng)走了很遠。DOOM不只是一款偉大的游戲,它同時也開創(chuàng)了一種新的游戲編程模式:游戲“引擎“。這種模塊化,可伸縮和擴展的設計觀念可以讓游戲玩家和程序設計者深入到游戲核心,用新的模型,場景和聲音創(chuàng)造新的游戲,或向已有的游戲素材中添加新的東西。大量的新游戲根據(jù)已經(jīng)存在的游戲引擎開發(fā)出來,而大多數(shù)都以ID公司的Quake引擎為
2、基礎(chǔ),這些游戲包括CounterStrike,TeamFtress,TacOps,StrikeFce,以及QuakeSoccer。TacOps和StrikeFce都使用了UnrealTournament引擎。事實上,“游戲引擎“已經(jīng)成為游戲玩家之間交流的標準用語,但是究竟引擎止于何處,而游戲又從哪里開始呢像素的渲染,聲音的播放,怪物的思考以及游戲事件的觸發(fā),游戲中所有這一切的幕后又是什么呢?如果你曾經(jīng)思考過這些問題,而且想要知道更多驅(qū)動
3、游戲進行的東西,那么這篇文章正好可以告訴你這些。本文分多個部分深入剖析了游戲引擎的內(nèi)核,特別是Quake引擎,因為我最近工作的公司RavenSoftware已經(jīng)在Quake引擎的基礎(chǔ)上開發(fā)出了多款游戲,其中包括著名的SoldierofFtune。開始讓我們首先來看看一個游戲引擎和游戲本身之間的主要區(qū)別。許多人們會混淆游戲引擎和整個游戲。這有點像把一個汽車發(fā)動機和整個汽車混淆起來一樣。你能夠從汽車里面取出發(fā)動機,建造另外一個外殼,再使用發(fā)
4、動機一次。游戲也像那。游戲引擎被定義為所有的非游戲特有的技術(shù)。游戲部份是被稱為資產(chǎn)的所有內(nèi)容(模型,動畫,聲音,人工智能和物理學)和為了使游戲運行或者控制如何運行而特別需要的程序代碼,比如說AI人工智能。對于曾經(jīng)看過Quake游戲結(jié)構(gòu)的人來說,游戲引擎就是Quake。exe,而游戲部分則是QAGame。dll和CGame。dll。如果你不知道這是什么意思,也沒有什么關(guān)系;在有人向我解釋它以前,我也不知道是什么意思。但是你將會完全明白它的
5、意思。這篇游戲引擎指導分為十一個部份。是的,從數(shù)量上來說,總共是十一個部份!每個部分大概3000字左右?,F(xiàn)在就從第一部分開始我們的探索吧,深入我們所玩游戲的內(nèi)核,在這里我們將了解一些基本的東西,為后面的章節(jié)作鋪墊。。。渲染器讓我們從渲染器來開始游戲引擎設計的探討吧,我們將從游戲開發(fā)者(本代表它的每一個面。這就是3D對象儲存的基礎(chǔ)。對于一些比較復雜的3D物體,比如說一個Quake的關(guān)卡,將有數(shù)以千計(有時數(shù)以十萬計)的頂點,和數(shù)以千計的多
6、邊形表面。參見上圖的線框表示(注:原文在這里有一幅圖)。本質(zhì)上與上面的立方體例子類似,它僅僅是由許許多多的小多邊形組成的一些復雜場景。模型和世界如何儲存是渲染器的一部份功能,而不屬于應用程序游戲部份。游戲邏輯不需要知道對象在內(nèi)存中如何表示,也不需要知道渲染器將怎樣把他們顯示出來。游戲只是需要知道渲染器將使用正確的視野去表示對象,并將在正確的動畫幀中把正確的模型顯示出來。在一個好的引擎中,渲染器應該是可以完全被一個新的渲染器替換掉,并且不
7、需要去改動游戲的一行代碼。許多跨平臺引擎,而且許多自行開發(fā)的游戲機引擎就是這樣的,如Unreal引擎,舉例來說,這個游戲GameCube版本的渲染器就可以被你任意的替換掉。讓我們再看看內(nèi)部的表示方法—除了使用坐標系統(tǒng),還有其他方法可以在計算機內(nèi)存里表示空間的點。在數(shù)學上,你可以使用一個方程式來描述直線或曲線,并得到多邊形,而幾乎所有的3D顯示卡都使用多邊形來作為它們的最終渲染圖元。一個圖元就是你在任何顯示卡上面所能使用的最低級的繪制(渲
8、染)單位,幾乎所有的硬件都是使用三個頂點的多邊形(三角形)。新一代的nVidia和ATI顯卡可以允許你以數(shù)學方式渲染(被稱為高次表面),但因為這不是所有圖形卡的標準,你還不能靠它作為渲染策略。從計算的角度來看,這通常有些昂貴,但它時常是新的實驗技術(shù)的基礎(chǔ),例如,地表的渲染,或者對物件銳利的邊緣進行柔化。我們將會在下面的曲面片小節(jié)中更進一步介紹這些高次表面。剔除概觀問題來了。我現(xiàn)在有一個由幾十萬個頂點多邊形描述的世界。我以第一人稱視角位于
9、我們這個3D世界的一邊。在視野中可以看見世界的一些多邊形,而另外一些則不可見,因為一些物體,比如一面看得見的墻壁,遮擋住了它們。即使是最好的游戲編碼人員,在目前的3D顯卡上,在一個視野中也不能處理300,000個三角形且仍然維持60fps(一個主要目標)。顯卡不能處理它,因此我們必須寫一些代碼,在把它們交給顯卡處理之前除去那些看不見的多邊形。這個過程被稱為剔除。有許多不同的剔除方法。在深入了解這些之前,讓我們探討一下為什么圖形顯示卡不能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲引擎剖析
- 3d游戲引擎詳解剖析
- 游戲引擎
- 游戲引擎列表
- 游戲引擎06667
- 游戲引擎入門
- 游戲引擎標準答案a
- 游戲引擎發(fā)展史
- 游戲引擎標準答案b
- 手機游戲AI引擎設計.pdf
- 賽車游戲音頻引擎的開發(fā).pdf
- 基于RPG游戲引擎的游戲開發(fā)平臺的實現(xiàn).pdf
- 星際爭霸2游戲引擎技術(shù)分析
- 讓你徹底明白什么叫游戲引擎
- libGDX游戲引擎的研究與應用.pdf
- WK游戲引擎的設計與實現(xiàn).pdf
- 游戲音頻引擎的設計與實現(xiàn).pdf
- 中國網(wǎng)游游戲引擎發(fā)展史
- 次時代游戲引擎設計與實現(xiàn).pdf
- 基于Brew的手機游戲引擎開發(fā).pdf
評論
0/150
提交評論