Comment ouvrir et fermer une porte avec les Blueprints!

Par atremblay, 2 mars, 2024
Unreal Engine

Introduction

Ouvrir une porte dans la vraie vie est pas mal simple, mais le faire dans le moteur de jeu de Unreal Engine va prendre un peu plus "brain power" pour y faire. Donc, dans ce blog, vous allez apprendre comment coder pour qu'un joueur puisse intéragir avec l'environement autour de lui incluant comment ouvrir et fermer une porte!

 

Ouvrir et fermer une porte

Construire la porte

Premièrement on doit créer notre classe de blueprint pour notre porte
 

Image retirée.

et puis selection notre classe parent qui va être un acteur car notre joueur va intéragir avec cet objet.
Image retirée.
 

Puis, on doit faire un double clic sur cette classe pour l'ouvrir dans l'éditeur blueprint de Unreal Engine.

Image retirée.
 

Voilà! On est dans notre classe mais il manque une chose... Il y aucune porte! C'est car on doit l'ajouter ses composants! Donc pour l'ajouter on doit faire un clique droit dans la section components et puis selectionner "Static mesh" et puis à partir de notre mesh crée on peux ajouter les composants de notre porte. Cela va inclure le cadre de porte et la section qui va s'ouvrir et se fermer, donc 2 mesh.

Image retirée.Image retirée.Image retirée.

 

Voilà, notre porte est ajoutée mais maintenant on doit ajouter un boite que si le joueur est à l'intérieur de cette boite il peut intéagir avec cette porte. 

Image retirée.

et puis configurer sa taille de détection.

Image retirée.

 

La logique

La logique qu'on va utiliser avec cette porte c'est que si le joueur est dans notre boite. Il aura donc la possibilité d'ouvrir ou de fermer cette porte!

 

Pour commencer, on doit ajouter un événement à notre boite. Il existe plusieurs type d'évènements qui peuvent faire plusieurs type d'actions chez Unreal Engine mais celle qu'on va utiliser est l'évènement "On Component Begin Overlap". Cet évènement est appelé lorsque quelque chose commence à chevaucher le composant en question qui est dans ce cas notre boite. 

Image retirée.Image retirée.

 

Premièrement, on doit voir que c'est notre joueur qui est dans la boite ou non et lui donner les droits de saisie. 

Image retirée.

Dans ce bout de code, à chaque fois que l'évènement est appelé, il regarde si l'acteur est le joueur. Si cela est le joueur, il crée une instance de son controlleur et le donne droit de saisie. 

 

Deuxièmement, on aura besoin d'un cas quand le joueur quitte la boite, on enlève ses droits de saisie. Cela est possible avec l'évènement "On Component End Overlap" qui est l'opposé de "On Component Begin Overlap".

Image retirée.Image retirée.

 

Ensuite, on doit ajouter notre touche de saisie via son clavier pour ouvrir et fermer une porte. 

Image retirée.

Dans ce code, nous lions notre touche "E" à un "flip flop". Un flip flop c'est juste un node qui va alterner entre les outputs A et B. Donc, à chaque fois que la touche "E" est cliqué cela va alterner les lettres A et B. A va ouvrir la porte est changeant sa rotation par 90 degrés et B va le remettre à sa place. Et c'est tout!

Image retirée.

et quand clique sur la touche "E"...

Image retirée.

Finalement quand on retouche sur la lettre E....

Image retirée.

 

Merci!

 

References

Smart Poly, Unreal Engine 5 | Blueprint For Beginners (2023), https://www.youtube.com/watch?v=Xw9QEMFInYU&t=3332s (Consulté le 2 mars 2024)

Unreal Engine 5, Blueprints Visual Scripting, https://docs.unrealengine.com/5.0/en-US/blueprints-visual-scripting-in-unreal-engine/ (Consulté le 2 mars 2024)

Unreal Engine 5, Introduction to Blueprints, https://docs.unrealengine.com/4.26/en-US/ProgrammingAndScripting/Blueprints/GettingStarted/ (Consulté le 2 mars 2024)

 

Commentaires