Les secrets des UMG

Lors de mes premiers cours, je me souviens vaguement avoir appris comment refléter dans l’interface la modification de variables de jeu. L’exemple typique reste la barre de points de vie. Si les points de vie changent, l’interface change toute seule par le biais d’un “Bind” soit un lien logique entre un élément d’interface et une variable.

J’avais oublié cette fonctionnalité, ou je ne l’avais pas comprise. Je viens de perdre un peu de temps à analyser les vidéos de Matthew qui n’explique pas toujours très bien ce qu’il fait ; il montre du code déjà écrit et je n’arrive pas toujours à reproduire ce code, ce qui me fait enrager, bien sûr. Je dois dire que la programmation par blueprints a ses avantages mais c’est quand même un fameux fatras. Je jongle un peu avec toutes les manières de créer un “Bind” ce qui est bien moins évident qu’il n’y paraît mais c’est un ensemble de fonctionnalités qu’il me faut maîtriser.

Je viens en plus de mettre au point quelque chose qui était fondamental dans Althea sous Aurora : la possibilité d’éditer des fichiers de données – les 2DA – utilisés par le moteur au runtime. Je peux ainsi définir, sorts, classes etc. dans des tables et ensuite les lire lors de l’exécution, ce qui permet de modifier des paramètres sans devoir ouvrir le code. Simple, efficace, ça valait la peine de l’apprendre.
Il est à noter que pour changer le “Row name” il faut double-cliquer sur la colonne – et pas sur la conne comme je venais de l’écrire… – ce qui n’est pas évident puisque tous les éléments se modifient dans le panneau “Row editor” sauf le “Row name” qui est le seul élément double-cliquable de tout le bordel.
Unreal, c’est bien, mais c’est fait par des sagouins !

Les vidéos de Matthew sont intéressantes, mais anciennes ou incomplètes, je publie donc le système complet de lecture d’une table ligne par ligne :