Vous êtes sur la page 1sur 2

Diapo 5 :

Dans la vidéo on peut voir le joueur s’approcher de l’ennemie pour entrer dans son champs de vision,
ainsi, on voit l’ennemie se tourner vers nous puis viser puis commencer à tirer, puis on lui tire dessus
et la fonctionnalité en plus c’est qu’on puisse tirer sur les balles que nous tire l’ennemie, de plus on
peux également tirer sur les arbres.

Diapo 6 :

L’architecture de noter projet est assez complexe mais globalement elle est composée de l’index des
scènes qui va être l’équivalent du squelette de notre projet qui va donner un ordre aux scènes. Puis
chaque scène est composée de sous partie qui la compose, notre écran d’accueil par exemple est
composé d’un canvas qui est le fond ainsi que de 2 bouton qui sont associer à un script. On peut
notamment voir sur la capture d’écran les sous fichiers qui sont utilisé pour le joueur sous le
« fichiers » player.

Concernant l’environnement, unity est un moteur de jeu au même titre qu’Unreal engine même si
unity est plus utiliser qu’Unreal engine. Ce moteur de jeu permet donc de créer des jeux (c’est-à-dire
les coder) mais aussi de créer un fichier exécutable qui va contenir le jeu et c’est cela qui a permet à
unity de se faire connaitre outre le fait que le projet fut utilisé pour créer des jeux qui sont
aujourd’hui très connue. Ainsi unity propose des assets qui sont payante ou gratuite pour aider à la
création des jeux pour par exemple avoir un personnage déjà créer ou des armes déjà prêtes, unity
utilise principalement du C sharp même si celui-ci est modifié par unity pour coller à sa fonction de
création de jeu ce qui va engendrer la création de nouvelle fonction. Cela implique le fait que même
si vous connaissez le C sharp, vous devrez presque tout réaprendre car les fonctions de unity sont
différentes. Même la logique derrière est différente car elle prend en compte des modèles
mathématiques peu connue comme les quaternions et bien d’autre

Diapo 8 :

Je vais vous présenter ma partie de code, on va créer une variable float qui va définier la taille du
rayon de détection de l'ennemie, puis on va assigner grâce au module NavMeshAgent mit
précédemment sur l’ennemie une target et l’agent qui fait ici référence à l’ennemie.

Puis sur la première fonction on va créer une variable float qui représente la distance entre
l’ennemie et le joueur puis on met une boucle if qui va nous permettre de comparer la distance entre
notre ennemie et le joueur pour que si la distance entre les 2 entité est inférieur au rayon de
détection de l’ennemie alors l’ennemie commence à traquer le joueur. (Cela est possible car le if se
trouve dans la fonction Update qui est une fonction qui se répète à l’infinie). Puis si la première
condition est remplie, alors on va comparer la distance entre les 2 entités, et si elle est inférieure ou
égale à la distance d’arrêt alors on va lancer la fonction FaceTarget.

La fonction FaceTarget permet grâce aux quaternions d’euler de faire une rotation non sacader ou
non téléporter de l’ennemie ce qui va créer un mouvement fluide et plus « naturel » pour que
l’ennemie regarde le joueur.

La dernière fonction concerne le rayon de détection qui pour être mieux visible pour nous en codant
à était incorporé au code ce qui permet de donnée un visuel pour le rayon et une couleur qui est le
rouge la dernière ligne du code prend le centre du cercle en donné ce qui est ici la position de
l’ennemie et en deuxième donnée la taille du rayon qui est la variable qu’on a créée au début.
Le deuxième script concerne l’écran d’accueil. On créer une fonction Playgame qui va aller chercher
l’index de la scène, c’est-à-dire qu’il va aller dans le build du jeu qui est basiquement le squelette du
jeu car toute les scènes que le jeu possède y sont ranger dans l’ordre et chaque scène possède un
index. L’écran d’accueil possède donc l’index 0 car c’est la première scène de notre jeu. En prenant
cela en compte la fonction va alors ajouter 1 à l’index global ce qui va alors faire passer de la scène
de l’écran d’accueil à la scène de jeu. Ce script sera relié à un bouton ce qui va nous faire changer de
scène si on appuie sur la fonction.

La deuxième fonction concerne le bouton quitter de notre écran d’accueil. Il va simplement afficher
Quit ! dans les logs du jeu et va nous faire quitter l’application. Coupler à un bouton il va donc nous
faire quitter le jeu à chaque fois qu’on va appuyer dessus. La partie print dans les logs est destiné aux
codeurs et non aux joueurs car les log sont visible pour les codeurs et nous pour les joueurs, il nous
permet quand on teste le jeu de voir si notre fonction marche car cela va print alors le contenue de
notre fonction qui est ici Quit !

Diapo 9 :

Nous allons ensuite vous présenter l’architecture du terrain et de l’environnement. Tout d’abord,
nous avons modélisé un terrain en créant un object terrain depuis le Menu GameObject et puis 3D
Object. Dans hierarchy, les dimensions du terrain, on a mis une largeur, une longueur et une hauteur
du terrain. Puis, on a utilisé la fonction Paint Terrain afin de créer des reliefs (clic gauche pour faire
monter le terrain, clic gauche+maj pour l’enfoncer+Smooth height pour le rendre équilibré et
naturellement en plus grâce à l’outil Brush qui a également permis de modéliser quelques petites
montagnes ainsi que de craters adaptés à notre jeu. Le terrain a été complété par une mise en place
de l’herbe qui peut etre faite depuis Unity avec la fonctionn Edit Terrain Layers, mais nous l’avons
importé depuis le Asset Store suite à des bugs. Le Asset Store nous a ensuite permis de mettre de
place des arbres et des pierres pour rendre l’environnement encore plus naturel, ainsi que le pont et
l’ile également importés pour Boss Final. Il est important d’indiquer que il y a souvent une erreur
lorsqu’on télécharge un Asset : souvent, on n’aarive pas à le retrouver pârmi d’autres Assets
lorsqu’on veut l’importer. Pour regler cela, il faut se déconnnecter de l’Unity Hub et ensuite se
reconnecter : normalement, l’Asset reapparaitra dans tous les Assets.

Vous aimerez peut-être aussi