UE5多人MOBA+GAS 46、制作龍卷風技能

文章目錄

  • 創建龍卷風GA
    • 創建蒙太奇
    • 創捷一系列GE
    • 添加數據表
    • 添加到角色中


創建龍卷風GA

GA_Tornado
在這里插入圖片描述
添加標簽

	// 龍卷風冷卻CRUNCH_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Ability_Tornado_Cooldown)// 通用技能傷害CRUNCH_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Ability_Generic_Damage)// 通用目標觸發CRUNCH_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Ability_Generic_Target)
UE_DEFINE_GAMEPLAY_TAG_COMMENT(Ability_Tornado_Cooldown, "Ability.Tornado.Cooldown", "龍卷風技能冷卻")UE_DEFINE_GAMEPLAY_TAG_COMMENT(Ability_Generic_Damage, "Ability.Generic.Damage", "技能傷害")UE_DEFINE_GAMEPLAY_TAG_COMMENT(Ability_Generic_Target, "Ability.Generic.Target", "技能目標")
#pragma once#include "CoreMinimal.h"
#include "GAS/Core/CGameplayAbility.h"
#include "GA_Tornado.generated.h"/*** 龍卷風技能:角色召喚龍卷風,持續對周圍敵人造成傷害和擊退效果*/
UCLASS()
class UGA_Tornado : public UCGameplayAbility
{GENERATED_BODY()
public:	// 激活技能virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;	private:// 命中時應用的傷害效果UPROPERTY(EditDefaultsOnly, Category = "Effect")FGenericDamageEffectDef HitDamageEffect;// 命中時的擊退速度UPROPERTY(EditDefaultsOnly, Category = "Effect")float HitPushSpeed = 3000.f;// 龍卷風技能動畫UPROPERTY(EditDefaultsOnly, Category = "Anim")TObjectPtr<UAnimMontage> TornadoMontage;// 龍卷風持續時長(秒)UPROPERTY(EditDefaultsOnly, Category = "Effect")float TornadoDuration = 4.f;// 傷害事件回調(當動畫事件觸發時調用)UFUNCTION()void TornadoDamageEventReceived(FGameplayEventData Payload);
};
#include "GA_Tornado.h"#include "Abilities/Tasks/AbilityTask_PlayMontageAndWait.h"
#include "Abilities/Tasks/AbilityTask_WaitCancel.h"
#include "Abilities/Tasks/AbilityTask_WaitGameplayEvent.h"
#include "Abilities/Tasks/AbilityTask_WaitDelay.h"void UGA_Tornado::ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo,const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData)
{// 提交技能資源(如冷卻、消耗等),失敗則結束if (!K2_CommitAbility()){K2_EndAbility();return;}if (HasAuthorityOrPredictionKey(ActorInfo, &ActivationInfo)){// 任務1:播放龍卷風動畫UAbilityTask_PlayMontageAndWait* PlayTornadoMontage = UAbilityTask_PlayMontageAndWait::CreatePlayMontageAndWaitProxy(this, NAME_None, TornadoMontage);// 綁定動畫結束/中斷事件PlayTornadoMontage->OnBlendOut.AddDynamic(this, &UGA_Tornado::K2_EndAbility);PlayTornadoMontage->OnCancelled.AddDynamic(this, &UGA_Tornado::K2_EndAbility);PlayTornadoMontage->OnInterrupted.AddDynamic(this, &UGA_Tornado::K2_EndAbility);PlayTornadoMontage->OnCompleted.AddDynamic(this, &UGA_Tornado::K2_EndAbility);PlayTornadoMontage->ReadyForActivation(); // 啟動任務// 任務2:在服務端監聽傷害事件if (K2_HasAuthority()){// 等待監聽傷害事件UAbilityTask_WaitGameplayEvent* WaitDamageEvent = UAbilityTask_WaitGameplayEvent::WaitGameplayEvent(this, TGameplayTags::Ability_Generic_Damage,nullptr, false);// 綁定事件回調WaitDamageEvent->EventReceived.AddDynamic(this, &UGA_Tornado::TornadoDamageEventReceived);WaitDamageEvent->ReadyForActivation();}// 任務3:等待技能取消(如玩家提前中斷)UAbilityTask_WaitCancel* WaitCancel = UAbilityTask_WaitCancel::WaitCancel(this);WaitCancel->OnCancel.AddDynamic(this, &UGA_Tornado::K2_EndAbility);WaitCancel->ReadyForActivation();// 任務4:設置技能超時(基于持續時間)UAbilityTask_WaitDelay* WaitTornadoTimeout = UAbilityTask_WaitDelay::WaitDelay(this, TornadoDuration);WaitTornadoTimeout->OnFinish.AddDynamic(this, &UGA_Tornado::K2_EndAbility);WaitTornadoTimeout->ReadyForActivation();}
}void UGA_Tornado::TornadoDamageEventReceived(FGameplayEventData Payload)
{// 服務器中執行if (K2_HasAuthority()){// 獲取目標數據FGameplayAbilityTargetDataHandle TargetDataHandle = Payload.TargetData;// 應用傷害ApplyDamageToTargetDataHandle(TargetDataHandle, HitDamageEffect, GetAbilityLevel(CurrentSpecHandle, CurrentActorInfo));// 擊退目標PushTargetsFromOwnerLocation(TargetDataHandle, HitPushSpeed);}
}

創建蒙太奇

添加兩個插槽
在這里插入圖片描述
在這里插入圖片描述

創捷一系列GE

在這里插入圖片描述
隨便填寫
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

添加數據表

在這里插入圖片描述

添加到角色中

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93601.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何在ubuntu下安裝libgpiod庫

以下是關于如何在ubuntu下安裝libgpiod庫的兩種安裝方式以及遇到ubuntu存在多個工具鏈導致編譯失敗的解決方法。如果想要自由選擇使用不同版本的libgpiod&#xff0c;可以選擇手動編譯安裝方式&#xff0c;系統安裝默認1.6.3版本(ubuntu22.04)。手動編譯安裝1、在github上下載要…

qt vs2019編譯QXlsx

1、安裝ActivePerl2、打開pro文件&#xff0c;直接編譯即可第一個簡單實例&#xff1a;#include "xlsxcellrange.h" #include "xlsxchart.h" #include "xlsxchartsheet.h" #include "xlsxdocument.h" #include "xlsxrichstring.h…

計算機存儲器分類和層次結構詳解

存儲器是計算機系統的核心部件之一&#xff0c;其核心功能是存儲程序&#xff08;指令&#xff09;和數據&#xff0c;是馮諾依曼體系結構“存儲程序”概念的物質基礎。它直接關系到計算機系統的性能、容量和成本。 存儲器核心內容總覽表分類維度存儲器層級技術實現速度容量成本…

通過rss訂閱小紅書,程序員將小紅書同步到自己的github主頁

title: 通過rss訂閱小紅書&#xff0c;程序員將小紅書同步到自己的github主頁 tags: 個人成長 categories:雜談最近在做一些新的嘗試&#xff0c;把文本的內容轉化為漫畫和圖片&#xff0c;方便大眾閱讀&#xff0c;恰好小紅書很適合分發這些內容&#xff0c;于是我開通了小紅書…

麒麟KylinOS V10-SP3 安裝FastGPT

1. 操作系統環境CPU&#xff1a;20核 Xeon(R) Platinum 8457C 內存&#xff1a;64GB GPU&#xff1a;4090 操作系統&#xff1a;KylinOS-V10-SP32. 安裝docker、docker-compose、fastgpt下載安裝docker、docker-compose1. 下載docker docker 下載地址&#xff1a; https://do…

前端/在vscode中創建Vue3項目

Contenthtml input元素添加css樣式使用js添加交互按鈕點擊提示輸入框字符計數使用 npm 來管理項目包安裝 Node.js初始化項目安裝依賴包創建一個基于 Vite 的 Vue 項目創建項目進入項目目錄安裝依賴調用代碼格式化工具啟動開發服務器在瀏覽器中訪問html input元素 <input ty…

HiSmartPerf使用WIFI方式連接Android機顯示當前設備0.0.0.0無法ping通!設備和電腦連接同一網絡,將設備保持亮屏重新嘗試

在使用HiSmartPerf使用WIFI方式連接Android機時&#xff0c;如果出現無法ping通0.0.0.0的情況&#xff0c;可以嘗試以下步驟解決問題&#xff1a;問了一下AI&#xff0c;給出的解答如下&#xff1a; 檢查網絡連接 &#xff1a;確保設備和電腦連接到同一局域網的Wi-Fi。可以在手…

SpringWeb是什么東西?

SpringWeb是個什么東西&#xff1f;SpringWeb是一個Java開發Web項目時的Web層框架。所謂Web層&#xff0c;就是直接和用戶打交道的框架&#xff0c;用戶(User)也就是顧客&#xff0c;顧客就是上帝&#xff0c;我們說是Web項目&#xff0c;通常也就是說B/S架構的項目&#xff0c…

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理

docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理 一、環境介紹 二、基礎環境安裝 1、優化系統參數 2、安裝docker 3、創建容器網絡 4、安裝測試容器(可選) 三、安裝nginx 1、拉取鏡像 2、創建映射目錄 3、準備默認配置文件 4、證書文件準備 5、啟動nginx容器…

自動駕駛中安全相關機器學習功能的可靠性定義方法

摘要當前標準無法涵蓋高自動化駕駛中基于機器學習功能的安全需求。由于神經網絡的不透明性&#xff0c;一些自動駕駛功能無法按照 V 模型進行開發。這些功能需要對標準進行擴展。本文聚焦這一空白&#xff0c;為這類功能定義了功能可靠性&#xff0c;以幫助未來的標準控制基于機…

css實現圓角+邊框漸變+背景半透明

ui小姐姐經常搞一些花里胡哨的東西&#xff0c;圓角邊框漸變背景半透明&#xff0c;雖然每個都可以弄&#xff0c;但是合在一起真的不好弄&#xff0c;主要是因為通過border–image設置的邊框漸變&#xff0c;無法使用圓角&#xff0c;下面是自己搜索整理的一些可以的方案。 方…

tree組件(幾種不同分叉樹Vue3)

效果圖&#xff1a; 基礎樹組件&#xff08;本人博客里面有&#xff09; https://blog.csdn.net/xfy991127/article/details/140346861?spm1001.2014.3001.5501 下面是工作需求改造后 父組件 <template><div class"go-JJTree" id"tree-scroll&quo…

百度智能云x中科大腦:「城市智能體」如何讓城市更會思考

近日&#xff0c;2025中關村論壇系列活動——中關村人工智能與未來城市論壇在中關村國家自主創新示范區展示中心舉辦。論壇上&#xff0c;發布了應用范式創新升級成果、智能體產品、可信數據空間成果等。 中科大腦聯合百度智能云等伙伴共同打造并發布21個智能體產品&#xff0c…

在職老D滲透日記day16:sqli-labs靶場通關(第24關)二次注入 sqlmap自動注入沒跑出來。。。

5.24.2.sqlmap自動注入第一個&#xff1a;登錄頁面&#xff08;1&#xff09;pb抓取http頭POST /sqli-labs/Less-24/login.php HTTP/1.1 Host: 192.168.10.106 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0 Accept: text/ht…

Fanuc機器人EtherCAT通訊配置詳解

1、EtherCAT簡介EtherCAT&#xff0c;這一基于以太網的現場總線系統&#xff0c;以其開放架構和高速性能著稱。CAT代表的是控制自動化技術&#xff08;Control Automation Technology&#xff09;的縮寫&#xff0c;彰顯了其在工業自動化領域的核心地位。作為確定性的工業以太網…

超酷炫的Three.js示例

今天寫一個超級酷炫的Three.js示例&#xff0c;以下是文件源代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-sca…

從零開始大模型之實現GPT模型

從零開始大模型之從頭實現GPT模型1.大語言模型整體架構2 大語言的Transformer模塊2.1 層歸一化2.2 GELU激活函數2.3 前饋神經網絡2.4 快捷連接3 附錄3.1 anacondapython環境搭建1.數據預處理&#xff1a;原始數據進行詞元化&#xff0c;以及通過&#xff0c;依據詞匯表生成ID編…

[1Prompt1Story] 滑動窗口機制 | 圖像生成管線 | VAE變分自編碼器 | UNet去噪神經網絡

鏈接&#xff1a;https://github.com/byliutao/1Prompt1Story 這個項目是一個基于單個提示生成一致文本到圖像的模型。它在ICLR 2025會議上獲得了聚焦論文的地位。該項目提供了生成一致圖像的代碼、Gradio演示代碼以及基準測試代碼。 主要功能點: 使用單個提示生成一致的文本…

【GitHub開源AI精選】Sitcom-Crafter:北航聯合港中文等高校打造的劇情驅動3D動作生成系統

系列篇章&#x1f4a5; No.文章1【GitHub開源AI精選】LLM 驅動的影視解說工具&#xff1a;Narrato AI 一站式高效創作實踐2【GitHub開源AI精選】德國比勒費爾德大學TryOffDiff——高保真服裝重建的虛擬試穿技術新突破3【GitHub開源AI精選】哈工大&#xff08;深圳&#xff09;…

智和信通全棧式運維平臺落地深圳某學院,賦能運維管理提質提效

深圳某學院校園內信息化設備眾多&#xff0c;網絡環境復雜&#xff0c;使得網絡管理工作面臨著諸多難題與挑戰。為保障校園網絡能夠穩定、高效地運行&#xff0c;學院亟須構建一套集高效、智能、協同于一體的網絡運維平臺。 對運維平臺的期望包括&#xff1a; 實現校園內教學…