中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity3D 戰斗技能系統架構

發布時間:2020-03-03 15:18:20 來源:網絡 閱讀:12152 作者:jxw167 欄目:游戲開發

   大家在玩游戲的時候,經常會看到各種技能特效,遠近***,非常絢麗,角色的打擊感非常吸引玩家,其實這就是我們通常說的戰斗技能系統,大家如果第一次去實現這個戰斗系統,可能感覺無處下手,再被策劃的文案一搞,云里霧里,在這里我就跟大家簡單的說一下如何架設技能系統。

   在實現戰斗系統的時候,首先大家思路一定要明確,知道如何去架設,在不知道如何實現不要忙于寫代碼,想清楚了再寫。

   那現在我們假設實現一個槍戰的戰斗系統,首先會有各種***,***發射的***是不同的,決定了他的破壞程度是不同的,這就涉及一個***與被擊打物體的特效。那我們如何去設計?

   先給大家看一下已經實現的效果圖:

  

Unity3D 戰斗技能系統架構

Unity3D 戰斗技能系統架構

接下來我們開始架構我們的技能。

首先我們針對武器和破壞,這兩個設計兩個基類,為的是擴展不同的武器,以及擴展不同的破壞程度。

代碼如下:

Unity3D 戰斗技能系統架構

以上是Damage的基類我們定義了四個參數,一個是釋放的特效,第二個是自己,第三個是破壞程度,第四個是破壞的目標。

我們的破壞類就要繼承于這個基類方便擴展,比如我們的設計代碼是這樣的:

Unity3D 戰斗技能系統架構

首先要有判斷是否爆炸,以及爆炸的半徑,破壞力度,激活時間等,只要一旦涉及到力度,大家應該立刻想到使用Rigibody這個剛體插件。當然這個函數里還有破壞的函數,在這里需要有一個碰撞體檢測,就是說×××碰到需要破壞的物體需要根據其碰撞體進行檢測。

Unity3D 戰斗技能系統架構

Unity3D 戰斗技能系統架構

我們需要根據碰撞體去檢測是否發生了碰撞,通過OCollisionEnter進行判斷碰撞體是否發生了。

為了調用方便我們實現了一個DamageManager管理類

Unity3D 戰斗技能系統架構

用于判斷其是否死亡。

接下來我們需要設計武器基類:

Unity3D 戰斗技能系統架構

這上面也有一些參數,目標,速度軸等吧。那么我們武器的實現也是繼承這個類。

Unity3D 戰斗技能系統架構

武器系統的設計就完成了,接下來我們需要設置武器控制類

Unity3D 戰斗技能系統架構

用于發射武器,同時我們需要武器發射類,對于這個類的設計,我們也將其繼承于武器基類,其實這個可以獨立實現:

Unity3D 戰斗技能系統架構

爆炸的時候,需要涉及到特效的使用,如果整個都是粒子的話,我們不需要腳本控制,如果不是粒子我們需要腳本控制,也就是爆炸類:

Unity3D 戰斗技能系統架構爆炸類需要綁定到特效上的,一個簡單的武器系統就完成了。其實復雜的技能系統只是按照這個思路進行擴展,簡單的技能系統實現了,復雜的也不會遠了。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金沙县| 朔州市| 大冶市| 凤城市| 仙桃市| 宝丰县| 通州市| 永善县| 鄄城县| 高平市| 安福县| 南宫市| 广饶县| 精河县| 镇赉县| 龙陵县| 阿图什市| 邳州市| 澄迈县| 浦城县| 古丈县| 宁陵县| 禹州市| 呼玛县| 灌云县| 乌鲁木齐市| 和平县| 天长市| 宜兰县| 浦县| 巴林右旗| 公主岭市| 平塘县| 集安市| 江孜县| 依兰县| 镇康县| 乌拉特中旗| 九龙县| 西藏| 阳原县|