UE5 GAS开发P34 游戏效果理论

GameplayEffects

Attributes(属性)和Gameplay Tags(游戏标签)分别代表游戏中实体的特性和标识。

Attributes(属性):Attributes是用来表示游戏中实体的特性或属性的值,例如生命值、法力值、速度等。它们可以是浮点数(如生命值、法力值)、整数(如等级)、布尔值(如是否存活)等。Attributes通常被用于描述实体的状态或特征,并且可以被Gameplay Effects所修改。

Gameplay Tags(游戏标签):Gameplay Tags是一种用来标识实体的特征或属性的方式。它们可以被用来对实体进行分类、区分和描述,例如对不同类型的角色、武器、技能等进行分类。Gameplay Tags通常用于确定Gameplay Effects的影响对象,或者作为条件来触发特定的行为。例如,可以使用Gameplay Tags来标识一个技能只对特定类型的角色有效,或者一个Buff只对具有特定标签的实体生效。

在Gameplay Effects内有以下几个规定

  1. 只有数据
  2. 不要直接派生自 UGameplayEffect 类来创建自定义的游戏效果。相反,应该使用 UGameplayEffectSpec 或 UGameplayEffectSpecHandle 来创建和管理游戏效果的实例。
  3. 通过Modifiers(修改器)以及Executions(执行)来完成改变

其中分为三块

Modifier Op 修改操作(Modifier Operation)

在游戏中,特别是在UE5中,"Modifier Op"通常用于描述一种对某种数值进行修改或操作的方式。这些修改操作可以应用于游戏中的各种属性、状态或效果,以实现对游戏逻辑和玩法的调整和控制。

  1. 加法(Add):将一个固定值或另一个属性的值添加到目标属性上。
  2. 减法(Subtract):从目标属性中减去一个固定值或另一个属性的值。
  3. 乘法(Multiply):将目标属性乘以一个固定值或另一个属性的值。
  4. 除法(Divide):将目标属性除以一个固定值或另一个属性的值。
  5. 设置(Set):将目标属性设置为一个固定值或另一个属性的值。
  6. 最小化(Minimize):将目标属性设置为目标属性当前值和一个固定值或另一个属性的值之间的较小值。
  7. 最大化(Maximize):将目标属性设置为目标属性当前值和一个固定值或另一个属性的值之间的较大值。
  8. 绝对值(Absolute):将目标属性的值设为其绝对值。
  9. 取反(Negate):将目标属性的值取反。

这些Modifier Op通常在Gameplay Effects中的Effect Spec(效果规范)或Modifier Spec(修改规范)中定义

Magnitude Calculation Type(大小计算类型)

"Magnitude Calculation Type"(大小计算类型)包括四种不同的计算方式:Scalable Float(可扩展浮点数)、Attribute Based(基于属性)、Custom Calculation Class(自定义计算类)和 Set by Caller(由调用者设置)。

  1. Scalable Float

(可扩展浮点数):这种计算类型使用一个可调节的浮点数作为其大小的基础。这个浮点数可以在设计效果时进行调整,以实现不同情况下的不同效果大小。

  1. Attribute Based

(基于属性):这种计算类型根据一个或多个属性的数值来计算效果的大小。属性的数值可能会随着游戏的进行而变化,因此效果的大小也会相应地改变。

  1. Custom Calculation Class

(自定义计算类):这种计算类型使用一个自定义的计算类来确定效果的大小。开发人员可以编写自己的计算逻辑,根据游戏中的特定条件和规则来确定效果的大小。

  1. Set by Caller

(由调用者设置):这种计算类型允许调用者在调用效果时直接设置效果的大小,而不需要使用任何特定的计算逻辑。这种方式通常用于特定情况下需要精确控制效果大小的情况。

Executions

"Executions"(执行)指定了在应用游戏效果时要执行的具体步骤或阶段。这些执行阶段包括:

  1. Gameplay Execution

(游戏执行):指定了在游戏中执行效果时要采取的操作。这可能包括修改属性、应用状态效果、触发事件等。游戏执行阶段通常与游戏逻辑紧密相关,用于处理游戏中的实际效果。

  1. Effect Execution

(效果执行):指定了在应用效果时要执行的操作。这可能包括播放特效、显示界面提示、触发声音等与效果展示相关的操作。效果执行阶段通常用于增强玩家的视觉和听觉体验。

  1. Execution

(执行):指定了在执行效果时要执行的操作。这可能包括执行特定的计算逻辑、调用其他函数或方法等。执行执行阶段通常用于实现效果的具体逻辑和功能。

  1. Calculation Execution

(计算执行):指定了在计算效果大小或其他参数时要执行的操作。这可能包括执行数学运算、查询数据库、调用外部服务等。计算执行阶段通常用于确定效果的具体数值和属性。

Duration Policy

"Duration Policy"(持续时间策略)指定了游戏效果的持续时间类型。这些策略包括:

  1. Instant

(即时):效果立即生效,然后立即结束。这意味着效果没有持续时间,一旦应用,立即产生效果,然后立即结束。

  1. Has Duration

(有持续时间):效果具有指定的持续时间,在这段时间内会持续产生影响。在持续时间结束之后,效果会自动消失或被移除。

  1. Infinite

(无限):效果没有持续时间限制,会持续产生影响直到被手动移除或条件不再满足。这种类型的效果通常用于表示永久性的状态或效果,如永久提升属性或应用永久性的状态效果。

Stacking

"Stacking"(堆叠)指的是在游戏中某种效果可以重复应用多次,每次应用都会增加效果的影响或持续时间。堆叠的效果通常用于表示叠加性的影响,例如增益效果或减益效果,它们在应用多次后会叠加在一起,产生更强大的影响。

Add Gameplay Tags

"Add Gameplay Tags"(添加游戏标签)是指在游戏开发中向角色、物体或者其他游戏实体添加标签,以便在游戏逻辑中对其进行识别、分类或处理。游戏标签通常用于描述实体的属性、状态或所属类别,可以在游戏中方便地进行检索、筛选或执行相应的逻辑操作。

Grant Abilities

"Grant Abilities" 意味着给予游戏中的角色或实体一系列的能力。这些能力可能包括移动、攻击、施放法术、使用道具等等,通过赋予能力,游戏角色或实体可以执行特定的行为或操作,从而影响游戏的进行和玩家的体验。Grant Abilities通常是通过游戏系统或者逻辑来触发,并且可以根据游戏的需求进行动态的控制和管理。

在UE5内有一种轻便的游戏数值Gameplay Effect Spec用来处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工具】录屏软件Captura安装使用及ffmpeg下载配置

开启技术视频创作,录屏软件林林总总,适合的、习惯的最好。 录屏软件Captura的使用及ffmpeg下载配置 1.Captura下载、安装2.FFmpeg下载、配置3.Captura屏幕录制试用、录制视频效果 1.Captura下载、安装 Captura主要是一个免费开源的录屏软件&#xff0c…

系统架构设计精华知识

数据流风格:适合于分阶段做数据处理,交互性差,包括:批处理序列、管理过滤器。调用/返回风格:一般系统都要用到,包括:主程序/子程序,面向对象,层次结构(分层越…

20240330-1-词嵌入模型w2v+tf-idf

Word2Vector 1.什么是词嵌入模型? 把词映射为实数域向量的技术也叫词嵌⼊ 2.介绍一下Word2Vec 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是连续词袋&#xff…

54位大咖演讲精华! 中国生成式AI大会圆满收官,TOP50企业榜单揭晓

54位大咖演讲精华! 中国生成式AI大会圆满收官,TOP50企业榜单揭晓© 由 红板报 提供 智东西4月19日报道,为期两天的2024中国生成式AI大会,今日在京圆满收官。 54位产学研投嘉宾代表全程干货爆棚,报名咨询人数逾52…

操作符不存在:sde.st_geometry ^ !sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间

操作符不存在:sde.st_geometry ^ !sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间 问题:最近在使用SQL图形处理函数处理图形时,莫名奇妙报如下错误,甚是费解 于是开始四处"寻医问药" 1、nav…

G1、CMS垃圾回收期专题

共同点 非阻塞 使用三色标记法 初始标记、并发标记、重新标记、并发清理 (初始标记、重新标记需要stop world) CMS垃圾回收器 缺点 浮动垃圾 有垃圾碎片 关注停顿时间,使用了效率最高的标记清除算法 G1垃圾回收器 缺点 需要配置高&…

MySQL表级锁——技术深度+1

引言 本文是对MySQL表级锁的学习,MySQL一直停留在会用的阶段,需要弄清楚锁和事务的原理并DEBUG查看。 PS:本文涉及到的表结构均可从https://github.com/WeiXiao-Hyy/blog中获取,欢迎Star! MySQL表级锁 MySQL中表级锁主要有表锁…

【Java EE】 SpringBoot配置文件

文章目录 🍀配置文件的作用🌴SpringBoot配置文件🍃配置文件的格式🌳properties 配置文件说明🌸properties基本语法🌸读取配置文件🌸properties 缺点分析 🌲yml 配置文件说明&#x1…

Docker基本管理和虚拟化

一、docker的发展历史 https://www.cnblogs.com/rongba/articles/14782624.htmlhttps://www.cnblogs.com/rongba/articles/14782624.html 二、docker的概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行…

附近商户-GEO数据结构的基本用法

10、附近商户 10.1、附近商户-GEO数据结构的基本用法 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD&#xff1a…

SpringBoot Bean管理(扫描、注册、注册条件)

Bean扫描 一般的扫描包路径 需要使用xml标签或者是ComponentScan(basePackages “xxx.xxx”) ,但是在SpringBoot中不需要。 在springBoot 项目的启动类中有一个注解:SpringBootApplication,这个注解包含以下注解: 但是ComponentScan并没有指明包路径…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是:“任何人都可以自由使用、更改和共享(以修改或未修改的形式)的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…

Maven基础篇5

私服 私服目的,方便公司内计算机通信,方便程序员们开发时资源互换; 1.Nexus私服 https://help.sonatype.com/repomanager3/download 可下载,第一个是服务器,第二个是工作空间 bin中有可执行命令 nexus.exe/run端口…

比亚迪唐EV和唐DM-p荣耀版上市,成为新能源汽车市场中的佼佼者!

随着环保理念的深入人心,新能源汽车市场正迎来前所未有的发展机遇。在这个变革的浪潮中,唐EV和唐DM-p荣耀版的上市无疑为市场注入了新的活力。它们凭借先进的技术、卓越的性能以及豪华配置,成为了新能源汽车市场中的佼佼者。然而,…

【飞桨AI实战】人体姿态估计:零基础入门,从模型训练到应用开发

前言 本次分享将带领大家从 0 到 1 完成一个人体姿态估计任务,覆盖数据准备、模型训练、推理部署和应用开发的全流程,项目将采用以PaddlePaddle为核心的飞桨深度学习框架进行开发,并总结开发过程中踩过的一些坑,希望能为有类似项…

增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM,Python代码)

1.效果视频:增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM)_哔哩哔哩_bilibili) 2.三个模型和数据集的介绍 交通流量预测(python代码,压缩包中带有数据,CN…

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion 基于函数计算FC2.0部署AI数字绘画stable-diffusion基于函数计算FC3.0部署AI数字绘画stable-diffusion总结 在经过了上一次曲线救国失败经历之后,失败经历参考博文:https://developer.aliyun.c…

docker-003镜像制作

步骤 使用docker commit提交容器使之成为镜像以ubuntu安装vim后的容器为例 1 ubuntu安装vim 启动容器 docker run -it --nameubuntu-vim ubuntu /bin/bash安装vim apt-get update apt-get install vim2 提交容器作为镜像 查看容器 docker ps -a提交容器作为镜像 命令格式&…

SimManager助力巴西航空工业公司搭建功能完善的仿真平台

巴西航空工业公司在实施构建结构分析平台之前,使用内部作业调度批处理程序在大型计算机上进行求解作业,前处理器和后处理器在本地工作站上运行,这些程序生成的工程数据存储在共享网络目录中,这一过程带来了一些问题: 为…

STM32 MPU配置参数

TXE LEVEL一般只用MPU_TEX_LEVEL0 1 - 1 - 1 -0性能最强(TEX - C - B- S). #define MPU_TEX_LEVEL0 ((uint8_t)0x00) #define MPU_TEX_LEVEL1 ((uint8_t)0x01) #define MPU_TEX_LEVEL2 ((uint8_t)0x02) 基于上表进行常用配置 &#xff…