用于開發(fā)2d場景和3d角色的游戲引擎系統(tǒng)及調用方法
【技術領域】
[0001]本發(fā)明涉及一種游戲引擎系統(tǒng),特別涉及一種用于開發(fā)2D場景和3D角色的游戲引擎系統(tǒng)及調用方法。
【背景技術】
[0002]通常,一款游戲引擎的好壞,直接影響游戲的方方面面,傳統(tǒng)引擎只支持2D或3D,而沒有結合兩者各自的優(yōu)點。場景采用2D方式則具有原畫品質,豐富的細節(jié),減少渲染開銷;而角色采用3D則可以支持更多的動作,方便進行換裝并有效減少了資源量?,F(xiàn)有的游戲引擎(如cocos,Unity)都是為通用游戲開發(fā)而設計的,雖然也都支持2D和3D的渲染,但是如果要制作大型游戲則缺乏完整的工具鏈,例如地圖編輯器,地圖管理,八方向角色這樣的功能,現(xiàn)有引擎都沒有直接的支持,需要開發(fā)人員自己去實現(xiàn)相關的部件,從而導致制作周期大大加長。
[0003]因此,需要一種用于同時開發(fā)2D場景和3D角色的大型游戲的引擎系統(tǒng)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種用于開發(fā)2D場景和3D角色的游戲引擎系統(tǒng)調用方法,所述游戲引擎系統(tǒng)包括應用模塊、引擎模塊和場景模塊,所述方法包括如下步驟:a)所述應用模塊向所述引擎模塊發(fā)出引擎初始化命令,所述引擎模塊向所述場景模塊發(fā)出場景初始化命令,所述場景模塊初始化后將初始化結果返回至所述引擎模塊,且所述引擎模塊初始化后將初始化結果返回至應用模塊;b)所述應用模塊向所述引擎模塊發(fā)出改變地圖的命令,且經(jīng)所述引擎模塊傳遞改變地圖命令至所述場景模塊,所述場景模塊發(fā)出生成新地圖命令以調用所述地圖模塊,所述地圖模塊根據(jù)命令加載新2D場景地圖并返回至所述場景模塊,進而返回至所述引擎模塊,以及返回至所述應用模塊;c)所述應用模塊向所述引擎模塊發(fā)出生成新角色的命令,且經(jīng)所述引擎模塊傳遞生成新角色的命令至所述場景模塊,所述場景模塊根據(jù)生成新角色的命令以調用其中的角色模塊生成并返回新的2D或3D角色至場景模塊;d)所述應用模塊向所述引擎模塊發(fā)出生成新特效的命令,且經(jīng)所述引擎模塊傳遞生成新特效的命令至所述場景模塊,所述場景模塊根據(jù)新特效命令調取其中的特效模塊生成并返回新的2D或3D特效至場景模塊。
[0005]優(yōu)選地,所述角色模塊進一步包括2D角色模塊、3D角色模塊和角色管理器,其中所述3D角色模塊通過其中間層調用蒙皮骨骼動畫模型、靜態(tài)動畫模型和靜態(tài)模型。
[0006]優(yōu)選地,所述特效模塊包括2D粒子特效模塊、2D特效模塊、3D特效模塊和特效管理器。
[0007]優(yōu)選地,所述2D特效和3D特效具有相同的對外接口。
[0008]優(yōu)選地,所述2D角色和3D角色具有相同的對外接口。
[0009]優(yōu)選地,所述2D角色由序列幀構成,所述3D角色由數(shù)據(jù)計算渲染。
[0010]根據(jù)本發(fā)明的另一方面,提供了一種用于開發(fā)2D場景和3D角色的游戲引擎系統(tǒng),所述游戲引擎系統(tǒng)包括應用模塊、引擎模塊和場景模塊,其中:所述應用模塊用于調用所述引擎模塊中封裝的類和方法,進而在邏輯層面實現(xiàn)游戲功能,所述調用包括對所述引擎模塊進行初始化,調用所述引擎模塊以改變地圖、生成新角色以及生成新特效;所述引擎模塊用于接收來自所述應用模塊發(fā)出的命令以調用所述場景模塊從而分別獲取場景模塊中的地圖、角色及特效,對地圖、角色及特效進行渲染和模擬,并發(fā)送回所述應用模塊進行呈現(xiàn);所述場景模塊用于場景生成和場景管理,進一步包括角色模塊、特效模塊和地圖模塊,其中,所述角色模塊用于管理2D角色和3D角色,所述2D角色和3D角色基于所述應用模塊傳入的對應不同模型文件來選擇和生成;所述特效模塊用于管理2D特效和3D特效,所述2D特效和3D特效基于所述應用模塊傳入的對應不同模型文件來選擇和生成;所述地圖模塊用于生成2D地圖和2D地圖管理。
[0011]優(yōu)選地,所述角色模塊進一步包括2D角色模塊、3D角色模塊和角色管理器,其中所述3D角色模塊通過其中間層調用蒙皮骨骼動畫模型、靜態(tài)動畫模型和靜態(tài)模型。
[0012]優(yōu)選地,所述特效模塊包括2D粒子特效模塊、2D特效模塊、3D特效模塊和特效管理器。
[0013]優(yōu)選地,所述2D角色由序列幀構成,所述3D角色由數(shù)據(jù)計算渲染。
[0014]本發(fā)明游戲引擎系統(tǒng)能夠同時支持2D序列幀角色與3D角色,同時支持2D平面特效與3D特效。采用2D場景地圖,大大減少了場景對計算量的需求,具有整套完整的編輯器。特別是針對開發(fā)2D場景和3D角色的大型游戲的開發(fā),本發(fā)明具有開發(fā)功能強、開發(fā)周期短、運行效率高等優(yōu)點。
[0015]應當理解,前述大體的描述和后續(xù)詳盡的描述均為示例性說明和解釋,并不應當用作對本發(fā)明所要求保護內(nèi)容的限制。
【附圖說明】
[0016]參考隨附的附圖,本發(fā)明更多的目的、功能和優(yōu)點將通過本發(fā)明實施方式的如下描述得以闡明,其中:
[0017]圖1示意性示出本發(fā)明游戲引擎系統(tǒng)的系統(tǒng)模塊圖;
[0018]圖2示意性示出本發(fā)明游戲引擎系統(tǒng)模塊間的交互流程圖;
[0019]圖3示意性示出本發(fā)明游戲引擎系統(tǒng)中角色模塊組成圖;
[0020]圖4示意性示出本發(fā)明游戲引擎系統(tǒng)中特效模塊組成圖。
【具體實施方式】
[0021]通過參考示范性實施例,本發(fā)明的目的和功能以及用于實現(xiàn)這些目的和功能的方法將得以闡明。然而,本發(fā)明并不受限于以下所公開的示范性實施例;可以通過不同形式來對其加以實現(xiàn)。說明書的實質僅僅是幫助相關領域技術人員綜合理解本發(fā)明的具體細節(jié)。
[0022]在下文中,將參考附圖描述本發(fā)明的實施例。在附圖中,相同的附圖標記代表相同或類似的部件,或者相同或類似的步驟。
[0023]本發(fā)明提供了一種用于開發(fā)2D場景和3D角色的游戲引擎系統(tǒng),主要針對2D場景以及3D角色的游戲而設。本發(fā)明中的3D角色包括但不限于游戲中的人物、怪物、寵物、寶箱等。如圖1所示,本發(fā)明的游戲引擎系統(tǒng)包括應用模塊101、引擎模塊102和場景模塊103。
[0024]應用模塊101為游戲頂層的邏輯程序,主要通過調用引擎模塊102中封裝的類和方法,進而在邏輯層面實現(xiàn)游戲的功能。具體的,調用引擎模塊102包括對所述引擎模塊102進行初始化,調用引擎模塊102以改變游戲中的地圖、生成游戲中的新角色以及生成新特效等;
[0025]引擎模塊102用于接收來自應用模塊101發(fā)出的命令以調用場景模塊103從而分別獲取場景模塊103中的地圖、角色及特效,對地圖、角色及特效進行渲染和模擬,并發(fā)送回應用模塊101進行呈現(xiàn)。根據(jù)本發(fā)明的一個實施例,引擎模塊102可以包括可編輯的功能模塊或者一些交互式實時圖像應用程序的核心組件。這些組件為游戲設計者提供各種編寫游戲所需的各種工具,其目的在于讓游戲設計者能容易和快速地做出游戲程式而不用由零開始。本發(fā)明的引擎模塊102包含以下功能模塊:渲染引擎(含2D圖像引擎和3D圖像引擎)、物理引擎、碰撞檢測系統(tǒng)、音效、腳本引擎、電腦動畫、人工智能、網(wǎng)絡引擎以及場景管理。
[0026]場景模塊103用于場景生成和場景管理,具體地,根據(jù)應用模塊101的命令調用不同的場景并呈現(xiàn)在游戲中。本發(fā)明的場景模塊103中還包括地圖模塊104、角色模塊105和特效模塊106。其中地圖模塊104用于生成地圖和地圖管理,具體地,根據(jù)應用模塊101的命令調用和生成不同的地圖并返回至應用模塊101。角色模塊105和特效模塊106具體將在下文參照圖3和圖4進行說明。
[0027]圖2示出了本發(fā)明游戲引擎系統(tǒng)模塊間的交互流程圖,具體流程如下所述:
[0028]本發(fā)明的游戲引擎系統(tǒng)的初始化順序是首先生成地圖,角色位置的擺放則依賴于地圖坐標。對于場景特效,可以獨立于角色創(chuàng)建,但是貼附在角色身上的特效則要求先生成角色,再在角色上掛載特效。
[0029]具體初始化順序如下,應用模塊101向引擎模塊102發(fā)出引擎初始化命令205,接著引擎模塊102向場景模塊103發(fā)出場景初始化命令206,場景模塊103初始化后將初始化結果207返回至引擎模塊,且引擎模塊102初始化后將初始化結果208返回至應用模塊101。
[0030]引擎初始化和場景初始化結束后,應用模塊101即可向引擎模塊102發(fā)出改變地圖的命令209,且經(jīng)引擎模塊102傳遞改變地圖命令210至場景模塊103。場景模塊103調用地圖模塊104生成新地圖命令211,并傳至地圖模塊104。地圖模塊104根據(jù)新地圖命令211加載新地圖并返回212至場景模塊103,場景模塊103將新地圖返回213至引擎模塊102,進一步將新地圖返回214至應用模塊101,從而完成新地圖的獲取流程。本發(fā)明采用2D場景地圖,大大減少了場景對計算量的需求,為3D角色更精美的效果留出計算空間,同時可以提供原畫品質的場景畫面。
[0031]根據(jù)本發(fā)明的一個實施例,上述地圖模塊104生成的地圖由方形紋理塊拼接而成,場景由2D地圖及3D角色構成。每個場景的地圖都由許多個2D圖片無縫拼接而成。在邏輯上分為很多3