天天看點

Unity3D自學筆記——星際2技能系統分析(一)

星際2技能系統分析

最近一直在想設計一個易擴充的,可配置的技能系統架構。看了幾個項目源碼,可能自己功力不夠,感覺類與類之間的套用很混亂,看的雲裡霧裡的,然後網上到處找資料。

對兩個技能設計比較感興趣,一個是Dota2

http://moddota.com/forums/discussion/14/datadriven-ability-breakdown-documentation

一個是星際2

https://www.sc2mapster.com/wiki/galaxy/data/

目前先重點關注下星際2的技能系統,由于沒有資料介紹,隻能通過星際2的地圖編輯器去揣測。

資料結構

星際2的資料為樹狀結構

Unity3D自學筆記——星際2技能系統分析(一)

資料對象

星際2的整個資料對象都是通過XML進行配置的

Unity3D自學筆記——星際2技能系統分析(一)

星際2按照上圖對資料對象進行了分類

GAME

遊戲相關資料對象

Unity3D自學筆記——星際2技能系統分析(一)

Campaign

戰役相關資料對象

Unity3D自學筆記——星際2技能系統分析(一)

Actor

演算器資料對象

Unity3D自學筆記——星際2技能系統分析(一)

Art And Sound

美術和聲音資料對象

Unity3D自學筆記——星際2技能系統分析(一)

Terrain

地形資料對象

Unity3D自學筆記——星際2技能系統分析(一)

Hero

英雄

Unity3D自學筆記——星際2技能系統分析(一)

UI

界面

Unity3D自學筆記——星際2技能系統分析(一)

Advanced

進階

Unity3D自學筆記——星際2技能系統分析(一)

技能系統 ABE

貌似都把星際2的技能系統稱為ABE(Ability, Behavior, Effect)。

Ability(技能)

技能的基礎資料,比如名字,ID,消耗等。

Effect(效果)

技能所産生的效果,比如造成傷害,星際2的Effect與動畫,特效,音效等是沒有關系的,它是負責邏輯運算,所有的動畫,特效都是在Actor裡面進行處理。

效果又可以生成效果或行為,是以效果也是個樹狀結構。

如:靈能風暴的效果會持續幾秒鐘的時間,并且會在某一地區搜尋機關時周期性的産生另外一個效果。這個搜尋效果會産生在每個機關身上并造成傷害。

Unity3D自學筆記——星際2技能系統分析(一)

Behavior(行為)

效果所産生的行為,比如BUFF

繼續閱讀