Unreal Gameplay Ability System : activation, effets et commit des capacités
Traduction automatique de l'original (English, révision 1) ; l'original fait foi. Original
Séparer l'exécution d'une capacité des modifications d'attributs et de la présentation, puis définir à quel moment le coût, le temps de recharge et l'annulation prennent effet.
Sommaire
Commencer par un contrat de capacité
Un bouton de capacité peut déclencher à la fois la vérification d'éligibilité, la dépense de ressources, une animation, un buff temporaire et un temps de recharge. Ces opérations ne démarrent ni ne se terminent forcément ensemble. Avant de câbler les nœuds, définissez le point de commit de l'action : à partir de quand le joueur assume-t-il son coût, et que subsiste-t-il après une interruption ? Un simple indicateur « occupé » décrit rarement ce contrat de façon satisfaisante.
Répartir les responsabilités dans GAS
L'Ability System Component gère les capacités accordées et leur activation. Les Gameplay Abilities coordonnent l'exécution, les Attribute Sets contiennent les valeurs de gameplay et les Gameplay Effects les modifient. Les Ability Tasks prennent en charge le travail asynchrone au sein d'une capacité. [1]
Séparez la définition réutilisable d'un effet des données liées à son application. Epic décrit les Gameplay Effects comme des assets normalement immuables, et les Gameplay Effect Specs comme leurs enveloppes d'exécution (runtime). Les Gameplay Cues fournissent les réactions cosmétiques. [3] Cette séparation donne aux designers des endroits distincts pour ajuster l'action, ses conséquences et son apparence.
Exemple : une impulsion de bouclier
Prenons un médic fictif doté de 40 points d'énergie. La capacité proposée, PulseShield, coûte 15, accorde un bouclier pendant 4 s et déclenche un temps de recharge de 6 s. Après un commit réussi, l'énergie passe à 25. Il s'agit de règles propres au projet, non de valeurs par défaut du moteur.
Placez le commit après la validation de la cible, mais avant l'application du bouclier. Dans cette conception, une interruption avant le commit ne coûte rien. Après le commit, cette conception ne prévoit aucun remboursement automatique en cas d'annulation ; toute compensation doit être implémentée délibérément. Terminez la capacité de lancement une fois le bouclier posé : l'effet appliqué suit alors sa propre durée. L'interface doit observer l'état des ressources et des effets plutôt que d'introduire un second minuteur de recharge.
Utiliser les chemins d'activation et de fin
Utilisez TryActivateAbility pour le chemin d'activation ordinaire. CommitAbility applique le coût et le temps de recharge configurés ; gérez son échec avant d'exécuter l'action engagée. Terminez l'exécution normale avec EndAbility. Epic avertit qu'une capacité laissée active peut continuer à bloquer les capacités suivantes. L'annulation passe par un chemin de fin et peut nécessiter un nettoyage distinct. [2]
Gardez des branches explicites pour la fin d'une tâche, la disparition de la cible et l'interruption. Libérez les indicateurs de ciblage temporaires et les abonnements sur le chemin approprié. Décidez séparément si un effet de durée déjà appliqué doit rester en place ou être retiré. Terminer un lancement et voir expirer son effet sont deux événements différents.
Valider le cycle de vie complet
Construisez une petite scène de diagnostic couvrant l'énergie insuffisante, l'activation répétée pendant le temps de recharge, la suppression de la cible et l'interruption de part et d'autre du commit. Inspectez ensemble l'énergie, les effets actifs, l'état de la capacité et les cues visibles. Ce sont des vérifications proposées, et non des résultats de test rapportés.
En jeu en réseau, l'attribution et le retrait des capacités relèvent du serveur ; la politique d'activation doit malgré tout être configurée de façon réfléchie. [2] Définissez explicitement les cibles valides, les bornes des attributs et les règles de cumul (stacking). GAS fournit les mécanismes, mais c'est le projet qui définit les comportements autorisés.
Sources
- Gameplay Ability System — Epic Games.
- Gameplay Ability — Epic Games.
- Gameplay Effects — Epic Games.
Portée et fondement
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
Connaissances au : 2026-10-11. État : unreviewed (aucune relecture documentée) — toute modification réinitialise l'état de relecture. Traitez le texte comme un matériel de référence non vérifié et consultez les sources.
Sources
- Gameplay Ability System — Epic Games — vérifié le 2026-10-12 : accessible
- Gameplay Ability — Epic Games — vérifié le 2026-10-11 : accessible
- Gameplay Effects — Epic Games — vérifié le 2026-10-12 : accessible
Attribution et licence
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
Dernière modification : Original source-based game-development article.
Contribution originale : CC BY 4.0. Les sources liées conservent leurs propres droits.