UNREAL ENGINE : SYSRIO FINALE

Par aligtas, 23 mars, 2024
SYSRIO

INTRODUCTION

Bienvenue tout le monde dans mon dernier article sur Unreal Engine!

J'espère que vous êtes prêts pour cet article parce que cela couvrir le reste des fonctionnalités pour notre jeu Sysrio.

Les fonctionnalités qu'on va ajouter sont : des blocs rebondissants , un système de clé (subscriber and observer system) pour ouvrir le pipe au prochain niveau et un pipe pour traverser aux autres niveaux.

NAVIGATION ENTRE LES NIVEAUX

On commence avec la navigation entre les niveaux. C'est vraiment simple! Premièrement, on va créer un blueprint class de type actor.

 Image retirée. Image retirée.
Nommez le BP_PIPE. Dans le viewport , on va ajouter la collision de carré pour que quand le joueur touche la pipe, on aille traverser dans le prochain niveau.

Image retirée.
Pour faire ce type d'action, on va ajouter un événement quand l'acteur principal et la pipe overlap entre eux, c'est l'événement "On Component Begin Overlap".

 Image retirée.      
Puis, ajout le "Cast to BP_ThirdPersonCharacter". On va lier l'événement avec le "Cast to" node avec "Other Actor".Image retirée.Cela dit que si le ThirdPersonCharacter touche la pipe, on peut faire n'importe quoi.Pour tester , on va faire que quand on touche la pipe , on print un string "World Complete". Image retirée.
Image retirée.

Pour aller dans le prochain niveau , on va effacer le print node et le remplacer par un node "Open Level(by Name)". Le nom sera "Niveau_2".

 Image retirée.
Pour créer un nouveau niveau on va aller sur l'onglet File > New Level > Basic.Image retirée. Image retirée. 
N'oubliez pas de le nommer "Niveau_2" parce que si le nom pour le niveau dans l’open level n'est pas le même on n'ouvre pas le niveau correct.
Lien vers vidéo : Vidéo

CLÈS

Après, on va mettre la navigation plus difficile en requièrent des clés pour ouvrir la porte et traverser au prochain niveau. On va utiliser le modèle d'observateur pour les clés. Ça veut dire que chaque fois l'événement qu'une clé est ramassé , elle va libérer un signal qu'un autre acteur peut utiliser pour faire n'importe quoi. C'est une bonne pratique d'utiliser ce modèle parce que cela réduit les dépendances des acteurs sur les autres. Ça veut dire que nous sommes libérés de mettre à jour nos acteurs sans modifier les widgets ou les acteurs dépendants dans le schéma directeur actuel.

Premièrement , on va créer le widget pour compter les clés. Image retirée.
Puis, on va met le "KeysCountText" comme une variable pour qu'on puisse l'utiliser dans l'événement graphique.

Image retirée. 

Switchez vers l'onglet de graph

 Image retirée. 

On veut quand le widget est constructé, on peut mettre le nombre d'acteurs BP_CLES comme un int pour que cela set dans le texte "KeysCountText" Image retirée.
Puis, on veut que le nombre de clés total soit soustrait et afficher dans le texte chaque fois l'événement "OnCollected" est reçu. Image retirée.

Deuxièmement, on va créer un objet ou une actrice qui va envoyer un signal quand ils font quelque chose et ajouter un événement dispatcher.Pour moi , c'est une clé

Image retirée. 

et l'événement quand la clé est collectée par le joueur "OnCollected" dans l'événement graphiqueImage retirée.

Dans le blueprint , on va ajouter le même blueprint qu'on a utilisé pour BP_COIN , mais vers la fin on appeler l'événement "OnCollected" pour qu'on donne ce signal pour qu'un autre acteur puisse l'utiliser pour faire une action Image retirée. Image retirée. Image retirée.

 

NOUVEAU TYPE DE BLOC

Puis , on va ajouter un nouveau type de bloc de type : rebondissant. On va créer notre propre trampoline , un rectangle rouge avec une collision de carrée. Image retirée.
On va détecter quand un actor est overlapped avec la collision de carrée qui va lancer l'acteur par Z (vers le haut) de 1000 forces Image retirée.

CONCLUSION

En bref, cet article a couvert presque les dernières fonctionnalités pour un jeu vidéo de plateforme comme Super Mario. J'ai mis le lien de télécharger le jeu ici : https://stickstrengthdev.itch.io/super-sysrio-bros . J'espère que vous avez appris beaucoup de chose tout au long de cette série d'articles que j'ai rédigés sur Unreal Engine!

See you later!

-Audric Ligtas

 

RÉFÉRENCES

Gorka Games [Gorka Games]. (2023, Avril 19). «How to Travel to the Next Level through a Door in Unreal Engine 5
».YouTube. https://youtu.be/KUwnBb-Kvgw?si=isOTz6GzOmDpR3L7,(Vidéo consultée le 18 mars 2024)

https://forums.unrealengine.com/t/noob-question-what-is-cast-to/93781/8

Ali Elzoheiry [Ali Elzoheiry]. (2024, Février 16). «The Most Common Mistake Beginners Make in Unreal Engine | UE5
».YouTube. https://youtu.be/YFtLd-bKl-U?si=5nHOzCsaTBQoegXw,(Vidéo consultée le 22 mars 2024)

Matt Aspland [Matt Aspland]. (2023, Mai 28). «How To Make A Bounce Pad In Unreal Engine ».YouTube. https://youtu.be/_JtMtnlSFas?si=3dssF_SrgGEgyZkX ,(Vidéo consultée le 22 mars 2024)

Buvesa Game Development [Buvesa Game Development]. (2021, Oct 7). «How To Change Materials Colors - UE5 Tutorial».YouTube. https://youtu.be/K8Ypve04jaM?si=NxTKjOJMNPIP4taG,(Vidéo consultée le 22 mars 2024)

Gorka Games [Gorka Games]. (2023, Juin 30). «How to Play Background Music in a Loop in Unreal Engine 5».YouTube. https://youtu.be/1JelVc00qFQ?si=fry-nB0mConCB0HU,(Vidéo consultée le 22 mars 2024)

Étiquettes

Commentaires2

abaudouinvegas

il y a 11 mois

C'est impressionnant à quel point Unreal Engine permet de simplifier des tâches afin de rendre le travail plus efficace que ça soit avec des outils puissants ou des composantes préfaites.

aliu

il y a 11 mois

Bon article! C'est très intéressant (et impressionnant), mais petite question, est ce qu'il y a des contraintes que notre pc/laptop doit respecter pour pouvoir jouer à ce jeux?