Hub À propos
Projets CV

Création d’un jeu sur Unreal à l’aide de bâtiments d’autres étudiants et optimisation de ceux-ci


IA: Aucune utilisation d’IA dans ce projet.

À VOIR

Projet scolaire · 2025 · Jeu vidéo



Intégration et optimisation d’un pipeline vers Unreal: Guillaume Callebert
Prorgrammation des systèmes de jeu: Guillaume Callebert
Bâtiments: Étudiants du cours d’Animation Multimédia
Squelette de la ville: François Arsenault
Autres éléments 3D: sketchfab.com

Avant de commencer...

Ce projet a été réalisé dans mon cours d’animation 3D. Pendant que le reste de la classe travaillait sur un autre projet, nous étions deux à devoir intégrer les bâtiments de tous les étudiants dans une ville où les visiteurs de ChaosMédia pourraient se promener, interagir et jouer à un petit jeu. C’était aussi notre première session sur Unreal.

Le processus

1. Rassembler et sélectionner les bâtiments

Chaque bâtiment m’a été remis dans un fichier Blender distinct, conçu pour la qualité visuelle et non pour un moteur de jeu. Comme leurs créateurs en étaient à leurs débuts sur Blender, la structure variait d’un fichier à l’autre. J’ai rassemblé les fichiers et choisi ceux que j’allais utiliser pour bâtir la ville.

Certains des bâtiments choisis

Exemple d'un fichier blenders initial

2. Créer un protocole de transfert de Blender vers Unreal

Les bâtiments étant tous différents et aucune documentation ne couvrant ce cas précis, j’ai créé mon propre protocole de transfert. Certains fichiers dépassaient 1 Go : le format glTF, avec des paramètres ajustés à l’exportation dans Blender et surtout à l’importation dans Unreal, a permis de conserver les textures tout en gardant une bonne performance. J’ai aussi contourné les LODs automatiques d’Unreal, qui déformaient les modèles non préparés.

3. Ajuster les bâtiments pour leur utilisation dans le jeu

Une fois dans Unreal, le verre et les collisions étaient brisés. J’ai recréé des matériaux qui reproduisent l’effet de verre de Blender et refait les collisions presque entièrement à la main, pour que les visiteurs ne traversent pas les murs. J’ai ensuite mis tous les bâtiments à la même échelle et les ai positionnés de façon à bien remplir la ville.

After
Before

Exemple d'optimisation des bâtiments

4. Ajouter les éléments visuels

J’ai ajouté de l’éclairage, des décors, du brouillard et des animations, afin que la ville forme un environnement cohérent plutôt qu’une simple collection de bâtiments. Ces éléments donnent de la vie à la ville et créent l’ambiance dans laquelle les visiteurs allaient se promener, tout en gardant la performance du jeu en tête.

Tableau de bord intégré

5. Programmer les éléments de gameplay

Pour rendre la ville interactive, j’ai programmé un jeu de type « cherche et trouve » avec une lampe de poche que les joueurs peuvent allumer ou éteindre, un système de ramassage d’objets et un système de points. J’ai aussi ajouté un tableau de bord indiquant leur progression, pour qu’ils sachent toujours où ils en sont rendus.

Les enjeux du projet

Le principal défi était de transformer des modèles conçus pour la qualité visuelle en éléments utilisables dans un jeu : poids des fichiers, LODs déformés, matériaux et collisions brisés. Je n’avais pas de cible précise, mais le jeu devait offrir une performance adéquate, dans un contexte où personne ne maîtrisait encore Unreal et sans documentation pour ce cas.