Nombres de dégâts Unreal Engine : créer des chiffres flottants avec l'IA
Nombres de dégâts flottants Unreal Engine : coups normaux blancs, coups critiques dorés à partir de 22, un chiffre qui monte de 120 unités et s'estompe.
Les nombres de dégâts flottants dans Unreal Engine reposent sur trois petites idées : quelque chose qui subit des dégâts et se souvient de sa santé, un petit morceau de texte qui apparaît au bon endroit dans le monde, et une règle qui le fait monter puis disparaître en fondu. Quand vous voyez un nombre dans un jeu, ce n’est que cela : un petit acteur qui vit moins d’une seconde. Le moyen le plus simple de les construire est de demander à une IA le système complet en une seule requête.
Dans ce tutoriel pas à pas, Ultimate Engine CoPilot construit des mannequins d’entraînement et des nombres de dégâts flottants, blancs pour les coups normaux et dorés pour les coups critiques. Vous obtenez le prompt exact, un bug que l’IA a trouvé en regardant l’écran et une explication claire du fonctionnement des nombres de dégâts flottants.
Ce que fait le système terminé
Deux mannequins d’entraînement se tiennent dans la neige. Vous appuyez sur G, le mannequin le plus proche encaisse un coup, et un nombre flotte au-dessus de lui avant de disparaître en fondu. Blanc pour un coup normal. Doré, plus grand, avec un point d’exclamation, pour un coup critique. La santé baisse à chaque coup, et quand elle atteint zéro, le mannequin tombe et disparaît.

Deux mannequins distants de 400 unités, et le joueur à portée du plus proche.
Le prompt
Copiez ceci, changez la plage de dégâts ou le seuil critique, et voyez ce que l’IA construit :
Make floating damage numbers. Create BP_TrainingDummy in /Game/Series/EP40_DamageNumbers, a dummy made from a cylinder body and a sphere head with 100 health, and WBP_DamageNumber, a text widget. Create BP_DamageController in the same folder, an actor that I place once in the level, that listens for the G key. Pressing G hits the nearest training dummy within 600 units for a random damage from 10 to 25. Each hit spawns a floating number above the dummy that rises 120 units over 0.8 seconds and fades out: normal hits are white, hits of 22 or more are critical, gold, bigger and written with an exclamation mark. When a dummy reaches 0 health it falls over and is destroyed after 1 second. Keep the damage range, the critical threshold and the rise height as variables. Place two dummies near the player start, 400 units apart. Then play test it: teleport the player next to a dummy, press G five times, check each hit spawns a number with the right colour, check the dummy health goes down, check the dummy is destroyed at 0, and fix anything that does not work.
Regardez la part du prompt qui est en nombres et celle qui est en mots. Des nombres pour les règles : de 10 à 25, 22 pour un coup critique, 600 unités, 120 vers le haut, 0,8 seconde. Des mots pour l’aspect : blanc et doré, plus grand, le point d’exclamation. C’est un bon partage pour n’importe quel prompt.
Comment l’IA le construit
L’IA lit le projet, puis se met au travail. Quatre assets apparaissent : le mannequin, le widget du nombre, le contrôleur et un acteur supplémentaire qui transporte le widget dans le monde. L’IA a décidé seule qu’un widget a besoin d’un petit acteur pour exister dans le monde, et l’a ajouté.
Une erreur de compilation est apparue sur le contrôleur, un type obsolète sur une variable. L’IA l’a vue, a reconstruit cette partie du graphe sans le problème et a compilé de nouveau.

Le graphe du contrôleur : trouver le mannequin le plus proche, tirer des dégâts, les appliquer et faire apparaître le nombre.
Un bug que les nombres ne montraient pas
Le premier appui sur G fonctionne : 22 de dégâts, la santé passe de 100 à 78, et un nombre monte. Puis l’IA regarde une capture d’écran et trouve ce que les nombres ne montraient pas. Le corps du mannequin était devenu sa racine : le corps se trouvait donc à moitié enfoncé dans le sol et la tête flottait au-dessus. Elle a redéfini la racine du mannequin et relancé tout le test. C’est pourquoi il est bon de laisser l’IA regarder l’écran.
Le rapport

Toutes les vérifications réussissent, avec les remarques sur la touche, les couleurs et les captures d’écran.
Le rapport contient un tableau avec chaque vérification :
- Cinq appuis, cinq coups. Les couleurs : blanc, blanc, doré, blanc, doré.
- La santé : 100, 83, 69, 45, 29, 6.
- Un mannequin hors de portée, à 667 unités, n’est pas touché.
- Un mannequin à 0 de santé tombe et est détruit environ 1 seconde après le coup fatal.
- Le nombre monte de 101 unités peu avant la fin de ses 0,8 seconde.
Le rapport indique aussi ce à quoi vous ne vous attendez peut-être pas :
- La touche G est vérifiée à chaque frame plutôt qu’avec un événement de touche, parce que l’IA n’a pas trouvé d’outil pour manipuler l’événement de touche hérité (legacy). En jeu, le comportement est identique, et vous pouvez demander une action Enhanced Input à la place.
- Un mannequin qui meurt est ignoré, donc le coup suivant va au mannequin le plus proche suivant.
- L’IA n’a pas capturé de nombre doré à l’écran : le point d’exclamation et la taille plus grande ne sont donc confirmés que par le graphe.
- Dans la dernière exécution, la mort a été déclenchée en appelant directement l’événement de coup du mannequin avec 100 de dégâts. Une exécution précédente avait tué un mannequin avec les seuls appuis sur G, avec la même chute et la même destruction.
Comment fonctionnent les nombres de dégâts flottants, en termes simples
Quand vous appuyez sur G, le contrôleur parcourt les mannequins et garde le plus proche à portée. Il tire un nombre aléatoire entre le minimum et le maximum et dit au mannequin : subis ces dégâts. Le mannequin les soustrait de sa santé.
Ensuite, le contrôleur fait apparaître un petit acteur de nombre au-dessus de la tête du mannequin et lui donne les dégâts. Si les dégâts atteignent ou dépassent le seuil critique, le texte est doré, plus grand et porte le point d’exclamation. L’acteur du nombre possède une Timeline. Sur 0,8 seconde, il monte de la hauteur de montée et l’opacité passe de 1 à 0. Puis il se détruit. Comme la plage, les seuils et la montée sont des variables, vous pouvez obtenir des nombres discrets ou de grands nombres façon arcade avec quatre valeurs.
Idées pour aller plus loin
- Une couleur différente pour les dégâts de feu et pour les soins.
- Des nombres qui dérivent un peu vers la gauche ou la droite, pour ne pas s’empiler.
- Un son de coup plus aigu pour un critique.
Quatre conseils pour vos prompts de nombres de dégâts
- Donnez la plage de dégâts et le seuil critique sous forme de nombres.
- Décrivez l’aspect avec des mots : les couleurs, la taille et le symbole.
- Dites jusqu’où le nombre monte et pendant combien de temps.
- Demandez à l’IA de regarder une capture d’écran, pas seulement les valeurs.
Questions fréquentes
Comment créer des nombres de dégâts flottants dans Unreal Engine 5 ?
Faites apparaître à chaque coup un petit acteur avec un widget de texte au-dessus de la cible. Faites-le monter et disparaître en fondu avec une Timeline, puis détruisez-le. Choisissez la couleur selon que les dégâts atteignent ou non un seuil critique.
Comment distinguer visuellement les coups critiques ?
Comparez les dégâts à un seuil critique. À partir de ce seuil, utilisez une couleur dorée, une taille plus grande et un point d’exclamation.
Pourquoi l’IA a-t-elle redéfini la racine du mannequin ?
Une capture d’écran montrait le corps du mannequin à moitié enfoncé dans le sol avec la tête qui flottait, car le corps était devenu la racine du Blueprint. L’IA a ajouté une vraie racine et relancé le test.
Essayez-le dans votre projet
Découvrez ce qu’Ultimate Engine CoPilot peut construire sur la page produit, ou procurez-vous-le sur Fab. Découvrez comment fonctionne le générateur de Blueprint IA.
Plus de réalisations de cette série : le combat au corps à corps Unreal Engine, l’arme à distance Unreal Engine et le baril explosif Unreal Engine.