UE5 動作遊戲 - 玩家傷害

Author: Kelvin Huang

本教學介紹製作玩家 [傷害] 與 [補血] 的功能,特效部份使用 StarterContent 提供的火焰粒子製作。

 

首先開啟 BP_ThirdPersonCharacter 藍圖,為玩家角色增加用於儲存 HP 的變數。

按 + 新增變數

修改變數名稱 Health 玩家血量,將此變數設為 Float 浮點數型態。此時無法設定 Default Value 預設值,需要對藍圖進行編譯。

點擊左上方的 Compile 按鈕,然後設定初始值 Health = 100

 

建立 BP_Damage 藍圖,稍後放在關卡中,玩家碰撞時將造成傷害。

滑鼠雙擊開啟藍圖,新增球形碰撞區,命名為 DamageSphere 並調整大小。

刪除預設的 Event BeginPlay, Event ActorBeginOverlap, Event Tick 節點,新增 On Component Begin Overlap 節點。

 

新增 Cast To BP_ThirdPersonCharacter 節點,再從資料引腳拖曳建立節點,選擇 Promote to variable 。

此時 My Blueprint 將出現新增的 As_BP_Third_Person_Character 變數。

將 SET 節點的執行引腳拖曳新增 Set Timer by Event 節點,設定 Time = 1.0 並勾選 Looping 每秒扣血一次。

再從 Set Timer by Event 節點的資料引腳拖曳建立節點,選擇 Promote to variable 增加變數。

變數名稱為 Timer Reference 資料型態 Timer Handle

空白處按滑鼠右鍵,新增 Custom Event 自訂事件,命名為 DamagePlayer ,連接 Set Timer by Event 節點的 Event 引腳。

新增 Branch 節點,稍後用於判斷是否扣血。

將 As BP Third Person Character 變數拖曳至編輯區建立節點。

如果 Health = 0 時就不扣血,避免 Health 出現負數。

 

為了讓玩家離開㑥害區域時停止扣血,增加 OnComponent End Overlap 節點,以及 Clear and Invalidate Timer 等節點。

先選取 P_Fire 效果,再然後選擇新增 Cascade Particle System Component 粒子系統元件。

 

完成以上步驟之後,將藍圖拖曳到遊戲關卡,進行測試!

 

Copyright © 2024 CG Digital Corp. All rights reserved.