UE5 GAS开发P34 游戏效果理论

2024-04-25 07:04

本文主要是介绍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用来处理

这篇关于UE5 GAS开发P34 游戏效果理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

使用Python实现生命之轮Wheel of life效果

《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer... 最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类