UE5 GAS开发P34 游戏效果理论

server/2024/11/30 0:51:57/

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.ppmy.cn/server/15045.html

相关文章

【SolidWorks多种安装错误解决教程】

sw卸载重装教程 SolidWorks也就是sw每次重装或者新电脑安装都出问题,这次大概做一个汇总,如有其他问题可以评论让我加上。 AutoRemove一键卸载工具 autoremove有清理solidworks的功能,如图,先登录,登录之后点击清理卸载…

[InternLM训练营第二期笔记]6.Lagent AgentLego 智能体应用搭建

该系列是上海AI Lab举行的书生 浦语大模型训练营的相关笔记部分。 该笔记是第六节课,学习大语言模型智能体的基本概念,以及Lagent的使用。 0. 智能体 在大型语言模型(LLM)的上下文中,智能体(agent&#xf…

【AIGC调研系列】Phi-3 VS Llama3

2024-04-24日发布的Phi-3系列模型在多个方面展现出了对Llama-3的性能优势。首先,Phi-3-small(7B参数)在MMLU上的得分高于Llama-3-8B-Instruct模型,分别为75.3%和66%[1]。此外,具有3.8B参数的Phi-3 Mini在性能上优于Lla…

【C++风云录】梦幻般的机器人世界:探索ROS、PCL、OpenCV和更多顶尖技术

机器人技术与计算机视觉世界:ROS、PCL、OpenCV等综合指南 前言 本文旨在深入探讨ROS(机器人操作系统)、PCL(点云库)、OpenCV(开源计算机视觉库)、Eigen(线性代数库)、B…

【论文笔记】基于预训练模型的持续学习(Continual Learning)(增量学习,Incremental Learning)

论文链接:Continual Learning with Pre-Trained Models: A Survey 代码链接:Github: LAMDA-PILOT 持续学习(Continual Learning, CL)旨在使模型在学习新知识的同时能够保留原来的知识信息了,然而现实任务中&#xff…

Redis集合[持续更新]

Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 数据结构 1. string 字符串 字符串类型是 Redis 最…

前端三剑客 HTML+CSS+JavaScript ④ HTML标签

祝你先于春天,翻过此间铮铮山峦 —— 24.4.23 一、HTML排版标签 1.标题标签 h1~h6 标签含义:标题 单/双标签:双 主要用前三个 2.段落标签 p 标签含义:段落 单/双标签:双 3.div 没有任何含…

【深度学习】DragGAN

基于StyleGAN的图像拖拽编辑新范式 一、StyleGAN与DragGAN:图像生成与编辑的桥梁二、DragGAN的实现原理三、实例与代码展示四、总结与展望 在深度学习和计算机视觉领域,图像生成和编辑技术一直是研究的热点。StyleGAN作为一种强大的图像生成模型&#xf…