UE4/5 GAS技能系统入门3 - GameplayEffect

2024-02-03 15:10

本文主要是介绍UE4/5 GAS技能系统入门3 - GameplayEffect,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读本文需要上一篇AttributeSet的基础知识:
https://blog.csdn.net/grayrail/article/details/132148492

本文也并非教程性质文章,主要讲解+学习记录为主。
这篇开始讲AttributeSet配置好后,GameplayEffect的使用。

1.将GE配置至Ability Cost

首先修改一下之前创建的测试技能,加上GA前缀,让命名规范一些:
在这里插入图片描述
在GAS系统中Ability(单个技能) 允许自带Cooldown(技能冷却)和Cost(技能消耗)的配置信息。
先来配置技能消耗,创建GameplayEffect类命名为GE_HpCost,配置为执行时扣除5点生命值:
在这里插入图片描述
GameplayEffect中的Modifier表示执行该GE时的修改操作。

然后将该GE绑定至GA当中:
在这里插入图片描述

测试下,触发技能时HP受到了减少:
在这里插入图片描述
而如果HP值小于技能消耗,比如HP是2,技能消耗是5,则技能触发失败。这样的设计符合常规逻辑。

2.配置Ability的Cooldown

接下来配置技能冷却,新建一个GameplayEffect类命名为GE_Cooldown,设置参数Duration Policy为Has Duration,表示这是一个持续一段时间的技能效果,设置Duration Magnitude为3,表示持续时间3秒:
在这里插入图片描述
回到技能类GA_Ability1,配置该Cooldown:
在这里插入图片描述
此时会发现该技能还是可以重复执行,没有受到冷却时间的影响:
在这里插入图片描述
这是因为还没有配置Tag,接下来将讲解如何配置Tag

3.配置Cooldowns的Tag

回到Project Settings,添加Tag —— AbilityCooldown:
在这里插入图片描述
在GA_Ability1中设置Block Abilities with Tag,将AbilityCooldown设置上去:
在这里插入图片描述
表示当存在AbilityCooldown的Tag时,这个技能将被Block,执行失败。

最后到GE_Cooldown处,添加Granted Tag标记,表示触发时会增加该Tag:
在这里插入图片描述
此时执行后,会发现冷却时间未到则触发失败。

3.1 读取Cooldown的剩余数值

那么既然设置了冷却时间,还需要读取冷却时间数值给UI显示,我们可以通过Get Active Gameplay Effect for Query去得到当前存在的GE,再从GE句柄读取具体参数:
在这里插入图片描述
执行后返回正确的冷却时间信息:
在这里插入图片描述

这篇关于UE4/5 GAS技能系统入门3 - GameplayEffect的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674542

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压