91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

大埔县| 浏阳市| 亳州市| 湘潭县| 龙州县| 六枝特区| 江都市| 白河县| 乐都县| 抚宁县| 沅江市| 寿阳县| 龙里县| 延寿县| 蒲江县| 社会| 沾益县| 鞍山市| 舒城县| 襄樊市| 天津市| 郯城县| 枣庄市| 普兰店市| 高雄县| 恩施市| 黑龙江省| 名山县| 香格里拉县| 林芝县| 辰溪县| 平顶山市| 汝州市| 昭通市| 县级市| 江源县| 瑞金市| 兴业县| 神农架林区| 大港区| 沙湾县|