游戲引擎和物理引擎區(qū)別 只狼有沒(méi)有什么花里胡哨的操作?能否分享一下?
只狼有沒(méi)有什么花里胡哨的操作?能否分享一下?操作還挺多的,我們拍幾張動(dòng)畫(huà)片來(lái)演示一下,這很方便理解傘擋白蛇用力把怪物推下懸崖申銀改變對(duì)手的攻擊把怪物引下懸崖打破戒律和尚牌樹(shù)恨鬼自己跳下懸崖這些絕妙的操
只狼有沒(méi)有什么花里胡哨的操作?能否分享一下?
操作還挺多的,我們拍幾張動(dòng)畫(huà)片來(lái)演示一下,這很方便理解
傘擋白蛇
用力把怪物推下懸崖
申銀改變對(duì)手的攻擊
把怪物引下懸崖
打破戒律和尚牌樹(shù)
恨鬼自己跳下懸崖
這些絕妙的操作相當(dāng)多,只要由于腦洞夠大,可以玩各種各樣的花
所謂的游戲引擎,簡(jiǎn)而言之,就是一組集合了API(應(yīng)用程序編程接口)的游戲編程。使用游戲引擎可以簡(jiǎn)化我們的游戲編程。
為了讓您更容易理解,讓我舉一個(gè)更容易理解的類似編程示例。比如在實(shí)際編程中,我們經(jīng)常會(huì)根據(jù)需要編寫大量的函數(shù),每個(gè)函數(shù)都可以完成一定的函數(shù)。簡(jiǎn)言之,每個(gè)功能都是一個(gè)功能載體。例如,要實(shí)現(xiàn)search函數(shù),可以編寫一個(gè)bool find(string objname)函數(shù),其中包含一個(gè)參數(shù),即要搜索的對(duì)象名,并返回一個(gè)bool(logical true false)值。如果找不到對(duì)象,則返回false,否則返回true。這樣,在編程過(guò)程中,如果要判斷一個(gè)對(duì)象是否存在,只需調(diào)用這個(gè)函數(shù),大大簡(jiǎn)化了工作量。
同樣地,游戲引擎也做類似的工作。在游戲編程中,由于性能等方面的問(wèn)題,很多時(shí)候需要直接訪問(wèn)底層硬件,如果不使用游戲引擎,工作量相當(dāng)大,難度也很高,有時(shí)甚至無(wú)法完成。但是,使用游戲引擎,工作量大大減少,因?yàn)橛螒蛞姹举|(zhì)上是一組我們可以調(diào)用的函數(shù),它為我們封裝了底層代碼。我們不需要關(guān)心這些函數(shù)是如何實(shí)現(xiàn)的,我們只需要根據(jù)我們的需求調(diào)用相關(guān)的函數(shù)。
或使用上述搜索功能的示例進(jìn)行比較。如果要實(shí)現(xiàn)搜索,請(qǐng)調(diào)用find函數(shù)。至于find函數(shù)如何查找objname對(duì)象、使用什么算法、搜索過(guò)程中需要分配多少內(nèi)存、如何根據(jù)字符串匹配對(duì)象或者如何處理錯(cuò)誤等等,我們不需要在意。類似地,以游戲引擎為例,如果我們想在屏幕上渲染一個(gè)3D圖形,我們只需要調(diào)用引擎提供的3D渲染函數(shù)。至于如何在內(nèi)部實(shí)現(xiàn)這些3D渲染功能,以及如何在不同系統(tǒng)上快速高效地在屏幕上繪制出美觀一致的圖形,我們不需要在意。