← Learn Blueprints

Cast To et références Blueprint : parler à un autre acteur

Une dalle doit ouvrir une porte, un personnage doit parler à un boss : il faut un moyen de désigner l’autre acteur. À la fin de ce guide, tu sauras ce qu’est une référence, comment en créer une, ce que coûte un Cast To en mémoire et comment charger un gros asset seulement quand il faut. Tout est vérifié sur la documentation officielle d’Epic Games.

Une référence : quel acteur précisément ?

Une dalle au sol veut lancer l’événement OpenDoor sur une porte. Mais quelle porte ? Il y en a peut-être dix dans le niveau. Une référence est une variable qui montre un acteur précis du doigt. Elle ne contient pas l’acteur : elle dit lequel.

Tu en as déjà utilisé : Other Actor et Get Player Character sont des références. Pour agir sur un autre acteur, branche une référence vers lui dans le Target du nœud.

Créer une variable de référence

En gros, tu crées dans le Blueprint de la dalle une variable du type de ta porte (par exemple BP_Door, en Object Reference), tu la rends Instance Editable, puis tu choisis la porte dans le niveau. Enfin, tu branches la variable dans le Target de l’appel à OpenDoor.

Le pas à pas complet, avec les captures de l’éditeur, des quiz et un mini-projet, est dans le chapitre « Performance : un jeu fluide » du cours.

Si tu oublies de choisir la porte dans le niveau, la variable reste vide (None) : le nœud ne trouve personne et Unreal signale une erreur. Le type dit seulement « une porte ». C’est dans le niveau que tu dis laquelle.

Trouver un acteur par sa classe

Ces nœuds fouillent tout le niveau, donc ils sont lents. Appelle-les une fois, au BeginPlay, et garde le résultat dans une variable, pas dans Event Tick.

Référence dure : tout se charge ensemble

Un asset est un fichier du projet : Blueprint, mesh, texture, son. Une variable de type BP_Door est une référence dure : quand le Blueprint qui la contient est chargé en mémoire, BP_Door l’est aussi, avec ses meshes et ses sons. Des centaines de références dures vers de gros Blueprints font gonfler la mémoire.

Cast To : un lien de plus

Un nœud Cast To BP_Boss nomme la classe BP_Boss, comme une variable de ce type : ton Blueprint en dépend. On appelle ça une dépendance. Le vrai coût du Cast, c’est ce qu’il entraîne. Si ton personnage fait un Cast To BP_Boss, charger le personnage charge aussi le boss, avec son gros mesh, ses textures et ses sons, même au niveau 1 où il n’y a pas de boss.

Voir les dépendances et le poids

Charger seulement quand il faut

Plusieurs solutions évitent de tout charger d’un coup.

Questions fréquentes

Comment appeler une fonction d’un autre acteur ?

Il te faut une référence vers cet acteur, branchée dans le Target du nœud. Tu peux la créer avec une variable Instance Editable que tu remplis dans le niveau, ou la trouver avec Get Actor Of Class.

Quelle différence entre référence dure et référence douce ?

Avec une référence dure, charger l’un charge aussi l’autre. Une référence douce garde seulement le chemin de l’asset, qui n’est chargé que quand tu le demandes.

Pourquoi mon jeu est-il long à se lancer avec beaucoup de Cast To ?

Chaque Cast To vers un gros Blueprint charge aussi cette classe, avec ses meshes, textures et sons. Avec 15 Casts vers de gros Blueprints de boss, tous sont chargés avec le personnage.

Sources officielles

À lire aussi : Blueprint Interface et Event Dispatcher, optimiser un jeu avec stat unit et les collisions Block, Overlap et Ignore.

Tu veux t’entraîner à faire communiquer des acteurs sans alourdir ton jeu ? Le cours propose des leçons courtes, des quiz et des mini-projets, à ton rythme.

Apprendre Unreal Engine 5 gratuitement

Retour à l’accueil de Learn Blueprints