Gameplay Ability System(GAS)组成部分及其功能
1892st
2024年09月03日 14:22
收录于文集
共43篇

Gameplay Ability System(GAS)组成部分及其功能

虚幻引擎的 Gameplay Ability System(GAS) 是一个强大的框架,用于实现复杂的游戏玩法,如技能、状态效果、属性变化等。除了 Gameplay Cue 外,GAS 还包含以下主要组成部分,每个部分都有其特定的用途和功能:1. Gameplay Ability

  • 功能: Gameplay Ability 是 GAS 的核心组件,用于定义游戏角色可以执行的各种能力或技能。这些能力可以是简单的动作(如跳跃),也可以是复杂的技能(如施放法术、发动攻击)。

  • 关键特性:

    • 激活条件: 定义何时以及如何激活能力,可以是玩家输入、触发器、或其他条件。

    • 能力执行流程: 控制技能的执行过程,包括启动、执行、结束阶段。

    • 成本和资源管理: 定义施放能力所需的资源(如魔法值、能量)及其消耗方式。

    • 冷却和触发机制: 管理能力的冷却时间以及何时能够再次使用。

2. Gameplay Effect

  • 功能: Gameplay Effect 是用于描述和应用游戏中角色的状态变化的组件,如增益(Buff)、减益(Debuff)、属性增减等。Gameplay Effect 可以附加到角色或物体上,并在一段时间内生效。

  • 关键特性:

    • 属性修改: 改变角色的属性值,如增加生命值、减少移动速度、增加防御力等。

    • 持续时间: 控制效果的持续时间,可以是即时生效(瞬时)或持续一段时间。

    • 堆叠规则: 定义效果是否可以叠加以及如何叠加,例如多次应用是否会叠加效果或刷新持续时间。

    • 免疫性和覆盖规则: 设置效果之间的优先级和相互排斥关系,决定哪些效果可以共存,哪些不能。

3. Attribute Set

  • 功能: Attribute Set 是用于管理角色属性(Attributes)的组件。这些属性包括生命值、魔法值、力量、敏捷等,Attribute Set 允许开发者定义角色的基础属性并在游戏过程中进行动态修改。

  • 关键特性:

    • 属性定义: 定义和组织角色的各类属性,如健康值、耐力、攻击力等。

    • 属性计算: 包含属性变化的逻辑,如当受到伤害时减少生命值,或当施法时减少法力值。

    • Gameplay Effect 交互: 当 Gameplay Effect 影响角色属性时,Attribute Set 负责处理和更新这些属性。

4. Gameplay Tags

  • 功能: Gameplay Tags 是一个系统,用于为游戏对象和事件分配标签(Tags),以便在游戏逻辑中进行过滤、检查和比较。它们在 GAS 中广泛用于标记和管理能力、效果和状态。

  • 关键特性:

    • 标签管理: 可以为角色、能力或效果分配一个或多个标签,以描述其属性或状态。

    • 标签比较和条件: 允许在游戏逻辑中检查对象是否具有特定标签,并根据这些标签触发特定的行为或效果。

    • 标签层级: 标签可以是分层的,允许更细粒度的管理和逻辑检查。例如,一个 “状态.眩晕” 标签可以表示某个角色处于眩晕状态。

5. Gameplay Tasks

  • 功能: Gameplay Tasks 是 GAS 中用于异步或并行执行任务的组件。它们允许能力在执行过程中启动多个异步任务,比如等待玩家输入、处理延迟动作或管理多个并发效果。

  • 关键特性:

    • 异步执行: 允许在能力执行过程中处理异步事件,比如计时器、网络事件或玩家输入。

    • 任务管理: 可以在任务之间进行同步,确保复杂的能力逻辑能够正确执行。

    • 事件触发: 可以在特定条件满足时触发能力中的其他逻辑或效果。

6. Gameplay Modifiers

  • 功能: Gameplay Modifiers 是 Gameplay Effect 的一部分,定义了对角色属性的修改方式。例如,增加攻击力或降低防御力。它们允许 Gameplay Effect 动态地调整目标的属性值。

  • 关键特性:

    • 修改属性值: 根据 Gameplay Effect 的规则动态地调整角色的属性,如增加百分比攻击力或减去固定生命值。

    • 计算方式: 支持多种属性修改方式,如增加、乘法、覆盖等,使得效果的应用更加灵活。

总结 Gameplay Ability System(GAS) 是一个模块化且强大的框架,用于管理虚幻引擎中的游戏玩法逻辑。它的核心组成部分包括 Gameplay Ability(定义和执行能力)、Gameplay Effect(应用和管理效果)、Attribute Set(管理角色属性)、Gameplay Tags(标记和管理对象状态)、Gameplay Tasks(处理异步任务)以及 Gameplay Modifiers(修改属性值)。这些组件相互协作,使得开发者能够创建复杂且高度定制化的游戏玩法,如技能系统、状态效果系统等。