游戲技能系統(tǒng)解析

技能系統(tǒng)解析

很抱歉告訴大家柬焕,簡書上不再更新我的個人 博 客,所有文章已經(jīng)搬運到我的新 博 客

技能系統(tǒng)需要根據(jù)當前的項目來劃分慨畸,例如:ACT游戲與MOBA游戲就有一些區(qū)別炒俱。

  • ACT游戲大部分為了追求打擊感使用的是角色身上碰撞盒來觸發(fā)做技能奶稠,ACT游戲追求技能的銜接與多樣性陨献。
  • MOBA游戲就不一樣盒犹,MOBA技能的觸發(fā)是由玩家點擊釋放,技能流程大部分也是根據(jù)動畫幀一套做到底眨业,多技能銜接絕對沒有ACT要求那么高急膀。

我們這里將要講的是用于MOBA/ARPG游戲的技能系統(tǒng),ACT游戲可作為參考龄捡,很多地方是大同小異的卓嫂。

技能系統(tǒng)的構(gòu)成

在國內(nèi)技能系統(tǒng)一般劃分為幾個模塊:角色本身,技能聘殖,Buff晨雳,衍生體;

角色本身:

這個模塊通俗來說就是角色在釋放技能時的動畫控制奸腺,位移控制餐禁,音效,特效等洋机,與操控角色本體相關(guān)的事件表現(xiàn);

技能(Skill):

這個就是技能本身洋魂,它涵蓋技能釋放事件(玩家通過UI點擊調(diào)用事件)绷旗,技能施法條件(CD與藍量檢測),技能施法控制(技能方向位置副砍,角色播放動畫)衔肢,技能結(jié)束回調(diào);

Buff:

這個是技能系統(tǒng)的核心豁翎,Buff用來傳遞施加者給被施加者發(fā)送的指令角骤,例如角色A想給角色B造成多少傷害,那么角色A可以創(chuàng)造一個傷害Buff心剥,這個Buff只用來傳遞傷害邦尊,在創(chuàng)造時告訴Buff角色A自身的攻擊力是多少,要施加給誰优烧,然后將這個帶有A的攻擊力的傷害Buff丟給B蝉揍,這時候Buff開始運轉(zhuǎn),給B造成傷害畦娄;再舉個例子又沾,角色A技能帶有擊飛效果弊仪,那么就是角色A給角色B傳遞了擊飛Buff,這個Buff在運作時操控B擊飛位移杖刷;

這里需要注意励饵,一個技能可能攜帶多個Buff,例如一個技能釋放后滑燃,要會讓角色受傷役听、眩暈、還要讓角色在接下來數(shù)秒內(nèi)被減數(shù)不瓶,這里考慮復(fù)用性可以拆分成三個Buff(傷害Buff禾嫉、眩暈Buff、減速Buff)蚊丐,然后同時拋給被技能命中的角色熙参。

Buff并不是技能特有的,有些Buff是被動Buff麦备,可能角色初始化或者購買裝備后就有孽椰,例如復(fù)活甲這件裝備,購買后其實就是給角色增加了一個復(fù)活被動Buff凛篙,Buff一直掛在在角色身上運作黍匾,等待角色血量為零后才出發(fā),調(diào)用后面的復(fù)活角色邏輯呛梆。甚至還有一些羈絆Buff锐涯,同屬性的角色存在時增加攻擊力等,這也是Buff的一種填物,Buff萬千纹腌,總的來說逃不過幾個大類,后面再具體介紹滞磺。

衍生體:

衍生體大多數(shù)人喜歡把它細分為彈道和法術(shù)場升薯,彈道就是指帶有飛行物的技能(導(dǎo)彈,火球等)击困,法術(shù)場就是指一個技能會創(chuàng)造一塊區(qū)域涎劈,對這個區(qū)域內(nèi)敵人造成傷害。它們本質(zhì)上都是技能衍生出來的物體阅茶,角色技能動畫與衍生體是分離的蛛枚,角色技能本身不造成傷害,由這個衍生物添加Buff造成傷害脸哀,例子的話:LOL阿貍的Q技能坤候,金克斯的R都是彈道,火男的W企蹭,千玨的R都是法術(shù)場白筹,其實還有一些東西也是衍生物智末,例如大頭的炮臺,安妮的熊徒河,這些都是技能衍生出來的物體系馆。

技能施法流程

技能施法流程分為以下幾個過程:

技能前搖

技能耆那要分普通前搖與技能吟唱

普通前搖

舉例就是最簡單的近戰(zhàn)角色平A,將角色平A視為一個技能時可以劃分為三個階段:前搖顽照,結(jié)算由蘑,后搖;其中結(jié)算就是指平A砍刀敵人打出傷害的那一瞬間代兵,那么前搖就是指打出傷害前的人物播放的動畫(角色揮刀砍向敵人的過程)尼酿。這一階段需要處理動畫同步過程,如果前搖動畫結(jié)束了植影,邏輯上的前搖過程還沒結(jié)束裳擎,就會出現(xiàn)畫面上的延遲問題,除此之外還需要處理讀條過程是否允許被打斷思币,允許被什么樣等級的Buff打斷鹿响,以及被打斷后續(xù)的動畫和技能CD處理。一般來說普通的傷害Buff是不會打斷平A的谷饿,但是眩暈惶我、擊飛這種強制Buff會打斷平A的前搖過程。

技能呤唱

技能吟唱通常與技能前搖是重復(fù)的博投,表現(xiàn)上可細分為讀條與蓄力

  • 讀條

舉例來說就是LOL角色回城的進度條過程绸贡、者死歌放大讀條過程,在這一過程我們需要處理人物動畫播放時長與讀條時間同步毅哗,還需要處理和普通前搖一樣的Buff打斷機制听怕,例如回城過程收到普通傷害Buff就會被打斷,但是死歌放大需要控制技能才會被打斷

  • 蓄力

舉例來說就是維魯斯釋放Q技能玩家長按Q鍵蓄力過程黎做、澤拉斯Q技能蓄力過程叉跛,這一過程需要監(jiān)聽玩家的長按輸入過程松忍,將輸入的時間數(shù)值傳輸給后續(xù)的技能蒸殿,改變結(jié)算時傷害或者技能長度狀態(tài)等,然后就是和讀條一樣需要注意的動畫和打斷機制

技能結(jié)算

技能結(jié)算這一過程由傷害Buff來完成鸣峭,計算攻擊角色的各種屬性和技能加成宏所,以及被攻擊角色的各種抗性屬性和某些特殊的無敵、傷害減免Buff摊溶。結(jié)算完成后改變被攻擊玩家的血量爬骤,如果攻擊角色有吸血Buff,那么還需要將最終的傷害返還給吸血Buff進行計算莫换。最后播放一些流血動畫霞玄。

技能后搖

技能后搖在前面技能前搖中有講到骤铃,本質(zhì)上就是人物的后搖動畫(打出傷害后,角色收回刀回到默認動畫狀態(tài)過程)坷剧,這一過程是否需要被打斷需要根據(jù)項目需求來惰爬,例如LOL中后搖就可以被取消,無需等待后搖結(jié)束就可以直接釋放下個技能惫企,瑞文的光速Q(mào)A就是利用了這一原理撕瞧。

再談Buff

根據(jù)上文一些對Buff的描述也能感覺到Buff是個很抽象的概念,它在技能系統(tǒng)中無處不在狞尔,buff的設(shè)計是技能系統(tǒng)的核心丛版,需要高擴展性。在此舉例一些常見類型的Buff

  • 傷害Buff

    用于計算攻擊方與受擊方的角色屬性與技能加成偏序,這一過程分為四部:1.先計算受擊方的被動Buff層和狀態(tài)層页畦,例如無敵Buff,傷害減免Buff禽车;2.計算完Buff后才能進入角色的血量狀態(tài)改變寇漫;3.觸發(fā)攻擊方的一些回血Buff,或疊加Buff殉摔,4.播放受擊特效

  • 被動Buff

    這些Buff常常附帶特效州胳,例如復(fù)活甲,日炎逸月,紅藍霸符栓撞,他們的機制也不一樣,有些是改變角色的屬性(加移速)碗硬,有些是攻擊時代入傷害(耀輝)瓤湘,有些是等待觸發(fā)(復(fù)活甲),有些是衍生Buff(紅Buff)恩尾。他們都有一個共同點弛说,需要監(jiān)聽角色的各種屬性或技能各個流程屬性。

  • 控制Buff

    這一部分Buff有擊飛翰意、擊退木人、眩暈等,它們是一種持續(xù)性Buff冀偶,在buff觸發(fā)期間能夠鎖定角色一些屬性(移動醒第、攻擊等),同時還能改變角色的一些屬性(位置)

  • 一些特殊Buff

    凈化buff进鸠,它可以查找角色中的所有控制Buff稠曼,將其清除。無敵Buff客年,實現(xiàn)方式可以是鎖血霞幅,也可以是給角色添加無敵標志漠吻。

Buff攜帶屬性也是很多的,舉例來說有司恳,buff優(yōu)先等級侥猩,buff打斷等級,buff類型等等抵赢,根據(jù)項目需要增加

技能系統(tǒng)編輯器的實現(xiàn)

常見的編輯器有藍圖和Unity編輯器欺劳、配表,這些各有各的優(yōu)點铅鲤,總的來說還是要根據(jù)項目需求和策劃熟悉度來做(雖然大部分策劃都會選擇配表)划提。

需要注意的是無論哪種編輯器,最終都要滿足批量修改和Json導(dǎo)出這兩個需求邢享,一個是滿足策劃維護鹏往,一個是滿足服務(wù)端使用。

技能配備相關(guān)參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骇塘,一起剝皮案震驚了整個濱河市伊履,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌款违,老刑警劉巖唐瀑,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異插爹,居然都是意外死亡哄辣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門赠尾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來力穗,“玉大人,你說我怎么就攤上這事气嫁〉贝埃” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵寸宵,是天一觀的道長崖面。 經(jīng)常有香客問我,道長邓馒,這世上最難降的妖魔是什么嘶朱? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任蛾坯,我火速辦了婚禮光酣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脉课。我一直安慰自己救军,他們只是感情好财异,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唱遭,像睡著了一般戳寸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拷泽,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天疫鹊,我揣著相機與錄音,去河邊找鬼司致。 笑死拆吆,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的脂矫。 我是一名探鬼主播枣耀,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼庭再!你這毒婦竟也來了捞奕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拄轻,失蹤者是張志新(化名)和其女友劉穎颅围,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恨搓,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡谷浅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奶卓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一疯。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夺姑,靈堂內(nèi)的尸體忽然破棺而出墩邀,到底是詐尸還是另有隱情,我是刑警寧澤盏浙,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布眉睹,位于F島的核電站,受9級特大地震影響废膘,放射性物質(zhì)發(fā)生泄漏竹海。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一丐黄、第九天 我趴在偏房一處隱蔽的房頂上張望斋配。 院中可真熱鬧,春花似錦、人聲如沸艰争。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甩卓。三九已至鸠匀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逾柿,已是汗流浹背缀棍。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留机错,地道東北人睦柴。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像毡熏,于是被迫代替她去往敵國和親坦敌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359