耿富成
摘 要 本文以人工智能(AI)引擎與游戲場景設(shè)計及優(yōu)化為主要研究目標(biāo),對優(yōu)化游戲場景搭建技巧進行闡述,并分析AI引擎在3D角色游戲中的設(shè)計思路。通過復(fù)雜、高效的AI引擎,將游戲中那種更為飽滿、真實的角色行為創(chuàng)造出來,以此不斷提升角色游戲中玩家和智能角色的互動。
【關(guān)鍵詞】AI引擎 3D 角色游戲 場景設(shè)計
iPhone平臺游戲、Android平臺游戲及網(wǎng)頁游戲等在近些年迅猛發(fā)展,并逐漸成為對發(fā)展游戲具有帶動作用的新生力量。但是,當(dāng)今很多游戲都處于宣傳攻勢重于游戲內(nèi)容品質(zhì)的境況,而且玩家在游戲體驗過程中,會逐漸提升對游戲操控性與沉浸感需求。基于這種現(xiàn)象,使得3D游戲逐漸成為國內(nèi)游戲主要發(fā)展方向。
1 游戲場景的設(shè)計
在開發(fā)游戲時,貼圖和模型的合理搭建能夠?qū)㈧披惖挠螒驁鼍疤峁┙o玩家,以此提升游戲本身意境,并將游戲主題突出出來。所以,怎樣快速搭建貼圖和模型,確保游戲運行暢通是在設(shè)計游戲過程中亟待研究與解決的重要問題。
1.1 搭建游戲場景規(guī)范
一般通過Unity3D技術(shù)對場景中像地形、草木等基本對象進行直接搭建,但對于游戲中裝飾性物品與主要角色等,必須從3D建模軟件中導(dǎo)入。對游戲場景進行搭建時,首先要對游戲環(huán)境予以創(chuàng)建,然后放置物品或者角色。Unity3D在默認狀態(tài)下的單位為1,一般會通過修改應(yīng)用程序以與該比例相匹配,由此在資源放置時就會比較簡單。
本游戲通過Maya建模,面片數(shù)要保證為32500個Polygon 面片,若大于該數(shù)量,那么物體就無法顯現(xiàn),所以應(yīng)該對模型與多邊形數(shù)量進行合理分布。在制作完成一個三維模型后,其內(nèi)容主要包括單位、場景尺寸、節(jié)點編輯、命名、紋理、模型歸類、紋理格式及尺寸、坐標(biāo)及材質(zhì)等一定要與相關(guān)制作規(guī)范相符。
1.2 優(yōu)化游戲貼圖
作為游戲開發(fā)平臺,Unity3D模型材質(zhì)通常會有很多特殊性需求,并非Maya中所有材質(zhì)球Unity3D都支持,Unity3D只支持像Lambet、Blin等標(biāo)準(zhǔn)材質(zhì),且還要保證貼圖尺寸為2n,貼圖尺寸最大值要在1024×1024以內(nèi),烘焙過程中,對TGA格式紋理貼圖進行設(shè)置。渲染優(yōu)化時,應(yīng)該對遮擋剔除技術(shù)進行選用,也就是說,如果其它物體遮擋該物體,且在攝像機鏡頭外,那么不會對其實施渲染。運行遮擋剔除是用虛擬攝像機在場景中將物體潛在可視狀態(tài)創(chuàng)建出來,以此進一步提升游戲運行質(zhì)量。
2 基于3D角色游戲中AI引擎的設(shè)計研究
2.1 構(gòu)建游戲AI引擎框架
2.1.1 游戲中非玩家角色的動作控制
非玩家角色在游戲中的主要行為包括巡邏、待機、逃跑及攻擊等,每個行為下的動畫表現(xiàn)都有所不同,以程序的方式對游戲角色動作進行控制。依照游戲引擎本身特性,于游戲角色模型中綁定角色動作。此外,角色模型導(dǎo)出設(shè)置中,對游戲動畫選項進行設(shè)置后,再在3D引擎中導(dǎo)入,在一定條件下,采用程序控制的方式對動畫剪輯進行播放,以此控制角色動作。
2.1.2 狀態(tài)機反應(yīng)機制
首先對AI引擎智能進行分析:在一定范圍內(nèi),游戲AI角色巡邏,對周邊環(huán)境進行掃視,以觀察周邊有玩家入侵與否,有時可立于原地,若無外界條件觸發(fā)則為空閑待機狀態(tài),但若在其可視范圍內(nèi)有玩家,則會主動攻擊,圍攻玩家,以此對玩家造成傷害,如果其生命力比較低,則會自動逃跑。根據(jù)AI角色表現(xiàn),能夠獲得AI角色的狀態(tài)及其相互轉(zhuǎn)換。
Idle 狀態(tài):該狀態(tài)為空閑狀態(tài),在平靜狀況下的基本狀態(tài)。如果無條件觸發(fā),AI角色在一段時間后就會自動轉(zhuǎn)入Idle狀態(tài)。
Attack 狀態(tài):該狀態(tài)為攻擊狀態(tài),具體是攻擊出現(xiàn)在其視野中的玩家,對其造成傷害。如果AI角色生命力比較低,就會自動向Escape狀態(tài)(即:逃跑狀態(tài))轉(zhuǎn)換,如果玩家在其可視范圍外,則會自動向Patrol狀態(tài)(即:巡邏狀態(tài))轉(zhuǎn)換。
2.2 基于3D角色游戲的AI引擎尋路算法
通過特定尋路算法幫助游戲角色尋路,也就是說,根據(jù)某種規(guī)則對從起始點到終點的路徑進行計算。本文主要分析WayPoint尋路算法,并具體應(yīng)用于角色游戲中。該尋路算法具體是將若干個路徑點(waypoint)進行標(biāo)記,采用矢量線連接各路徑點,確保游戲AI角色可以在某種規(guī)律下沿路徑線自動尋路。可手工設(shè)置這些路徑點,也可程序自動生成。路徑點尋路時,游戲場景中,需要獲取任意兩點路徑,可以從目標(biāo)點與起始點各取一個路徑點,對這兩個路徑點最短距離進行計算,以此將目標(biāo)點與起始點最優(yōu)路徑計算出來,這就是角色行走路徑。游戲角色在到達目標(biāo)點后,必須在其視野中可看到下一最優(yōu)路徑點,由此就能夠在最優(yōu)路徑中進行自由活動。
3 總結(jié)
本研究分析與探討了基于3D角色游戲的游戲場景布置與AI引擎的設(shè)計與優(yōu)化。采用三維建模軟件實施建模后,對游戲場景于Unity3D中進行優(yōu)化,結(jié)合AI引擎關(guān)鍵技術(shù)、制作過程及游戲半身,確保能夠在游戲中將游戲玩家與職能角色對抗效果充分體現(xiàn)出來,整個游戲主線是任務(wù)關(guān)卡形式,因此要合理設(shè)計游戲非玩家角色,必須通過程序?qū)€性化敵人進行設(shè)計,以確保游戲具有真實性、挑戰(zhàn)性以及可玩性,這對3D角色游戲的設(shè)計與實現(xiàn)極具重要參考價值。
參考文獻
[1]JACOBS,S.Game programming gems7[M].北京:人民郵電出版社,2010:191-151.
[2]MARK DELOURA.Game programming gems1[M].北京:人民郵電出版社,2010:208-219.
[3]倪樂波,戚鵬,遇麗娜等. Unity3d 產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(9):54-55.
[4]FUNGE J D.Artificial intelligence for computer games[M].北京:北京郵電大學(xué)出版社,2007:158-159.
作者單位
西安理工大學(xué)大學(xué) 陜西省西安市 710048endprint