FPS de base dans Unreal Engine 5

Par atremblay, 16 mars, 2024
AMERICA

Introduction

Bonjour le monde! Dans ce blog, je vais parler de comment faire un fps de base avec unreal engine. Il s'agira de créer notre arme, de le ramasser, l'équiper de viser et de tirer! 

 

Créer notre arme

Pour ce démo, j'ai pris un asset que j'ai trouvé sur le Unreal Engine Marketplace mais ceci va marcher avec n'importe quel asset! 
Lien vers l'asset que j'ai utilisé : https://www.unrealengine.com/marketplace/en-US/product/military-weapons-silver

 

Créer notre arme est très facile sur Unreal Engine! On doit juste ajouter un composant de type mesh et ajouter notre arme en dedans et c'est tout!

Image retirée.

Image retirée.

 

Ramasser notre arme et l'équiper

Pour ramasser notre arme, on va simplement créer une boite de collision que si le joueur rentre à l'intérieur, il va équiper l'arme et va pouvoir l'utiliser. Donc, un aura besoin a ajouter un composant de collision autour de notre arme. Avec Unreal Engine il existe 3 types de composants collision: Box collision (Boite), Sphere Collision (Sphère) et Capsule Collision (Un sorte de collision en haricot/une pillule). N'importe lequel peut marche mais dans ce cas on va utiliser un Sphere Collision.

Image retirée.

 

Maintenant la logique pour ramasser et équiper cette arme! Comme vue dans le dernier blog on peut utiliser des evenements pour si le joueur peut intéragir avec quelque chose. On peut donc utiliser la même chose dans ce cas avec un "On Component Begin Overlap" sur notre Sphere Collision. Ce "On Component Begin Overlap" est un évènement qui s'active quelque chose ou quelqu'un rentre dans notre collision. Dans ce cas, on doit regarder si cette collision faite est par notre joueur et puis l'équiper! 

 

On va donc regarder le code bout par bout!

 

Premièrement, on a notre évènement et à chaque fois qu'il s'active on regarde si la collision faite est le joueur ou non et puis on crée une instance de ce joueur avec la fonction prédéfinie de Unreal Engine: "Cast To Nom_De_Notre_Classe_Joueur" qui est mis dans une variable. 

Image retirée.

 

Puis après, on ajoute l'arme en l'attachant à l'un des os (socket) du mesh du joueur avec la fonction "Attach to Component to Component" et avec l'instance de notre joueur crée. 

Image retirée.

 

et c'est tout, le joueur peut maintenant ramasser et équiper une arme!

Image retirée.

et quand on passe dessus...

Image retirée.

Tirer notre arme

Tirer notre arme est encore plus facile sur Unreal Engine. On doit juste ajouter notre mesh de notre projectile qu'on va utiliser et puis dans Unreal Engine il y a déjâ un composant qui s'occupe de tout les configurations de notre projectile. Son nom est "ProjectileMovement". Il gère de la vitesse du projectile, sa gravité, si il devrait rebondir, les interpolation, etc. C'est vraiment incroyable! Mais dans notre cas pour tirer notre arme on a juste besoin d'avoir un vitesse très haute comme 13000 par exemple et c'est tout! Le seul truc qui manque c'est d'actionner cet évènement qu'on va voir en dessous...

 

Image retirée.


Finalement la logique! Donc à chaque fois que le bouton shoot (prédéfinie par Unreal Engine) dans ce cas notre clique gauche est déclenché ceci va créer une instance de notre projectile à partir du coordonées de notre arme (transform). Maintenant, notre projectile va s'actionner avec les configurations qu'on a mis pour le "Projectile Movement" donc, dans ce cas une vitesse de 13000 

 

Image retirée.

 

Merci et au prochain blogue!

 

References

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

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

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

Gorka Games, How to Add a Crosshair in Unreal Engine 5, https://www.youtube.com/watch?v=-K2XKbJ5EvU (Consulté le 15 mars 2024)

 Unreal Sensei, How to Create a Game in Unreal Engine 5 - UE5 Beginner Tutorial, https://www.youtube.com/watch?v=1XjgLKrb4_M (Consulté le 16 mars)

Unreal Engine 5, Actor Communication, https://docs.unrealengine.com/5.3/en-US/actor-communication-in-unreal-engine/ (Consulté le 16 mars)

Commentaires