Gameplay Ability System (GAS) — это мощный фреймворк для создания способностей и атрибутов в играх, особенно в жанрах RPG и MOBA. Его ключевые преимущества включают встроенную поддержку мультиплеера и высокую гибкость настройки механик. GAS использует компоненты, атрибуты, эффекты и способности, взаимодействующие друг с другом через Ability System Component (ASC), который является центральным элементом системы.

Атрибуты, такие как здоровье и мана, хранятся в UAttributeSet и состоят из базового и текущего значений, которые изменяются через геймплейные эффекты. Эти эффекты могут быть мгновенными, временными или бесконечными. При изменении значений атрибутов можно использовать делегаты ASC для отслеживания изменений. Геймплейные эффекты (GE) — основной способ взаимодействия между ASC, их можно настраивать для изменения атрибутов, наложения тегов и выполнения других действий.
Визуализация GE осуществляется через Gameplay Cues (GC), которые бывают двух типов: статические (для мгновенных эффектов) и акторные (для длительных эффектов). Способности (GA), в свою очередь, представляют собой действия, которые могут выполнять персонажи, используя различные таски, такие как проигрывание анимаций или ожидание урона.
В практическом примере статьи демонстрируется создание персонажа с атрибутами здоровья и маны, способностью наносить урон и применять баф, увеличивающий этот урон. Для этого используются различные компоненты GAS, включая AttributeSet, AbilitySystemComponent, Gameplay Effects, Gameplay Cues и Gameplay Abilities. Урок освещает создание базовых атрибутов, настройку способностей и их привязку к вводу, а также визуализацию эффектов.

Изображение носит иллюстративный характер
Атрибуты, такие как здоровье и мана, хранятся в UAttributeSet и состоят из базового и текущего значений, которые изменяются через геймплейные эффекты. Эти эффекты могут быть мгновенными, временными или бесконечными. При изменении значений атрибутов можно использовать делегаты ASC для отслеживания изменений. Геймплейные эффекты (GE) — основной способ взаимодействия между ASC, их можно настраивать для изменения атрибутов, наложения тегов и выполнения других действий.
Визуализация GE осуществляется через Gameplay Cues (GC), которые бывают двух типов: статические (для мгновенных эффектов) и акторные (для длительных эффектов). Способности (GA), в свою очередь, представляют собой действия, которые могут выполнять персонажи, используя различные таски, такие как проигрывание анимаций или ожидание урона.
В практическом примере статьи демонстрируется создание персонажа с атрибутами здоровья и маны, способностью наносить урон и применять баф, увеличивающий этот урон. Для этого используются различные компоненты GAS, включая AttributeSet, AbilitySystemComponent, Gameplay Effects, Gameplay Cues и Gameplay Abilities. Урок освещает создание базовых атрибутов, настройку способностей и их привязку к вводу, а также визуализацию эффектов.