游戲引擎是什么
游戲引擎是指一些已編寫(xiě)好的可編輯電腦游戲系統(tǒng)或者一些交互式實(shí)時(shí)圖像應(yīng)用程序的核心組件。這些系統(tǒng)為游戲設(shè)計(jì)者提供各種編寫(xiě)游戲所需的各種工具,其目的在于讓游戲設(shè)計(jì)者能容易和快速地做出游戲程式而不用由零開(kāi)始。大部分都支持多種操作平臺(tái),如Linux、Mac OS X、微軟Windows。游戲引擎包含以下系統(tǒng):渲染引擎(即“渲染器”,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測(cè)系統(tǒng)、音效、腳本引擎、電腦動(dòng)畫(huà)、人工智能、網(wǎng)絡(luò)引擎以及場(chǎng)景管理。
游戲引擎原理
游戲引擎是一個(gè)為運(yùn)行某一類(lèi)游戲的機(jī)器設(shè)計(jì)的能夠被機(jī)器識(shí)別的代碼(指令)集合。它像一個(gè)發(fā)動(dòng)機(jī),控制著游戲的運(yùn)行。一個(gè)游戲作品可以分為游戲引擎和游戲資源兩大部分。游戲資源包括圖象,聲音,動(dòng)畫(huà)等部分,列一個(gè)公式就是:游戲=引擎(程序代碼)+資源(圖象,聲音,動(dòng)畫(huà)等)。游戲引擎則是按游戲設(shè)計(jì)的要求順序地調(diào)用這些資源。
游戲引擎功能
無(wú)論是2D游戲還是游戲引擎33D游戲,無(wú)論是角色扮演游戲、即時(shí)策略游戲、冒險(xiǎn)解謎游戲或是動(dòng)作射擊游戲,哪怕是一個(gè)只有1兆的小游戲,都有這樣一段起控制作用的代碼。經(jīng)過(guò)不斷的進(jìn)化,如今的游戲引擎已經(jīng)發(fā)展為一套由多個(gè)子系統(tǒng)共同構(gòu)成的復(fù)雜系統(tǒng),從建模、動(dòng)畫(huà)到光影、粒子特效,從物理系統(tǒng)、碰撞檢測(cè)到文件管理、網(wǎng)絡(luò)特性,還有專(zhuān)業(yè)的編輯工具和插件,幾乎涵蓋了開(kāi)發(fā)過(guò)程中的所有重要環(huán)節(jié),以下就對(duì)引擎的一些關(guān)鍵部件作一個(gè)簡(jiǎn)單的介紹。
首先是光影效果,即場(chǎng)景中的光源對(duì)處于其中的人和物的影響方式。游戲的光影效果完全是由引擎控制的,折射、反射等基本的光學(xué)原理以及動(dòng)態(tài)光源、彩色光源等高級(jí)效果都是通過(guò)引擎的不同編程技術(shù)實(shí)現(xiàn)的。
其次是動(dòng)畫(huà),游戲所采用的動(dòng)畫(huà)系統(tǒng)可以分為兩種:一是骨骼動(dòng)畫(huà)系統(tǒng),一是模型動(dòng)畫(huà)系統(tǒng),前者用內(nèi)置的骨骼帶動(dòng)物體產(chǎn)生運(yùn)動(dòng),比較常見(jiàn),后者則是在模型的基礎(chǔ)上直接進(jìn)行變形。引擎把這兩種動(dòng)畫(huà)系統(tǒng)預(yù)先植入游戲,方便動(dòng)畫(huà)師為角色設(shè)計(jì)豐富的動(dòng)作造型。
引擎的另一重要功能是提供物理系統(tǒng),這可以使物體的運(yùn)動(dòng)遵循固定的規(guī)律,例如,當(dāng)角色跳起的時(shí)候,系統(tǒng)內(nèi)定的重力值將決定他能跳多高,以及他下落的速度有多快,子彈的飛行軌跡、車(chē)輛的顛簸方式也都是由物理系統(tǒng)決定的。
碰撞探測(cè)是物理系統(tǒng)的核心部分,它可以探測(cè)游戲中各物體的物理邊緣。當(dāng)兩個(gè)3D物體撞在一起的時(shí)候,這種技術(shù)可以防止它們相互穿過(guò),這就確保了當(dāng)你撞在墻上的時(shí)候,不會(huì)穿墻而過(guò),也不會(huì)把墻撞倒,因?yàn)榕鲎蔡綔y(cè)會(huì)根據(jù)你和墻之間的特性確定兩者的位置和相互的作用關(guān)系。
渲染是引擎最重要的功能之一,當(dāng)3D模型制作完畢之后,美工會(huì)按照不同的面把材質(zhì)貼圖賦予模型,這相當(dāng)于為骨骼蒙上皮膚,最后再通過(guò)渲染引擎把模型、動(dòng)畫(huà)、光影、特效等所有效果實(shí)時(shí)計(jì)算出來(lái)并展示在屏幕上。渲染引擎在引擎的所有部件當(dāng)中是最復(fù)雜的,它的強(qiáng)大與否直接決定著最終的輸出質(zhì)量。
引擎還有一個(gè)重要的職責(zé)就是負(fù)責(zé)玩家與電腦之間的溝通,處理來(lái)自鍵盤(pán)、鼠標(biāo)、搖桿和其它外設(shè)的信號(hào)。如果游戲支持聯(lián)網(wǎng)特性的話,網(wǎng)絡(luò)代碼也會(huì)被集成在引擎中,用于管理客戶端與服務(wù)器之間的通信。
通過(guò)上面這些枯燥的介紹我們至少可以了解到一點(diǎn):引擎相當(dāng)于游戲的框架,框架搭好后,關(guān)卡設(shè)計(jì)師、建模師、動(dòng)畫(huà)師只要往里填充內(nèi)容就可以了。因此,在3D游戲的開(kāi)發(fā)過(guò)程中,引擎的制作往往會(huì)占用非常多的時(shí)間,《馬克思·佩恩》的MAX-FX引擎從最初的雛形Final Reality到最終的成品共花了四年多時(shí)間,LithTech引擎的開(kāi)發(fā)共花了整整五年時(shí)間,耗資700萬(wàn)美元,Monolith公司(LithTech引擎的開(kāi)發(fā)者)的老板詹森·霍爾甚至不無(wú)懊悔地說(shuō):“如果當(dāng)初意識(shí)到制作自己的引擎要付出這么大的代價(jià)的話,我們根本就不可能去做這種傻事。沒(méi)有人會(huì)預(yù)料得到五年后的市場(chǎng)究竟是怎樣的?!?/p>
正是出于節(jié)約成本、縮短周期和降低風(fēng)險(xiǎn)這三方面的考慮,越來(lái)越多的開(kāi)發(fā)者傾向于使用第三方的現(xiàn)成引擎制作自己的游戲,一個(gè)龐大的引擎授權(quán)市場(chǎng)已經(jīng)形成。
其中最大的收益者是各大網(wǎng)絡(luò)游戲公司,通過(guò)第三方引擎開(kāi)發(fā)的網(wǎng)絡(luò)游戲獲益巨大。但隨著市場(chǎng)急劇變化,用第三方引擎開(kāi)發(fā)網(wǎng)絡(luò)游戲的成本也越來(lái)越高。于是游戲引擎開(kāi)發(fā)商們開(kāi)始絞盡腦汁設(shè)計(jì)一種可以大量節(jié)約開(kāi)發(fā)成本和周期的引擎。直到2010年zerodin引擎開(kāi)發(fā)的巨作Dragona出品引起了各大游戲業(yè)巨頭關(guān)注,因?yàn)榇藭r(shí)方才發(fā)現(xiàn)了巨作也可以用這么少的成本,這么短的時(shí)間開(kāi)發(fā)而成。
-
游戲引擎
+關(guān)注
關(guān)注
0文章
7瀏覽量
1451
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論