Les macros sont comparables aux graphiques de nœuds réduits. Elles ont un point d'entrée et un point de sortie définis par des nœuds tunnel. Chaque tunnel peut avoir un nombre illimité de broches d'exécution ou de données, visibles sur le nœud macro lorsqu'elles sont utilisées dans d'autres blueprints ou graphiques.
Création de macros
Dans ce tutoriel, vous allez créer une macro pour vérifier si un personnage a suffisamment d'énergie pour sauter. Si c'est le cas, votre macro épuisera l'énergie du joueur, affichera sa valeur actuelle à l'écran, puis appellera la fonction de saut. S'il n'a pas assez d'énergie, votre macro indiquera à l'écran qu'il n'a plus d'énergie et l'empêchera de sauter.
Dans cet exemple, nous utilisons le projet Blueprint à la troisième personne avec le contenu de démarrage activé.
Après avoir créé et lancé votre projet, accédez au dossier
Content/ThirdPerson/blueprintset ouvrez le blueprint BP_ThirdPersonCharacter.Accédez à la fenêtre Mon blueprint, puis cliquez sur le bouton Ajouter une macro.
Une nouvelle macro est créée. Sélectionnez-la et appuyez sur F2 pour la renommer EnergyCheck.
Une fois la macro sélectionnée, accédez à Détails > Entrées, puis cliquez sur Ajouter(+) pour créer une commande appelée BeginCheck, puis réglez son type sur Exec ** (broche d'exécution).
Accédez à Détails > Sorties et cliquez sur Ajouter(+) pour créer deux sorties. Nommez l'une HasEnergy et l'autre NoEnergy, puis configurez les types de broche Exec.
Des nœuds d'entrée/de sortie seront alors créés sur le nœud de la macro et pourront être utilisés pour transmettre des données vers et depuis la macro.
Pour l'entrée, utilisez une broche d'exécution appelée BeginCheck qui lance la macro. Puis, créez un script qui vérifie si le joueur a suffisamment d'énergie pour sauter ; si c'est le cas, il exécute la broche HasEnergy. Si le joueur n'a pas assez d'énergie, la broche NoEnergy est exécutée.
Dans la fenêtre Mon blueprint, cliquez sur le bouton Ajouter une variable pour créer une variable float nommée Energy.
Dans la barre d'outils, cliquez sur Compiler, puis sélectionnez Énergie et accédez au panneau Détails pour régler sa valeur sur 100.
Dans le graphique Énergie, cliquez sur B + clic gauche pour créer un nœud Branch.
Blueprintcontext_graphMaintenez la touche Ctrl enfoncée et faites glisser la variable float Energy depuis l'onglet Mon blueprint vers le graphique de macros. Puis, faites glisser la broche de sortie pour rechercher un nœud opérateur Greater et connectez la broche de sortie au nœud Branch.
Maintenez la touche Alt enfoncée et faites glisser la variable Energy pour ajouter un nœud Set.
Maintenez la touche Ctrl enfoncée et faites à nouveau glisser la variable Energy pour la connecter à un nœud Subtact(-). Réglez sa valeur sur 10 et connectez-la au nœud Set. Avec ce script, nous déterminons que si Energy est > 0, nous voulons soustraire 10 à la valeur actuelle de l'énergie.
Faites un clic droit dans le graphique et ajoutez un nœud Print String, puis connectez le nœud Set Energy à la broche In String.
Un nœud Conversion est ajouté et permet de convertir la valeur de l'énergie en chaîne affichée à l'écran avec sa valeur.
Depuis la broche False du nœud Branch, ajoutez un autre nœud Print String et saisissez le texte "Out of Energy!" dans la zone. Puis, connectez les premier et deuxième nœuds Print String aux broches HasEnergy et NoEnergy, respectivement.
Blueprintcontext_graphLa macro est maintenant configurer pour vérifier (et, le cas échéant, soustraire) la variable Energy et afficher si le joueur a suffisamment d'énergie, ce qui permet de déterminer s'il peut sauter ou non. À présent, vous devez implémenter la macro après avoir appuyé sur la touche "Jump", mais avant l'exécution de l'action de saut.
Dans le graphique d'événements, faitez glisser la broche Pressed du nœud InputAction Jump et recherchez EnergyCheck.
La macro que vous avez créée devrait apparaître sous Utilities et afficher l'icône Macro près de son nom.
Une fois la macro ajoutée, le script Jump devrait ressembler à l'exemple ci-dessous.
Cliquez sur les boutons Compiler et Enregistrer, puis fermez le blueprint.
Cliquez sur Lire dans la barre d'outils principale de l'éditeur.
Lorsque vous appuyez sur la barre d'espace pour sauter, la valeur de l'énergie s'affiche en haut à gauche de l'écran. Si la valeur de l'énergie est de 0, vous ne devriez plus pouvoir sauter.
Résultat final
Il s'agit d'un exemple basique d'utilisation de la macro pour exécuter et consolider un script en un seul nœud, ce qui améliore la lisibilité du graphique d'événements et du script de personnage principal. Vous pouvez aussi faire appel à cette macro dans d'autres situations. Par exemple, si une action réduit l'énergie du joueur et que vous voulez vérifier s'il en a suffisamment pour effectuer l'action (comme attaquer), vous pouvez exécuter cette macro pour vérifier si le joueur a suffisamment d'énergie pour attaquer après avoir appuyé sur la touche d'attaque, puis exécuter une attaque depuis la broche d'exécution HasEnergy.