UE4_攻擊傷害1_射線檢測


首先在武器的結構體中添加一個代表武器攻擊范圍的變量

 

 

設置上各武器的攻擊距離(ps.ue4里的默認單位是厘米,如圖長矛的攻擊距離是200cm)

 

 

讀取當前武器的距離,發射相應長度的射線用於判定。

在播放聲音之前新建一個動畫通知,用於通知該發射判定射線了

 

 然后把長矛的其他兩個藍圖也加上同樣的動畫通知。

 在動畫藍圖的事件圖表中寫入邏輯。

當my attack front被觸發時,獲得角色的武器,如果存在,就發射一個Sphere 的射線(跟line的不同在於有半徑,是個膠囊體)

獲得player的camera,以location作為射線的起點,長度為當下weapon的distance。

 

 

上圖把半徑設成了20,下圖為測試效果

 

這個是匕首和長矛攻擊距離不同的示例

 

 

另,把player提升為了變量,這樣每次調用角色的屬性就不用來這里找了。

 

 

可以把這一堆的攻擊射線檢測打包成一個函數,畢竟后面要經常調用。

記得要返回射線檢測的兩個輸出。

 

 

 

 

 長矛大概就這樣,都是向前攻擊的。

然后做長劍的。長劍有左右攻擊之分。

新建兩個動畫通知,attackLeft和attackRight

 

 這里用的是一個盒型的射線檢測(還要一種是mutibox,可以檢測多個目標,現在這個只能檢測一個目標)

與之前射線不同的是他需要輸入Half Size作為參數,用來控制盒子的大小,還需要玩家的旋轉值作為盒體的朝向。

 

 測試是這個樣子

 

 

然后打包。

 

 

 

既然有了盒型射線檢測,那么不如把向下劈砍的動畫也設成一個豎直盒型的檢測。

新建一個動畫通知。並且在原有AttackLR基礎上修改盒子的數據(調換一下y和z 的值就行)

 

 

 

 最后一個小匕首,都設成front好了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM