游戲物理引擎開發(fā)

游戲物理引擎開發(fā)

ID:9798953

大小:132.00 KB

頁數(shù):10頁

時(shí)間:2018-05-10

游戲物理引擎開發(fā)_第1頁
游戲物理引擎開發(fā)_第2頁
游戲物理引擎開發(fā)_第3頁
游戲物理引擎開發(fā)_第4頁
游戲物理引擎開發(fā)_第5頁
資源描述:

《游戲物理引擎開發(fā)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第1章概述第1章概述物理學(xué)一直是計(jì)算機(jī)游戲的熱點(diǎn),若缺乏物理引擎的支持,動(dòng)作類游戲便會(huì)黯然失色。同時(shí),這一趨勢(shì)也逐漸蔓延至其他風(fēng)格的游戲中,包括戰(zhàn)略游戲以及猜謎類游戲。針對(duì)這一發(fā)展趨勢(shì),多家中間件公司均提供了高性能的物理模擬器。另外,多款大制作游戲均體現(xiàn)了商業(yè)級(jí)物理引擎之特征。然而,商業(yè)級(jí)軟件包通常價(jià)格不菲,對(duì)于廣大開發(fā)者而言,“定制型”物理解決方案通常兼具經(jīng)濟(jì)性、操控性以及靈活性。盡管如此,物理學(xué)依然充滿了神秘感,且與數(shù)學(xué)密不可分,因而令人望而生畏。2000年,我曾著手設(shè)計(jì)通用物理引擎,當(dāng)時(shí)的情況可描述為:資料匱

2、乏且無代碼可用,同時(shí),該領(lǐng)域內(nèi)充斥著諸多自相矛盾的信息。天道酬勤,經(jīng)過不懈的努力,一款商業(yè)級(jí)物理引擎終于誕生。當(dāng)然,這一經(jīng)歷本身也是一個(gè)自我提高和學(xué)習(xí)的過程。在隨后的5年中,它與其他商業(yè)級(jí)物理系統(tǒng)頻繁地出現(xiàn)于多款游戲中。本書直接體現(xiàn)了作者多年的努力成果和開發(fā)經(jīng)驗(yàn)。關(guān)于游戲物理,相關(guān)書籍、網(wǎng)站和文章不勝枚舉,然而卻鮮有資料介紹物理引擎的解決方案,即適用于游戲中的、較為全面的模擬技術(shù)。本書旨在引領(lǐng)讀者構(gòu)建物理引擎,并以循序漸進(jìn)的方式對(duì)其進(jìn)行分析,進(jìn)而體現(xiàn)構(gòu)建過程中的設(shè)計(jì)決策。在本書的指導(dǎo)下,讀者可對(duì)示例物理引擎實(shí)施進(jìn)一

3、步擴(kuò)展,構(gòu)建自己的物理系統(tǒng),進(jìn)而展示不同的設(shè)計(jì)理念。1.1游戲物理物理學(xué)包含了豐富內(nèi)容,并可進(jìn)一步劃分為數(shù)百個(gè)子學(xué)科,各學(xué)科對(duì)物理學(xué)中的不同問題予以關(guān)注,例如光學(xué)或星球中的核反應(yīng)。其中,某些內(nèi)容適用于游戲,例如光學(xué)原理。據(jù)此,讀者可嘗試模擬光線的傳播和反射行為,以使圖像具有更為真實(shí)的外觀——這正是光線跟蹤的用武之地,在多個(gè)場(chǎng)合中均可看到它的身影。然而,盡管上述內(nèi)容隸屬于物理學(xué)范疇,但并非是本書所討論的游戲物理學(xué),本書將對(duì)此加以深度考察。某些物理學(xué)知識(shí)與本書并不存在直接關(guān)聯(lián),例如,如果游戲的賣點(diǎn)并非是展示核反應(yīng)這一復(fù)

4、雜的技術(shù),核物理模擬往往較少出現(xiàn)于游戲中?!?·第1章概述實(shí)際上,游戲物理僅涉及物理學(xué)中的某些經(jīng)典理論,即重力和其他作用力模式下的用于控制物體運(yùn)動(dòng)方式的物理定律。在學(xué)術(shù)領(lǐng)域內(nèi),部分定律已被最新理論所替代,例如相對(duì)論和量子論。在游戲中,此類定律常用于展示實(shí)體對(duì)象的真實(shí)運(yùn)動(dòng)行為,包括質(zhì)量、慣性、反彈行為以及浮力。游戲物理學(xué)基本上與首批游戲同時(shí)誕生,并用于模擬粒子的運(yùn)動(dòng)方式,包括火花、爆竹、彈道模擬、焰火以及爆炸效果;近30年來,物理模擬還用于飛行模擬器中;近期,物理模擬廣泛出現(xiàn)于汽車工業(yè)中,進(jìn)而提升輪胎、懸掛系統(tǒng)以及發(fā)

5、動(dòng)機(jī)模型的精度。隨著處理性能的不斷提升,視覺效果體現(xiàn)了更為豐富的內(nèi)容。例如,箱體可隨意移動(dòng)、堆放;墻體被摧毀時(shí)所展現(xiàn)的灰飛煙滅效果——此類視效均屬于剛體物理學(xué)范疇,讀者可稍加擴(kuò)展,即可獲得“軟物體”的行為方式,例如布料、旗幟以及繩索。近期出現(xiàn)的布娃娃系統(tǒng)即模擬了人類骨骼系統(tǒng)的行為方式,包括絆倒、跌倒以及掙扎時(shí)的各種動(dòng)作。本書將對(duì)物理學(xué)內(nèi)容進(jìn)行系統(tǒng)、全面的介紹,并不斷完善物理引擎中的相關(guān)組件,進(jìn)而支持粒子效果、飛行模擬、車輛物理行為、箱體對(duì)象的運(yùn)動(dòng)、對(duì)象被摧毀時(shí)的視效、布料以及布娃娃系統(tǒng)等內(nèi)容。1.2物理引擎盡管游戲

6、物理學(xué)可視為一類新生事物,但近30年來,其實(shí)現(xiàn)方式發(fā)生了顯著的變化。最初,各類視效僅對(duì)自身內(nèi)容進(jìn)行編程設(shè)計(jì),對(duì)應(yīng)物理學(xué)內(nèi)容僅局限于某一游戲作品。例如,弓箭沿某一軌跡運(yùn)行,開發(fā)人員針對(duì)該軌跡方程予以編程實(shí)現(xiàn)。除此之外,該方程別無他用。針對(duì)簡(jiǎn)單的模擬操作(代碼量較少且物理應(yīng)用范圍有限),該過程工作良好。稍后將會(huì)看到,基本的粒子系統(tǒng)將包含數(shù)百行代碼,隨著復(fù)雜度的不斷增加,直接獲取令人可信的物理效果將變得越發(fā)困難。例如,在首款Half-Life游戲中,當(dāng)玩家移動(dòng)箱體時(shí),錯(cuò)誤的物理實(shí)現(xiàn)代碼使得箱體對(duì)象以一種奇怪的方式運(yùn)動(dòng)。物

7、理效果的實(shí)現(xiàn)難度以及多款游戲中的同一效果迫使開發(fā)人員尋找通用的解決方案,進(jìn)而實(shí)現(xiàn)代碼的復(fù)用。復(fù)用技術(shù)體現(xiàn)了某種通用特征,例如,彈道模擬器僅處理弓箭的運(yùn)動(dòng)軌跡,并于隨后對(duì)其進(jìn)行硬編碼。若同一段代碼需要處理子彈的運(yùn)動(dòng)行為,則軟件系統(tǒng)須對(duì)特定的彈道軌跡進(jìn)行抽象,進(jìn)而生成具有某種共性的物理方案——這體現(xiàn)了物理引擎的含義,即基于物理學(xué)的公共代碼段,而非針對(duì)各游戲方案進(jìn)行程序設(shè)計(jì)。這里的問題是,若存在特定代碼對(duì)弓箭對(duì)象進(jìn)行模擬,則該操作可勝任模擬過程中的全部任務(wù);若采用通用引擎模擬任意彈道軌跡,針對(duì)當(dāng)前弓箭對(duì)象,則需向引擎提供

8、該對(duì)象的各類特征,因而需要設(shè)定弓箭、子彈以及箱體的屬性。這一重要差別須引起讀者的關(guān)注。通常情況下,物理引擎可視為一類大型計(jì)算器,即執(zhí)行數(shù)學(xué)運(yùn)算并對(duì)物理行為進(jìn)行模擬,且并不了解模擬的具象內(nèi)容。對(duì)此,除了引擎自身之外,讀者還需提供表達(dá)游戲關(guān)卡的特定游戲數(shù)據(jù)?!?·第1章概述盡管各類游戲數(shù)據(jù)將貫穿于本書中,但本書重點(diǎn)并非討論數(shù)據(jù)的獲取方式。在商業(yè)級(jí)引擎中,關(guān)卡編輯

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。