Actualités | Les blueprints, c’est quoi ?

Les blueprints, c’est quoi ?

Le système de visual scripting Blueprint dans Unreal Engine est un système complet de scripting de gameplay basé sur le concept d’utilisation d’une interface basée sur des nœuds pour créer des éléments de gameplay depuis l’éditeur Unreal.

Comme de nombreux langages de script courants, il est utilisé pour définir des classes ou des objets orientés objet (OO) dans le moteur. En utilisant UE, vous constaterez souvent que les objets définis à l’aide de Blueprint sont familièrement désignés simplement comme des « Blueprints ».

Ce système est extrêmement flexible et puissant car il offre la possibilité aux concepteurs d’utiliser virtuellement toute la gamme de concepts et d’outils généralement disponibles uniquement pour les programmeurs. De plus, le balisage spécifique à Blueprint disponible dans l’implémentation C++ d’Unreal Engine permet aux programmeurs de créer des systèmes de base qui peuvent être étendus par les concepteurs.

Est-ce que cela signifie que les Blueprints remplacent UnrealScript ? Oui et non. La programmation de gameplay et tout ce pour quoi UnrealScript était utilisé dans le passé peuvent toujours être gérés via du code en utilisant C++. En même temps, bien que les Blueprints ne soient pas destinés à remplacer UnrealScript, ils servent à de nombreuses fins similaires à celles qu’UnrealScript gérait, telles que :

  • L’extension de classes
  • Le stockage et la modification des propriétés par défaut
  • La gestion de l’instanciation de sous-objets (par ex. composants) pour les classes L’attente est que les programmeurs de gameplay mettront en place des classes de base qui exposent un ensemble utile de fonctions et de propriétés que les Blueprints créés à partir de ces classes de base peuvent utiliser et étendre.

Types de Blueprints

Les Blueprints peuvent être l’un de plusieurs types, chacun ayant sa propre utilisation spécifique, allant de la création de nouveaux types à la programmation d’événements de niveau en passant par la définition d’interfaces ou de macros à utiliser par d’autres Blueprints.

Classe Blueprint

Une Classe Blueprint, souvent abrégée en Blueprint, est une ressource qui permet aux créateurs de contenu d’ajouter facilement des fonctionnalités sur des classes de gameplay existantes. Les Blueprints sont créés visuellement à l’intérieur d’Unreal Editor, au lieu d’être tapés en code, et sauvegardés en tant que ressources dans un package de contenu. Ils définissent essentiellement une nouvelle classe ou type d’Acteur qui peut ensuite être placé dans des cartes en tant qu’instances se comportant comme tout autre type d’Acteur.

Blueprint de Données Seulement (« data only »)

Un Blueprint de Données Seulement est une Classe Blueprint qui ne contient que le code (sous forme de graphes de nœuds), des variables et des composants hérités de son parent. Ils permettent de modifier les propriétés héritées, mais aucun nouvel élément ne peut être ajouté. Ils remplacent essentiellement les archétypes et peuvent être utilisés pour permettre aux concepteurs de modifier les propriétés ou de configurer des éléments avec des variations.

Les Blueprints de Données Seulement sont édités dans un éditeur de propriétés compact, mais peuvent également être « convertis » en Blueprints complets en ajoutant simplement du code, des variables ou des composants à l’aide de l’éditeur Blueprint complet.

Level Blueprint

Un Blueprint de Niveau est un type spécialisé de Blueprint qui agit comme un graphe d’événements global à l’échelle du niveau. Chaque niveau de votre projet a son propre Blueprint de Niveau créé par défaut, qui peut être édité dans l’Unreal Editor, cependant de nouveaux Blueprints de Niveau ne peuvent pas être créés via l’interface de l’éditeur.

Les événements liés au niveau dans son ensemble, ou à des instances spécifiques d’Acteurs dans le niveau, sont utilisés pour déclencher des séquences d’actions sous forme d’appels de fonction ou d’opérations de contrôle de flux. Ceux qui sont familiers avec Unreal Engine 3 devraient être très familiers avec ce concept car il est très similaire à celui de Kismet dans Unreal Engine 3.

Les Blueprints de Niveau fournissent également un mécanisme de contrôle pour le streaming de niveau et Sequencer ainsi que pour lier des événements à des Acteurs placés dans le niveau.

Interface Blueprint

Une Interface Blueprint est une collection d’une ou plusieurs fonctions – seulement le nom, sans implémentation – qui peuvent être ajoutées à d’autres Blueprints. Tout Blueprint ayant l’Interface ajoutée est garanti d’avoir ces fonctions. Les fonctions de l’Interface peuvent être dotées de fonctionnalités dans chacun des Blueprints qui l’ont ajoutée. C’est essentiellement comme le concept d’une interface en programmation générale, qui permet à plusieurs types d’objets différents de partager et d’être accessibles via une interface commune. En résumé, les Interfaces Blueprint permettent à différents Blueprints de partager et d’envoyer des données les uns aux autres.

Les Interfaces Blueprint peuvent être créées par les créateurs de contenu via l’éditeur de manière similaire à d’autres Blueprints, mais elles présentent certaines limitations en ce sens qu’elles ne peuvent pas :

  • Ajouter de nouvelles variables
  • Modifier des graphes
  • Ajouter des composants

Bibliothèque de Macros Blueprint

Une Bibliothèque de Macros Blueprint est un conteneur qui contient une collection de Macros ou de graphes auto-contenus pouvant être placés comme nœuds dans d’autres Blueprints. Ils peuvent être des économiseurs de temps car ils peuvent stocker des séquences de nœuds couramment utilisées avec des entrées et des sorties pour l’exécution et le transfert de données.

Les Macros sont partagées entre tous les graphes qui les référencent, mais elles sont automatiquement développées en graphes comme s’il s’agissait d’un nœud collapsé lors de la compilation. Cela signifie que les Bibliothèques de Macros Blueprint n’ont pas besoin d’être compilées. Cependant, les modifications apportées à une Macro ne sont reflétées que dans les graphes qui référencent cette Macro lorsque le Blueprint contenant ces graphes est recompilé.

Utilitaires Blueprint

Un Utilitaire Blueprint (ou Blutility en abrégé) est un Blueprint uniquement destiné à l’éditeur et peut être utilisé pour effectuer des actions dans l’éditeur ou étendre sa fonctionnalité. Ils peuvent exposer des événements sans paramètres sous forme de boutons dans l’interface utilisateur et avoir la capacité d’exécuter des fonctions exposées aux Blueprints et d’agir sur l’ensemble actuel des Acteurs sélectionnés dans le viewport.

Anatomie des Blueprints

La fonctionnalité des Blueprints est définie à l’aide de différents éléments ; certains étant présents par défaut, tandis que d’autres peuvent être ajoutés selon les besoins. Ils permettent de définir des composants, d’effectuer des opérations d’initialisation et de configuration, de répondre aux événements, d’organiser et de modulariser les opérations, de définir des propriétés, etc.

Fenêtre des Composants

Avec une compréhension des Composants, la fenêtre des Composants à l’intérieur de l’éditeur Blueprint vous permet d’ajouter des Composants à votre Blueprint. Cela permet d’ajouter de la géométrie de collision via des CapsuleComponents, des BoxComponents ou des SphereComponents, d’ajouter de la géométrie rendue sous forme de StaticMeshComponents ou de SkeletalMeshComponents, de contrôler le mouvement à l’aide de MovementComponents, etc.

Les Composants ajoutés dans la liste des Composants peuvent également être assignés à des variables d’instance leur permettant d’y accéder dans les graphes de ce Blueprint ou d’autres Blueprints.

Script de Construction

Le Script de Construction s’exécute après la liste des Composants lorsqu’une instance d’une Classe Blueprint est créée. Il contient un graphe de nœuds qui est exécuté permettant à l’instance de la Classe Blueprint d’effectuer des opérations d’initialisation. Cela peut être extrêmement puissant car des actions telles que des traces dans le monde, le réglage de meshes et de matériaux, etc. peuvent être utilisées pour réaliser une configuration spécifique au contexte. Par exemple, un Blueprint de lumière pourrait déterminer le type de sol sur lequel il est placé et choisir le mesh correct à utiliser parmi un ensemble de meshes ou un Blueprint de clôture pourrait effectuer des traces s’étendant dans chaque direction pour déterminer la longueur nécessaire d’une clôture.

Graphe d’Événements

Le Graphe d’Événements d’un Blueprint contient un graphe de nœuds qui utilise des événements et des appels de fonctions pour effectuer des actions en réponse à des événements de gameplay associés au Blueprint. Cela est utilisé pour ajouter des fonctionnalités communes à toutes les instances d’un Blueprint. C’est ici que l’interactivité et les réponses dynamiques sont configurées. Par exemple, un Blueprint de lumière pourrait répondre à un événement de dommages en éteignant son composant lumineux et en changeant le matériau utilisé par son mesh. Cela fournirait automatiquement ce comportement à toutes les instances du Blueprint de lumière.

Fonctions

Les Fonctions sont des graphes de nœuds appartenant à un Blueprint particulier qui peuvent être exécutés, ou appelés, depuis un autre graphe à l’intérieur du Blueprint. Les Fonctions ont un seul point d’entrée désigné par un nœud avec le nom de la Fonction contenant une seule sortie exec. Lorsque la Fonction est appelée depuis un autre graphe, la sortie exec est activée, ce qui provoque l’exécution du réseau connecté.

Variables

Les Variables sont des propriétés qui contiennent une valeur ou référencent un objet ou un Acteur dans le monde. Ces propriétés peuvent être accessibles internement au Blueprint les contenant, ou elles peuvent être rendues accessibles externement afin que leurs valeurs puissent être modifiées par les concepteurs travaillant avec des instances du Blueprint placées dans un niveau.

Modes Blueprint

Le mode d’un Blueprint détermine ce qui est visible dans sa fenêtre. Bien que les Blueprints de Niveau ne contiennent qu’un seul mode, le mode Graphe, les Classes Blueprint contiennent trois modes différents :

Mode par Défaut – Où vous définissez les paramètres par défaut pour le Blueprint. Mode Composants – Où vous ajoutez, supprimez et modifiez les composants qui composent votre Blueprint.

En savoir plus : Quick Start Guide

Formation Unreal Engine Blueprints

Initiation au système visuel de programmation nodale : nœuds, classes, levels, création d’interface, gestion personnages, assets, exports, tests et debug.

  • Identifier et utiliser les noeuds principaux (évènements, fonctions, variables)
  • Créer des classes en vue de les placer dans un level (actor, pawn, character, vehicle)
  • Programmer avec le level blueprint
  • Créer une interface (widget blueprint)
  • Manipuler des personnages, véhicules et/ou assets 3D avec une manette, souris ou clavier
William Lacrosse, formateur Unreal Engine.

les plus populaires

Mots-clés