Vous êtes sur la page 1sur 37

Table des matières

1. Contexte du projet..................................................................................................................2
1.1. Introduction.....................................................................................................................2
1.2. L’industrie de jeux vidéo................................................................................................2
1.3. Présentation de l’organisme d’accueil...........................................................................3
1.3.1. Organisme d’accueil................................................................................................3
1.3.2. Domaines d’activités :..............................................................................................3
1.3.3. Organigramme de l’organisme d’accueil :............................................................4
1.4. Présentation du projet....................................................................................................5
1.4.1. Contexte général :....................................................................................................5
1.4.2. Problématique :........................................................................................................5
1.4.3. Inspirations :............................................................................................................5
1.4.4. Solution proposée :..................................................................................................7
1.5. Environnement de travail...............................................................................................7
1.5.1. Environnement matériel :.......................................................................................7
1.5.2. Environnement logiciel :.........................................................................................8
1.5.3. Langages de programmation et modélisation.....................................................10
2. Spécification des besoins et architecture générale.............................................................11
2.1. Introduction...................................................................................................................11
2.2. Capture de besoins........................................................................................................11
2.2.1. Synopsis de jeu.......................................................................................................11
2.2.2. Analyse des besoins fonctionnels..........................................................................12
2.2.3. Analyse des besoins non fonctionnels...................................................................13
2.2.4. Modélisation des besoins fonctionnels.................................................................15
2.3. Conception générale......................................................................................................16
2.3.1. Architecture générale de Unity.............................................................................16
2.3.2. Diagramme de classe général................................................................................17
2.3.3. Diagramme d’activité............................................................................................18
3. Les règles du jeu ..................................................................................................................19
3.1. Réalisation du jeu :.......................................................................................................19
3.1.1. Le caractère joueur................................................................................................19
3.1.2. Principes de graphisme et d’animation...............................................................20
3.1.3. Unity Asset Store....................................................................................................23
3.2. Caractère IA..................................................................................................................26
3.3. Menu principal..............................................................................................................30
Liste des figures

Figure 1- Logo de CGI Studio..................................................................................................................3


Figure 2 - Organigramme de CGI STUDIO............................................................................................4
Figure 3 - Diablo III...................................................................................................................................6
Figure 4 - World Of Warcraft...................................................................................................................6
Figure 5 - LOGO de Unity........................................................................................................................8
Figure 6 VS Code LOGO..........................................................................................................................8
Figure 7 Diagrams LOGO........................................................................................................................9
Figure 8 Mixamo LOGO...........................................................................................................................9
Figure 9 C# LOGO..................................................................................................................................10
Figure 10 -UML LOGO...........................................................................................................................10
Figure 11 -Diagramme de cas d'utilisation Globale..............................................................................15
Figure 12 - Architecture Générale de Unity...........................................................................................16
Figure 13 - Avatar de joueur...................................................................................................................19
Figure 14 - Objet 3D 1.............................................................................................................................20
Figure 15 - Objet 3D 2.............................................................................................................................20
Figure 16 - Maillage.................................................................................................................................21
Figure 17 - Matériel de mur....................................................................................................................21
Figure 18 - Different animations de joueur............................................................................................22
Figure 19 - Ressource gratuite utilisée dans mon projet.......................................................................23
Figure 20 - Logo de Unity Asset Store....................................................................................................23
Figure 21 - Rou de mouvement...............................................................................................................23
Figure 22 - Terrain...................................................................................................................................24
Figure 23 - Environnement de jeu..........................................................................................................24
Figure 24 - Interface de jeu_1.................................................................................................................25
Figure 25 - Interface de jeu_2................................................................................................................25
Figure 26- Ennemie Boss.........................................................................................................................26
Figure 27- Ennemie.................................................................................................................................26
Figure 28 - Ennemie Animations............................................................................................................27
Figure 29 - Boss Animations...................................................................................................................27
Figure 30- NavMesh dans le terrain.......................................................................................................28
Figure 31 - Script de Boss........................................................................................................................29
Figure 32 - Script de Ennemie................................................................................................................29
Figure 33 - Menu Principal.....................................................................................................................30
Figure 34 - paramètres............................................................................................................................30
Figure 35 - Difficultés..............................................................................................................................31
Figure 36 - ScreenLoader........................................................................................................................31
Figure 37 - You Win.................................................................................................................................32
Figure 38 - Game Over............................................................................................................................32
ISET Nabeul Février 2023

Chapitre 1

Mihoubi Souhail Page | 1


ISET Nabeul Février 2023

1. Contexte du projet
1.1. Introduction
L'étude de ce projet est une phase importante qui vise à décrire l'environnement de
l'entreprise et à exposer les objectifs principaux du projet. Pour ce faire, je vais d'abord
présenter de manière générale l'industrie des jeux vidéo, en passant par l'organisme d'accueil.
Ensuite, je vais détailler le projet en commençant par le cadre, puis la problématique et je
vais analyser les jeux qui sont à l'origine de l'inspiration de ce projet ainsi que la solution
proposée.

1.2. L’industrie de jeux vidéo

L’industrie de jeux vidéo est considérée comme l’une des industries les plus
passionnantes de la technologie en raison de son importance pour la culture, le
divertissement et le progrès technologique. Les sociétés de jeux PC, consoles et mobiles
utilisent les dernières technologies pour présenter leurs jeux sur les écrans de plus de deux
milliards de personnes dans le monde entier. De Nimatron, la toute première machine de jeu
qui a fait ses débuts à New York en 1940 aux jeux d’arcade et aux consoles de jeux de salon
des années 70, aux jeux d’ordinateurs dans les années 80 et 90 et les jeux en ligne au début
du siècle et maintenant les jeux mobiles et les sports électroniques où les joueurs
professionnels remplissent les stades et gagnent des millions de dollars. Le jeu mobile En
l’espace d’une décennie, les jeu mobile est passé du plus petit segment du marché du jeu en
2012 à l’une des industries les plus performantes au monde en 2020. Vu que les taux de
pénétration du mobile et l’utilisation des smartphones continuent de s’accélérer à l’échelle
mondiale, les revenus des jeux mobiles sont en bonne voie pour dépasser 100 milliards de
dollars d’ici 2023.

Le jeu mobile En l’espace d’une décennie, les jeu mobile est passé du plus petit segment
du marché du jeu en 2012 à l’une des industries les plus performantes au monde en 2020.
Vu que les taux de pénétration du mobile et l’utilisation des smartphones continuent de
s’accélérer à l’échelle mondiale, les revenus des jeux mobiles sont en bonne voie pour
dépasser 100 milliards de dollars d’ici 2023.

Mihoubi Souhail Page | 2


ISET Nabeul Février 2023

1.3. Présentation de l’organisme d’accueil

1.3.1. Organisme d’accueil


Le stage se déroule au sein de l’entreprise CGI STUDIO, c’est un bureau
informatique professionnel en développement des jeux vidéo pour PC et mobile. CGI
STUDIO est localisé à Menzel Temime, Nabeul. Elle a été créée en 2018 par monsieur
Amen Allah Ben Achour. Le tableau 1 présente une fiche d’information sur CGI
STUDIO.

Figure 1- Logo de CGI Studio

1.3.2. Domaines d’activités :


CGI STUDIO est une société informatique qui agit dans le secteur de l’industrie
vidéoludique et le secteur d’activité économique de la conception, la production et la
commercialisation du jeu vidéo. Ses domaines d’activité sont :

Nom de l’entreprise CGI STUDIO


Date de création 05/07/2018
Legal Status Individual company
Activity Area Activités informatique
Activities 1 Moussa Ben Noussair Menzel Temime 8080
Headquarters APPS mobiles, animation 3D, réalité augmentée, Réalité
virtuelle, développement des jeux vidéo, Architecture,
design intérieur, intelligence artificielle
e-mail cgistudio.contact@gmail.com

Array 1 - Informations on CGI STUDIO

Mihoubi Souhail Page | 3


ISET Nabeul Février 2023

— Création et développement des jeux vidéo PC, Mobile.


— Création des films 3D.
— Création des publicités.
— Création des applications mobiles Android, IOS.
— Création des applications réalité augmenté et réalité virtuelle.

1.3.3. Organigramme de l’organisme d’accueil :


l’entreprise est composée de deux composants hiérarchiques principaux décrits dans la
figure :

Figure 2 - Organigramme de CGI STUDIO

Le Gérant a pour mission :


— La préparation des travaux et la mise en application des décisions du conseil
d’administration. — La représentation de la société auprès des tiers et la responsabilité de
la signature des actes civils, administratifs et juridiques.
— L’autorité sur tout le personnel.

Le développeur a pour mission :


— Etablir le cahier des charges.
— Traduire les spécifications en codes avec l’objectif qu’ils soient toujours plus rapides
et efficaces.

Mihoubi Souhail Page | 4


ISET Nabeul Février 2023

— Programmer les interfaces et les outils associés, les menus, les actions...
— Corriger les erreurs et faire les modifications nécessaires.

Le designer a pour mission :


— Interpréter les demandes formulées oralement ou par écrit au niveau du cahier des
charges.
— Imaginer les potentialités de transformation des soumissions.
— Réaliser des modélisations 3D numériques, des animations et de traitement d’image.
— De rendre les projets visuellement compréhensibles.
— Proposer des solutions d’améliorations des propositions.

1.4. Présentation du projet

1.4.1. Contexte général :


La société CGI STUDIO aspire à créer un nouveau jeu mobile 3D Android monde ouvert
à ma troisième personne. C’est dans ce contexte que mon projet de stage de
perfectionnement trouve son essence :
Conception, Développement et Réalisation d’un jeu vidéo 3D.

1.4.2. Problématique :
Dans les jeux vidéo, un monde ouvert est une mécanique de jeu qui consiste à utiliser un
monde virtuel que le joueur peut explorer de manière libre et non linéaire, plutôt que
d'être guidé par un gameplay plus structuré et défini.

1.4.3. Inspirations :
Comme toute autre forme de création, il est impossible pour moi de créer un jeu vidéo
sans inspiration. C'est pourquoi j'ai effectué des recherches approfondies sur les jeux
existants similaires à celui que je souhaite créer. Mon objectif est de créer un jeu vidéo
3D à monde ouvert à la troisième personne, axé sur les thèmes d'aventure et
d'exploration. Ces recherches m'ont aidé dans mon projet.

Mihoubi Souhail Page | 5


ISET Nabeul Février 2023

Diablo III
Diablo III est un jeu vidéo de type action-RPG développé et publié par Blizzard
Entertainment. Il est sorti en 2012 pour Windows et macOS, et plus tard pour PlayStation
3 et Xbox 360. Il est la suite de Diablo II, qui a été publié en 2000. Le jeu se déroule dans
le monde fictif de Sanctuary, où les joueurs incarnent un personnage qui doit combattre
contre les forces du mal, dirigées par le dieu démon Diablo.

Figure 3 - Diablo III

World of Warcraft (WOW)


World of Warcraft est un jeu de rôle en ligne massivement multijoueur
(MMORPG) développé et publié par Blizzard Entertainment. Il est sorti en 2004 et est
devenu l'un des jeux en ligne les plus populaires de tous les temps. Le jeu se déroule dans
l'univers de Warcraft, un univers de fantasy médiéval-fantastique, où les joueurs incarnent
un personnage qu'ils peuvent personnaliser et qui appartient à l'une des deux factions :
l'Alliance ou la Horde.

Figure 4 - World Of
Warcraft

Mihoubi Souhail Page | 6


ISET Nabeul Février 2023

1.4.4. Solution proposée :


En tant que membre de l'équipe de développement de jeux vidéo de la société, j'ai
été assigné à la tâche de concevoir, développer et réaliser un jeu mobile tridimensionnel
monde ouvert à la troisième personne appartenant au thème de l'aventure et de la survie.
Avant de passer à la phase de développement, il est nécessaire de modeler, concevoir et
prototypage du jeu.
Pour réaliser ces tâches, j'utiliserai principalement Unity, qui est un moteur de jeu, ainsi
que le langage de programmation C#.
Mon travail consistera également à développer le jeu, puisque j’ai pas étudier la
modélisation 3D avec ‘Blender’ et pour gainer le temps j’ai choisi un environnement qui
déjà existe.
Le développement est l'une des étapes les plus importantes de ce projet.
Le nom choisi pour ce jeu est " Vanguard".

1.5. Environnement de travail


Dans cette section, nous examinons la sélection des outils matériels et des différents outils
logiciels et techniques pour mener à bien ce projet.

1.5.1. Environnement matériel :


J'ai utilisé mon ordinateur personnel et mon téléphone avec la configuration indiquée
dans le tableau pour mener à bien notre projet.

Nom de Produit RAM Processeur Carte Graphique Ecran


Ordinateur portable 32Go 11th Gen Intel™ NVIDIA GeForce 15.6"
DELL G-15 5511 I5-11400H @2.70GHz RTX3050 FHD
120Hz

Téléphone 8Go Octa-core (2x2.05 Mali-G76 MC4 6.3"


REDMI Note 10S GHz Cortex-A76 &
6x2.0 GHz Cortex-
A55)
Tableau 2- Environment matériel

Mihoubi Souhail Page | 7


ISET Nabeul Février 2023

1.5.2. Environnement logiciel :


Unity 3D :
Unity est un moteur de jeu multiplateforme (smartphone, ordinateur, consoles de
jeux vidéo et Web) développé par Unity Technologies. Il est l’un des plus répandus dans
l’industrie du jeu vidéo, aussi bien pour les grands studios que pour les indépendants du
fait de sa rapidité aux prototypages et qu’il permet de sortir les jeux sur tous les supports.

Figure 5 - LOGO de Unity

Visual Studio Code :


Visual Studio Code (VS Code) est un éditeur de code libre et open-source
développé par Microsoft pour Windows, Linux et macOS. Il prend en charge le
débogage, le contrôle intégré de Git, la coloration syntaxique, l'achèvement de code
intelligent, les extraits de code et la refactorisation de code. Il prend également en charge
un large éventail de langages de programmation et dispose d'une grande bibliothèque
d'extensions qui peuvent être utilisées pour ajouter des fonctionnalités supplémentaires.
VS Code est un choix populaire parmi les développeurs pour sa flexibilité et sa facilité
d'utilisation.

Figure 6 VS Code
LOGO

Mihoubi Souhail Page | 8


ISET Nabeul Février 2023

Diagrams.net :
Diagrams est une application open source en ligne pour la création des
diagrammes, un outil facile à utiliser et qui offre beaucoup de fonctionnalités comme
l’édition collaborative en temps réel, le stockage en ligne sur Google Drive ou One Drive
et l’export en PNG, JPG,SVG...

Figure 7 Diagrams LOGO

Mixamo
Il s’agit d’une société de technologie d’infographie 3D. La société développe et
vend des services Web pour l’animation de personnages 3D. Les technologies de Mixamo
utilisent des méthodes d’apprentissage automatique Machine Learning pour automatiser
les étapes du processus d’animation de personnages, y compris la modélisation 3D au
gréement et à l’animation 3D.

Figure 8 Mixamo LOGO

Mihoubi Souhail Page | 9


ISET Nabeul Février 2023

Mihoubi Souhail Page |


10
ISET Nabeul Février 2023

1.5.3. Langages de programmation et modélisation

Langage de programmation : C#
C# est un langage de programmation polyvalent et multi-paradigme créé par
Microsoft en 2002. Sa syntaxe ressemble un peu au C++ ou java qui sont d’autres
langages de programmation.

Figure 9 C# LOGO

Langage de modélisation : UML


Le langage UML "Unified Modeling Language" est constitué de diagrammes
intègres utilisés par les développeurs informatiques pour la représentation visuelle des
objets, des états et des processus dans un logiciel ou système. Le langage de modélisation
peut servir de modèle pour un projet et garantir une architecture d’information structurée,
il peut également aider les développeurs à présenter leur description d’un système d’une
manière compréhensible pour les spécialistes externes. UML est principalement utilisé
dans le développement de logiciels orientés objet.

Figure 10 -UML
LOGO

Mihoubi Souhail Page |


11
ISET Nabeul Février 2023

Chapitre 2

2. Spécification des besoins et architecture générale


2.1. Introduction

La première phase du cycle de développement d’un jeu vidéo est la phase d’analyse et
spécification des besoins. Dans ce chapitre, j'ai adopté une approche fonctionnelle pour notre
projet. J'ai élaboré les exigences fonctionnelles et non fonctionnelles, puis j'ai également
couvert les différents cas d'utilisation pour notre projet.

2.2. Capture de besoins


2.2.1. Synopsis de jeu

Il s’agit d’un jeu mobile sur Android appartenant aux catégories : monde ouvert,
troisième personne, aventure et survie. avec des graphiques plus ou moins réalistes. Vous
vous trouvez dans la peau d’un extraterrestre dont le vaisseau spatial tombe en panne et
l’oblige d’atterrir sur la planète Terre. Son but alors est de survivre et tuer les ennemies
puis l’ennemie boss.

Spécification des acteurs


Notre jeu comporte trois acteurs : "Joueur", "Caractère joueur" et "Ennemie boss IA".
Caractère Joueur : c’est l’acteur principal. Son but principal est de se déplacer dans son
espace pour tuer les boss. Il a la liberté de faire des actions comme courir, attaquer.
Caractère IA : Il s’agit d’une ennemie qui peut être un squelette. son rôle est de se
déplacer dans des endroits limités dans la scène avec la possibilité de réagir à notre acteur
principal en l’attaquant.
Joueur : C’est l’utilisateur du jeu, celui qui lance l’application et navigue dans le menu
principal, modifie les paramètres et accède aux autres interfaces.

Mihoubi Souhail Page |


12
ISET Nabeul Février 2023

2.2.2. Analyse des besoins fonctionnels

Nous citons les fonctionnalités que le caractère joueur peut réaliser :


Se déplacer
— Le déplacement se fait avec un Joystick qui permet de marcher et courir dans toutes les
directions.
Attaquer les Caractères IAs
— Le joueur peut faire des attaques contre les différents caractères IA avec ses pouvoirs.
Chaque pouvoir diminue les points de vie de l’ennemi et une seul pour soigner ses points
de vie.
Rester dans l’état inactif "Idle"
— Il s’agit d’un état transitoire proche de l’immobilité auquel le joueur peut passer s’il
n’est pas en train de se déplacer ou réaliser une action nécessitant un mouvement.

Notre jeu permet à chaque caractère IA de :


Trouver le chemin menant au joueur
— L’Caractère IA peut trouver le chemin le plus court qui lui mène au joueur grâce aux
composants de l’intelligence artificielle NavMesh et NavMesh Agent tout en évitant les
obstacles.
Attaquer
— Le caractère IA peut attaquer le joueur si celui-ci présente un danger ou lorsqu’il
attaque en premier. Chaque attaque fait diminuer les points de vie du joueur.
Rester dans l’état inactif "Idle"
— C’est l’état transitoire proche de l’immobilité auquel le caractère IA peut passer s’il
n’est pas en train de se déplacer ou réaliser une action nécessitant un mouvement.

Nous citons les fonctionnalités que le joueur peut réaliser :


Accéder au menu principal
— Le joueur peut accéder au menu principal ou il trouvera quatre boutons : Play,
Options, Difficulty et Exit Game.

Mihoubi Souhail Page |


13
ISET Nabeul Février 2023

Mihoubi Souhail Page |


14
ISET Nabeul Février 2023

Lancer le jeu
— Le joueur peut lancer le jeu en cliquant sur le bouton "Play"
Accéder aux paramètres
— En cliquant sur le bouton Options, le joueur peut accéder à l’interface appropriée ou il
peut faire ces actions :
— Activer ou désactiver le son.
— Changer la résolution.
Accéder aux difficultés
— En cliquant sur le bouton Difficulty, le joueur peut accéder à l’interface appropriée ou
il peut faire ces actions :
— Changer la difficulté de jeu : Easy, Medium, Hard.
Quitter le jeu
— Le joueur peut quitter le jeu en cliquant sur le bouton approprié qui se trouve dans le
menu principal.

2.2.3. Analyse des besoins non fonctionnels


« Un besoin non fonctionnel est un besoin spécifiant des propriétés du système, telles que
les contraintes liées à l’environnement et à l’implémentation, et les exigences en matière
de performances, de dépendances de plateforme, de facilité de maintenance,
d’extensibilité et de fiabilité »
Dans mon projet, les besoins non fonctionnels sont les suivants :

Qualités internes
Lors du développement de mon projet, j’ai exigé la présence des contraintes suivantes :
Contraintes techniques
— L’utilisation de l’orienté objet permet de concevoir et de réaliser les fonctionnalités
attendues d’où une programmation optimisée.
— Réutilisabilité des scripts et des composants sur plusieurs objets.
— La bonne organisation du code avec l’utilisation des commentaires et l’indentation
pour une meilleure lisibilité et facilité de compréhension.

Mihoubi Souhail Page |


15
ISET Nabeul Février 2023

Contraintes graphiques
— La vue à la troisième personne : c’ est une perspective graphique de plus en plus
utilisée dans le domaine de jeux vidéo et elle est la plus courante dans les jeux d’action et
d’action aventure. Elle est affichée à partir d’une vue située est à une certaine distance du
personnage joueur, généralement derrière et légèrement au-dessus du celui-ci.
— La conservation de la charte graphique assurant sa cohérence afin de donner un aspect
réaliste et croyable. Cet élément est consacré pour le choix des couleurs, des formes et
des textures des objets existant dans l’environnement et l’interface utilisateur graphique
GUI.
Qualités externes Ergonomie
— Celle-ci doit être assurée dans les interfaces du jeu. Ainsi, le menu et l’écran du jeu
doivent être bien clairs et intuitifs. En d’autres termes, le joueur aura accès à une
guidance parfaite et claire à l’aide des indications visuelles qui s’affichent en se déplaçant
dans la scène du jeu.

Mihoubi Souhail Page |


16
ISET Nabeul Février 2023

2.2.4. Modélisation des besoins fonctionnels

Diagramme de cas d’utilisation global

Dans cette partie, j’ai présenté le diagramme de cas d’utilisation global qui modélise
besoins fonctionnels de projet :

Figure 11 -Diagramme de cas d'utilisation Globale

Mihoubi Souhail Page |


17
ISET Nabeul Février 2023

2.3. Conception générale


Le diagramme de classe présente une vue globale de projet, il décrit la structure d’un système
en modélisant ses classes, ses attributs ainsi que les différentes relation entre eux.

2.3.1. Architecture générale de Unity


Cette figure explique l’architecture générale et les relations entre les classes de base de
Unity :

Figure 12 - Architecture Générale de Unity

Mihoubi Souhail Page |


18
ISET Nabeul Février 2023

2.3.2. Diagramme de classe général


Je vais présenter le diagramme de classe général de mon jeu. Il est crucial de souligner
que ce diagramme ne reflète pas toutes les classes de mon projet, mais uniquement les
plus significatives. Chaque sprint comporte un ou plusieurs diagrammes de classe
spécifiques à lui-même, qui incluent tous les détails pertinents.

Figure de diagramme de classe ……

Mihoubi Souhail Page |


19
ISET Nabeul Février 2023

2.3.3. Diagramme d’activité


Dans cette partie, je vais présenter le diagramme d’activité relatif au joueur et qui
englobe les besoins que nous avons exposé dans ce sprint.

Mihoubi Souhail Page |


20
ISET Nabeul Février 2023

Chapitre 3

3. Les règles du jeu

3.1. Réalisation du jeu :

Dans cette partie, nous allons présenter les principes de graphisme et d’animation utilisés,
les scènes réalisés et la réalisation des besoins

3.1.1. Le caractère joueur

Figure 13 - Avatar de joueur

Mihoubi Souhail Page |


21
ISET Nabeul Février 2023

3.1.2. Principes de graphisme et d’animation

Graphisme Les fonctionnalités graphiques de Unity permettent de contrôler l’apparence


de l’application et sont hautement personnalisables. J’ai utilisé les fonctionnalités
graphiques de Unity pour créer de beaux graphismes optimisés pour notre jeu mobile.

Les modèles ou "Models" sont des fichiers qui contiennent des données sur la forme et
l’apparence des objets 3D, tels que les caractères, le terrain, ou des objets
d’environnement. Les fichiers de modèle peuvent contenir une variété de données, tels
que des maillages "Meshes", des matériaux "Materials" et textures. Ils peuvent également
contenir des données d’animation. Les modèles sont généralement créés dans une
application externe, puis importés dans Unity. Ils peuvent également être trouvés dans
Unity Asset Store.

Figure 14 - Objet 3D 1

Mihoubi Souhail Page |


22
Figure 15 - Objet 3D 2
ISET Nabeul Février 2023

Un maillage ou "Mesh" est une collection de données décrivant une forme. Dans
Unity, l’utilisation des maillages se fait par les manières suivantes : Dans les graphiques, vous
utilisez des maillages avec des matériaux ; les maillages décrivent la forme d’un objet rendu par
le GPU et les matériaux décrivent l’apparence de sa surface. En physique, vous pouvez utiliser
un maillage pour déterminer la forme d’un collisionneur "Collider".

Figure 16 - Maillage

Les matériaux et les shaders sont utilisés ensemble pour définir l’apparence de la scène.
Matériaux et shaders sont étroitement liés et sont toujours utilisés ensemble. Un matériau
contient une référence à un objet Shader. Si cet objet Shader définit les propriétés du matériau, il
peut également contenir des données telles que des couleurs ou des références à des textures.

Figure 17 - Matériel de mur

Mihoubi Souhail Page |


23
ISET Nabeul Février 2023

Animation
Unity dispose d’un système d’animation riche et sophistiqué. Il prévoit :
— Flux de travail et configuration faciles des animations pour tous les éléments de Unity,
y compris les objets, les personnages et les propriétés.
— Prise en charge des clips d’animation importés et des animations créées dans Unity.
— Recâblage d’animation humanoïde - la possibilité d’appliquer des animations d’un
modèle de personnage à un autre.
— Flux de travail simplifié pour l’alignement des éléments d’animation.
— Aperçu pratique des clips d’animation, des transitions et des interactions entre eux.
Cela nous permet de prototyper et de prévisualiser leurs animations avant que le code de
jeu ne soit accroché.
— Animer différentes parties du corps avec une logique différente.
— Fonctions de superposition et de masquage.

L’animation du joueur

Figure 18 - Different animations de joueur

Mihoubi Souhail Page |


24
ISET Nabeul Février 2023

3.1.3. Unity Asset Store


"L’Asset Store de Unity contient une bibliothèque de ressources gratuites et
commerciales créées par Unity Technologies et les membres de la communauté. Une grande
variété de ressources sont disponibles, notamment des textures, des modèles, des animations, des
exemples de projets entiers, des didacticiels et des extensions d’éditeur." [14] Nous avons
importé des modèles, des textures et des matériaux à partir de l’Asset Store de Unity telles que
celles des maisons, des bâtiments, des voitures et des accessoires afin de créer une scène réaliste
sans perdre beaucoup de temps dans la modélisation.

Figure 19 - Logo de Unity Asset Store

Figure 20 - Ressource gratuite utilisée dans mon projet.

2.1.1 Les scènes du jeu

Figure 21 - Rou de mouvement

Mihoubi Souhail Page |


25
ISET Nabeul Février 2023

Le terrain
Unity fournit une sélection d’outils permettant de créer des caractéristiques
environnementales telles que des reliefs et de la végétation

Figure 22 - Terrain

Figure 23 - Environnement de jeu

Mihoubi Souhail Page |


26
ISET Nabeul Février 2023

L’interface

Figure 24 - Interface de jeu_1

Figure 25 - Interface de jeu_2

Mihoubi Souhail Page |


27
ISET Nabeul Février 2023

3.2. Caractère IA
Après avoir développé le joueur, maintenant j’ai passé au développement de ennemies.

Figure 26- Ennemie

Figure 27- Ennemie Boss

Mihoubi Souhail Page |


28
ISET Nabeul Février 2023

L’animation de l’Ennemie

Figure 28 - Ennemie Animations

Figure 29 - Boss Animations

Mihoubi Souhail Page |


29
ISET Nabeul Février 2023

Déplacement et navigation entre les destinations :


Les mouvements des bots dans la scène, l’évitement d’obstacles, le déplacement d’un
point à l’autre, la rotation vers la position du joueur, les patrouilles aléatoires.
Le système de navigation NavMesh permet de créer des personnages qui peuvent se
déplacer intelligemment dans le monde du jeu, en utilisant des maillages de navigation créés à
partir de la géométrie de la scène.

Le NavMesh de Unity se compose des éléments suivants :


— NavMesh (abréviation de Navigation Mesh) est une structure de données qui décrit les
surfaces praticables du monde du jeu et permet de trouver un chemin d’un endroit accessible à
pied à un autre dans le monde du jeu. La structure de données est construite ou cuite à partir de la
géométrie de niveau.
— Le composant NavMesh Agent aide à créer des personnages qui se dirigent vers leur
objectif. Les agents raisonnent sur le monde du jeu en utilisant le NavMesh et ils savent
comment s’éviter les uns les autres ainsi que les obstacles en mouvement.
— Le composant Off-Mesh Link permet d’incorporer des raccourcis de navigation qui ne
peuvent pas être représentés à l’aide d’une surface piétonnable. Par exemple, sauter par-dessus
une clôture, ou ouvrir une porte avant de la traverser, peut être décrit comme des liens Off-Mesh.
— Le composant NavMesh Obstacle permet de décrire les obstacles en mouvement que les
agents doivent éviter lorsqu’ils naviguent dans le monde. Par exemple, un baril contrôlé par le
système physique. Pendant que l’obstacle se déplace, les agents font de leur mieux pour l’éviter,
mais une fois que l’obstacle devient stationnaire, il creuse un trou dans le navmesh afin que les
agents puissent changer de trajectoire pour le contourner, ou si l’obstacle stationnaire bloque le
chemin, les agents peuvent trouver un itinéraire différent.

Figure 30- NavMesh dans le terrain

Mihoubi Souhail Page |


30
ISET Nabeul Février 2023

Figure 31 - Script de Ennemie

Figure 32 - Script de Boss

Mihoubi Souhail Page |


31
ISET Nabeul Février 2023

3.3. Menu principal

Figure 33 - Menu Principal

Les paramètres

Figure 34 - paramètres

Mihoubi Souhail Page |


32
ISET Nabeul Février 2023

Difficultés

Figure 35 - Difficultés

ScreenLoader

Figure 36 - ScreenLoader

Mihoubi Souhail Page |


33
ISET Nabeul Février 2023

panneau de gagner

Figure 37 - You Win

panneau de perdre

Figure 38 - Game Over

Mihoubi Souhail Page |


34

Vous aimerez peut-être aussi