41. Maîtriser les sources lumineuses : Point Light et Spot Light

Dans cet épisode, nous explorons les outils fondamentaux de l’éclairage dans Unreal Engine 4. Après avoir appréhendé la Directional Light (simulant le soleil), il est temps de passer aux sources de lumière localisées : la Point Light et la Spot Light. Comprendre comment ces sources interagissent avec votre environnement est crucial pour donner du volume, de la profondeur et une ambiance unique à vos scènes.

Résumé des points clés#

  • Point Light : Une source de lumière omnidirectionnelle qui diffuse dans toutes les directions à partir d’un point central. Idéale pour simuler des ampoules, des bougies ou des feux.
  • Réglages de la Point Light : Vous pouvez ajuster l’intensité, la couleur et surtout l’ Attenuation Radius pour contrôler la portée et la concentration de la lumière.
  • Spot Light : Une source de lumière directionnelle limitée par un cône. Elle permet de cibler précisément des zones ou des objets spécifiques sans éclairer le reste de la scène.
  • Réglages de la Spot Light : En plus des paramètres classiques, vous pouvez modifier l’ Outer Cone Angle pour élargir ou resserrer le faisceau lumineux.
  • Expérimentation : N’hésitez pas à créer un projet de test pour manipuler ces paramètres et observer les changements en temps réel.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions récentes d’Unreal Engine (UE5+) aient introduit le système Lumen pour une gestion dynamique de la lumière globale, les bases de l’éclairage restent identiques. La gestion des Point Lights et Spot Lights demeure le socle indispensable pour :

43. Créer une lumière scintillante dynamique

Dans cet épisode, nous terminons notre chapitre bonus consacré aux lumières en apprenant à créer un effet de “lumière scintillante”. Grâce aux Blueprints, nous allons automatiser le changement d’intensité et de couleur d’une source lumineuse pour donner vie à nos environnements.

Résumé de la manipulation#

Pour réaliser cet effet, nous suivons ces étapes clés dans l’éditeur :

46. Persistance des données entre les niveaux avec la Game Instance

Dans cet épisode, nous abordons une problématique classique du développement de jeux vidéo : comment conserver des informations (comme le score du joueur) lorsqu’on change de niveau. Par défaut, Unreal Engine réinitialise les variables de votre personnage à chaque chargement de map. Pour pallier cela, nous allons utiliser la Game Instance.

Résumé du fonctionnement#

La Game Instance est un objet global qui survit au changement de niveau. Voici les étapes clés pour mettre en place votre système de score persistant :

48. Mise en place d''un système de sauvegarde persistant

Dans cet épisode, nous abordons une étape cruciale pour tout jeu : la persistance des données. Contrairement à la GameInstance qui est réinitialisée à chaque fermeture du jeu, l’objet SaveGame permet d’écrire des informations directement sur le disque dur de l’utilisateur.

Résumé des étapes clés#

  • Création de la classe SaveGame : Création d’un Blueprint de type SaveGame (nommé MySaveGame) pour stocker les variables persistantes.
  • Définition des variables : Ajout de S_score (Integer) et S_niveau (Name) avec une nomenclature spécifique pour les distinguer des variables temporaires.
  • Logique de sauvegarde :
    • Utilisation du node Create Save Game Object pour instancier la classe.
    • Récupération des données actuelles depuis le ThirdPersonCharacter (pour éviter les décalages de la GameInstance).
    • Utilisation du node Save Game to Slot pour écrire les données sur le disque dans un emplacement nommé (“save”).
  • Organisation : Utilisation des Reroute Nodes pour maintenir la lisibilité du graphe Blueprint.

Ce qui reste d’actualité aujourd’hui#

Bien que cet épisode se concentre sur Unreal Engine 4, les principes fondamentaux de la persistance des données restent identiques dans Unreal Engine 5 :

49. Implémenter le chargement de partie dans Unreal Engine 4

Dans cet épisode, nous finalisons notre système de sauvegarde en nous concentrant sur la logique de chargement. Après avoir appris à enregistrer les données, il est crucial de savoir comment les récupérer, les injecter dans la GameInstance pour assurer la persistance entre les niveaux, et enfin déclencher le chargement du bon niveau.

Résumé de la procédure de chargement#

  • Load Game from Slot : Utilisation du nœud pour récupérer les données du fichier de sauvegarde spécifié.
  • Cast to SaveGame : Vérification que les données chargées correspondent bien à votre classe SaveGame personnalisée.
  • Récupération des variables : Extraction du score et du nom du niveau via les fonctions Get de votre objet de sauvegarde.
  • Synchronisation avec la GameInstance : Injection des données chargées dans la GameInstance pour que le joueur puisse les récupérer dès le chargement du niveau.
  • Open Level : Utilisation du nom du niveau stocké dans la sauvegarde pour téléporter le joueur au bon endroit.
  • Bonne pratique : Utiliser des variables de type String pour le nom du slot afin de faciliter la maintenance du code.

Ce qui reste d’actualité aujourd’hui#

Bien que le système de sauvegarde par menu soit une approche classique, les principes fondamentaux abordés ici restent le socle de tout système de persistance dans Unreal Engine :

50. Conclusion : Bilan de votre apprentissage sur Unreal Engine 4

Bienvenue dans cet ultime épisode de notre série dédiée à la découverte d’Unreal Engine 4. Après avoir parcouru ensemble le chemin complet, de l’installation du moteur jusqu’à la publication de votre premier projet sur itch.io, il est temps de faire le point sur le parcours accompli.

Récapitulatif de votre progression#

Au cours de cette formation, nous avons couvert les étapes fondamentales pour transformer une idée en un projet jouable :

Deplacement Spline Et Outline Unreal Engine 4

Dans cet article, nous revenons sur les fondamentaux de la manipulation des Splines pour créer des déplacements prédictibles, ainsi que sur l’implémentation d’un effet visuel de type Outline (contour) via les matériaux de post-traitement. Ces techniques sont essentielles pour donner du caractère à vos scènes sans avoir recours à des systèmes d’IA complexes.

Résumé des points clés#

  • Déplacement sur Spline : Utilisation d’un composant Spline dans un Blueprint pour définir un chemin précis.
  • Animation via Timeline : Gestion de la progression du personnage le long de la courbe via une Timeline (valeur de 0 à 1).
  • Calcul de position : Utilisation des fonctions Get Location at Distance Along Spline et Get Rotation at Distance Along Spline pour animer l’objet.
  • Effet Outline : Création d’un matériau de type Post Process pour détecter les contours des objets en 2D.
  • Optimisation : Utilisation de commandes console (r.ShadowQuality) pour gérer la scalabilité des performances en jeu.

Ce qui reste d’actualité aujourd’hui#

Bien que cet article se concentre sur Unreal Engine 4, les concepts abordés restent parfaitement transposables à Unreal Engine 5 :

Créer des décors architecturaux avec les BSP dans Unreal Engine 4

Dans cet article, nous explorons une technique fondamentale pour les débutants en Level Design sur Unreal Engine 4 : l’utilisation des BSP (Binary Space Partitioning). Ces outils intégrés permettent de prototyper rapidement des environnements, des maisons ou des structures complexes directement dans l’éditeur, sans avoir recours à un logiciel de modélisation externe comme Blender au préalable.

Résumé du tutoriel#

  • Préparation des matériaux : Création de matériaux simples (couleurs unies) pour distinguer les éléments de votre structure.
  • Utilisation des brosses (BSP) : Utilisation des outils de base (Box) pour créer les murs et le sol.
  • Mode “Hollow” : Activation de l’option Hollow pour creuser l’intérieur d’un bloc et créer une pièce habitable.
  • Opérations booléennes : Utilisation du mode Subtractive pour percer des ouvertures (portes, fenêtres) ou créer des formes de toit complexes.
  • Conversion en Static Mesh : Une fois la forme finale obtenue, transformation de l’assemblage de brosses en un seul objet Static Mesh optimisé via le panneau Details.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions récentes d’Unreal Engine (UE5) aient introduit des outils de modélisation beaucoup plus avancés (comme le Modeling Mode), la technique des BSP reste pertinente pour plusieurs raisons :

Créer un effet de Bullet Time (Slow Motion) dans Unreal Engine 4

Le “Bullet Time”, popularisé par des titres cultes comme Max Payne ou la saga Matrix, est un outil puissant pour dynamiser vos séquences d’action. En ralentissant le temps, vous offrez au joueur une sensation de contrôle accrue et une mise en scène cinématographique immédiate. Dans ce tutoriel, nous allons voir comment implémenter cet effet simplement dans Unreal Engine 4 en utilisant les Blueprints et la commande console slomo.

Résumé de la mise en place#

Pour réaliser cet effet, nous suivons une logique simple basée sur les événements d’entrée :

Créer un menu contrôlé à la manette sur Construct 2

Dans ce tutoriel, nous allons voir comment concevoir un menu interactif et esthétique pour vos jeux sur Construct 2, en remplaçant la traditionnelle navigation à la souris par une gestion complète à la manette (Gamepad). L’objectif est de créer une interface fluide où les boutons réagissent visuellement à la sélection.

Résumé des étapes clés#

  • Variables et Fonctions : Utilisation d’une variable globale bouton pour suivre l’index de l’élément sélectionné et d’une fonction CH_bouton pour centraliser la logique de navigation (incrémentation/décrémentation).
  • Gestion du Gamepad : Utilisation de l’objet Gamepad pour détecter les pressions sur le D-Pad (haut/bas) et le bouton de validation (A).
  • Boucle Every Tick : Mise en place d’une vérification constante pour appliquer un effet visuel (agrandissement via Set Scale) sur le bouton actif.
  • Optimisation : Réinitialisation de la taille des boutons à chaque appel de fonction pour éviter les conflits d’affichage sans multiplier les lignes d’événements.
  • Navigation : Utilisation de la condition On Button Pressed couplée à des sous-événements pour rediriger le joueur vers les différents Layouts (Aventure, Options, etc.).

Ce qui reste d’actualité aujourd’hui#

Bien que Construct 2 soit un moteur plus ancien, les principes fondamentaux abordés ici restent parfaitement transposables dans Construct 3 ou d’autres moteurs 2D :