Unreal: les base du blueprint

Blueprint: Le langage de programmation graphique

Unrealblueprint

⚠ Ce post n'est qu'une prise de note, et sera rédigé correctement à la fin du projet ⚠

Unreal est un puissant moteur de jeux, mais il est utilisé dans beaucoup d'autre domaine que le jeux vidéo. Le moteur utilise le langage de programmation C++ qui peut être compliqué du a sa syntaxe. C'est pour cela que Unreal qu'un outil de programmation graphique appelé blueprint. Un blueprint n'est rien d'autre qu'une

Loading...

en C++.

  • -> Unreal interprete les blueprint et le traduit ensuite en C++

Cette étape d'interpretation est par contre couteuse en performance. Mais avec l'utilisation de bluprint il est complètement possible de créer un jeux video de A à Z sans jamais écrire de code !

Apprendre les blueprints

Unreal propose des cours pour apprendre ! Voici quelque liens de cours :


  • Anatomy of a project
  • Cours n1
  • Cours n2
  • Cours n3
  • Cours n4
Quelques liens intéressants :

Lancer un bluprint

Pour créer un blueprint il faut creer un actor. Il différent type de Actor que l'on peut set au debut de l'initiation, mais pour le moment prenons la classe Actor.

Event BeginPlay Permet de lancer la fonction au moment de lancer le jeu

Exercices :

  1. Créer ou transformer un blueprint qui utilisera le Construction Script pour changer le material d'un Static Mesh Component basé sur une variable accessible au niveau du Level Editor
  2. Créer un cube qui explose quand on passe dessus.

Version 1 :

Il est possible de l’améliorer sous format bool (t/f)

Création d’une fonction qui permet d’implémenter à l’intérieur. Ici la fonction “Calcul Attaque”.

Fonction

Une fonction c'est un ensemble d'opération ou tu peux passer des paramètre et qui effectue des actions. Tu peux passer en paramètre des variable et ça effectue des actions. Une fonction peut être normal ou pure.

  • IL N'Y A QU'UNE SEULE SORTIE.
  • Les fonctions peuvent être utiliser utiliser n'importe ou dans ton projet

MACRO

Les macros Blueprint, ou macros, sont essentiellement les mêmes que les graphiques réduits de nœuds. Ils ont un point d'entrée et un point de sortie désignés par des nœuds de tunnel. Chaque tunnel peut avoir n'importe quel nombre de broches d'exécution ou de données qui sont visibles sur le nœud macro lorsqu'elles sont utilisées dans d'autres Blueprints et graphiques.
Une macro c'est souvent utiliser dans des petites opérations et cela s'utilise dans le contexte d'un blueprint (une classe). Macro permet d'avoir PLUSIEURS entrée et de sortie. La Macro ne permet pas de faire de condition par rapport a un event comme une fonction !

  • Les macros sont privées et sont propres au Blueprint.
  • Elle n’apparaît pas comme une fonction (publique).

La macro n’apparaît pas dans les recherches tandis qu’une fonction si.

macro 👆

COMMUNICATION ENTRE LES BLUEPRINTS

Accéder a une fonction a l'exterieur du context sensitive 👇

Communication d’un Blueprint A / Blueprint B :

  • Créer une variable qui allait avoir comme type BP_Variables.

COMPONENTS

  • Création d’un nouveau projet : Game / 3rdPerson

Ajout d’un pseudo à notre personnage Blueprint :

  • Add Component > “textRender” > rotation en z : 180 > changer le Text

  • le mettre en enfant (dans la fenêtre component) pour qu’il suive un élément (ici camera) → le texte sera toujours face à la cam

Construction script

Exercice : Créer ou transformer un blueprint qui utilisera le Construction Script pour changer le material d'un Static Mesh Component basé sur une variable accessible au niveau du Level Editor

  • BP Class > Actor > “BP_Objet”
  • BP_Objet : Add Component > “Scene” > Drag and drop Scene > Add Component > “StaticMesh” > Mettre un Cube

⚠ Activer : Show Engine Content ⚠

Fonction setMaterial :

Cette fonction permet de mettre un material a notre static mesh. Pour lancer un bluprint il faut compiler pluis lancer play :

Puis clique sur

et choisir à droite
, puis on compile.


Maintenant si je regarde le viewpoprt mon mesh a pris la couleur de ma texture.

TICK EVENT :

L'event tick permet d'appelé un event a chaque frame. Cela correspond au update dans Unity.

Exercice : Créer un cube qui explose quand on passe dessus.

Split une fonction pure :

(clic droit sur Return Value (en jaune) > Split)

Pour modifier le mouvement de notre objet a chauque frame :

Les objets tournent dans la map.

Si on veut changer les Fps :

Faire exploser les objets pendant la collision :

Créer un spawn et le détruire quand on le touche

Utilisation de EventBeginOverlap pour faire exploser les BP_Objet et les détruire - programmation par Corentin Résolution du problème rencontré pour arrêter les particules et détruire l'actor

Bluprint avant debut d'aprèm

Set function by name

av logo

© 2021 Gilles Avraam. Tous droits réservés.