L'interface Unity

Essayons de mieux comprendre ce qui apparaît à l'écran lorsque vous démarrez Unity pour la première fois.
Gardez à l'esprit que si vous êtes nouveau dans l'interface Unity, ce sera une leçon très importante qui pourrait déterminer votre avenir en tant que développeur Unity.
Vous devrez lire attentivement cet article et apprendre les terminologies utilisées ici.
Chaque élément décrit sous-tend le fonctionnement et la compréhension de Unity 3D.
Nous apprendrons la signification de terminologies de base telles que :




  • Hiérarchie
  • Scène
  • inspecteur
  • GameObject
  • Composant
  • Transformer

En exécutant Unity pour la première fois, vous vous retrouverez devant un outil divisé en plusieurs fenêtres pleines de boutons qui invoquent votre clic mais qui pourraient être déroutants au début.
Mais n'abandonnez pas, vous êtes devant l'outil de création de jeux le plus complet jamais conçu et vous en aurez bientôt le plein contrôle !

Le pouvoir de la création à portée de main.

Examinons le haut de l'écran.
Il y a quatre domaines principaux, qui sont tous très importants :
Hiérarchie, Scène, Plages e inspecteur.

L'interface Unity

Hiérarchie
Il s'agit de la hiérarchie des objets dans la scène actuelle.
Tous les objets sur lesquels vous travaillerez apparaîtront dans cette fenêtre. Les objets de la scène sont appelés gameObjects (objets du jeu) et ils seront tous et toujours listés dans cette fenêtre.

Scène
C'est la fenêtre de travail où la scène actuelle apparaît, c'est dans cette fenêtre que vous travaillerez et construirez la scène du jeu, en déplaçant, redimensionnant et positionnant les objets comme vous le souhaitez.




Plages
C'est la fenêtre où vous verrez le jeu tel qu'il apparaît réellement lorsqu'il est lancé. Il s'agit d'un écran de sortie uniquement (vous ne pouvez donc pas interagir directement avec lui), mais à l'intérieur, vous pourrez voir le résultat du travail que vous avez effectué jusqu'à ce moment.

inspecteur
C'est l'inspecteur, c'est-à-dire la fenêtre d'inspection de l'objet sélectionné. Sur cette fenêtre, vous pourrez voir toutes les informations sur le gamaObject sélectionné à ce moment, les scripts qui s'y rattachent et toutes les caractéristiques qu'il possède. S'il est complètement vide pour le moment, c'est simplement parce que vous n'en avez sélectionné aucun gameObjects .

Au début il y aura déjà deux gameObjects fondamentaux dans la scène, une caméra et une lumière.
Comme vous pouvez facilement le deviner, la caméra représente le point de vue, c'est l'œil qui cadre le jeu. Ce que la caméra voit est ce qui est affiché dans la fenêtre Plages.

Qu'entend-on par le mot « scène » ?

Une scène (s) est un niveau de jeu. Le monde du jeu peut être composé de scènes infinies qui seront chargées au besoin. Ou, dans certains cas, il suffit d'avoir deux ou trois scènes pour un jeu entier, cela dépend de la complexité du jeu en question.
NOTE : Il est important de comprendre tout de suite que lorsque vous passez d'une scène à une autre, tous les gameObjects in Hiérarchie sera détruit et je serai téléchargé gameObjects de la nouvelle scène.
Donc, je gameObjects ils ne sont pas automatiquement permanents pendant toute la durée du jeu, sauf si vous spécifiez de ne pas détruire un objet particulier lors du chargement d'une nouvelle scène.




L'élément le plus important dans le développement d'un jeu :
je gameObjects.

Tous les éléments d'une scène sont gameObjects.
La caméra est un gameObject, la lumière est un gameObject, un personnage est un gameObject etc… je gameObjects diffèrent les uns des autres selon les composants électriques qui leur sont attribués.
Lors de la sélection d'un gameObject, nous pouvions tous voir composants électriques présent sur ce gameObject désagréable dans la fenêtre inspecteur .
Par nature je gameObjects ils sont "vides", c'est-à-dire qu'ils ne sont que des "points dans l'espace 3D de la scène" qui n'effectuent aucune opération particulière. Qu'est-ce qui me fait gameObject fonctionnel suis-je composants électriques composez-les (également appelées "s'y rattachent").

Les componets (composants) sur un gameObject

I composants électriques (composants) sont un autre bloc de construction fondamental sur lequel repose tout développement d'un jeu vidéo dans Unity. Ce sont les éléments qui "remplissent" un gameObject et lui attribuent ses caractéristiques.

Par exemple, l'appareil photo fait son travail d'appareil photo car c'est un gameObject auquel le Composant "Pièce" ce qui en fait justement, un appareil photo. Sans le composant Caméra, cela gameObject il n'aurait pas les mêmes fonctions et le même rôle dans le jeu. Un appareil photo est tel précisément parce qu'il s'agit d'un appareil photo normal gameObject avec le composant Caméra.
Pour donner un autre exemple, pour avoir une sphère 3D à l'intérieur de la scène, il faudrait créer un gameObject les composants électriques du "modèle de sphère" dessus.


DIVISION SUR LE CODE COMPOSANT.
Dans ce guide, chaque fois que vous lisez “DIVAGATION ON…”, cela signifie que je ne traite pas expressément du sujet de la séance mais que j'"explore" un sujet inhérent à celle-ci qui a déjà été traité ou qui le sera plus tard.
Dans cette session, nous examinons l'interface Unity et nous verrons donc plus tard comment interagir avec les composants à partir du code.



Au risque de faire du "hors sujet" avec la leçon, je souhaite tout de même vous familiariser avec l'une des instructions fondamentales que nous rencontrerons dans le code.

GetComponent();

Avec cette simple ligne dans le code, nous allons "récupérer" n'importe quel composant, afin de pouvoir le gérer.
Par exemple, avec cette ligne :

GetComponent();

Nous aurons "lu" le composant de la caméra afin de pouvoir le gérer comme nous le souhaitons directement à partir du code, en modifiant le zoom de la caméra et de nombreuses autres fonctionnalités directement au moment de l'exécution, c'est-à-dire pendant que le jeu est en cours d'exécution.


Tout script est également un composant. Par exemple, un script qui fait bouger un personnage est un composants électriques , un certain VFX assigné au gameObject de la caméra est un composants électriques Etc ..

Tous les gameObjects sont constitués de plusieurs composants.

Par exemple, un personnage se déplaçant sur l'écran sera un gameObject avec le composant "modèle de personnage" qui le fait apparaître à l'écran et le script "mouvement" pour le faire bouger via l'entrée du joueur.

Le composant Transformer

Ce "composant" peut être défini comme "spécial" car il est présent sur tous gameObjects, se trouve toujours au-dessus de tous les composants et est le seul que vous ne pouvez pas supprimer d'un gameObject.
Comme son nom l'indique, il représente tous les "Transformations 3D» de l'objet destiné à particularités du jeuObjet dans l'espace, c'est-à-dire son échelle, sa rotation et sa position dans l'espace. Il peut être défini comme le composant qui identifie ce gameObject sur votre scène.

Une autre partie importante de l'interface Unity - le panneau Projet
L'interface Unity

Au bas de l'écran Unity, nous trouvons une fenêtre qui peut basculer entre Le projet NetPoulSafe e Buffet à travers deux onglets. Nous verrons plus tard ce qu'est la Console et son utilité. Pour l'instant, concentrons-nous sur le Panneau de projet.

À l'intérieur de la fenêtre Le projet NetPoulSafe on y retrouvera les fiches projets ou plus communément appelées « Assets ».

Un atout est un "bien", entendu comme un "élément utile" pour le développeur.
Les textures, les sons, les modèles, les scripts, les matériaux et tout ce que vous utiliserez dans un projet seront appelés Asset.

Tout comme les fichiers dans une fenêtre Windows dans cette fenêtre, nous pouvons voir tout type de fichier faisant partie du projet que vous pouvez trier en dossiers et sous-dossiers.
Il est important que vous gardiez vos fichiers bien triés par catégories en créant des dossiers qui contiennent un certain type de fichier, afin de vous orienter facilement lorsque vous souhaitez trouver un fichier spécifique.
A gauche de notre panneau Le projet NetPoulSafe on retrouve un petit menu de navigation à partir duquel on peut
accéder facilement aux répertoires de nos fichiers ou favoris
(Favoris), dossiers qui filtrent tous les fichiers d'une spécification
catégorie. Par exemple, en cliquant sur "Tous les modèles", ils nous seront présentés
tous les modèles qui sont actuellement dans notre projet.

Dès que vous démarrez un projet vous vous retrouvez avec le dossier Asset qui sera toujours présent et représentera le dossier avant tout dans lequel se trouveront tous les assets.
Ce serait une bonne habitude de créer immédiatement une hiérarchie qui contient initialement au moins les dossiers :

  • Textures
  • Scripts
  • Supports de cours
  • Textures
  • Frais de modèle

Ainsi, vous savez immédiatement où créer ou importer des fichiers.

Vous apprendrez rapidement qu'avoir de nombreux fichiers dans un projet ne signifie pas qu'ils feront tous partie du jeu fini. En effet, lors de la construction du jeu, seuls les fichiers réellement utilisés seront insérés dans les dossiers du jeu et non tous ceux importés dans le projet.
Vous assimilerez bien ce concept lorsque vous vous apercevrez que vous aurez un projet de plusieurs dizaines de Go mais un build final de quelques centaines de Mo (heureusement !). En effet, il peut arriver que vous utilisiez des "packages" téléchargés depuis l'Asset Store mais que vous n'en utilisiez que de petites parties. Seules les parties réellement utilisées (modèles, textures, scripts etc..) seront incluses dans le build.

Se déplacer dans la fenêtre Scènes

En haut à gauche se trouve une petite barre de navigation avec cinq boutons. Ils sont utilisés pour déplacer et interagir avec des objets dans la scène (dans la fenêtre de scène).

Les boutons permettent, dans l'ordre de gauche à droite :

  1. Panoramique de la vue
  2. Déplacer l'objet sélectionné
  3. Faire pivoter l'objet sélectionné
  4. Mettre à l'échelle l'objet sélectionné
  5. Déformer l'échelle de l'objet sélectionné
  • Roulette de la souris: il est utilisé pour zoomer la vue de la scène.
  • Bouton gauche de la souris : permet de sélectionner des objets dans la scène.
  • Alt+clic gauche : permet de faire pivoter la vue autour d'un point.
  • Touche droite : s'il est maintenu enfoncé, il active le "mode vol". Dans ce mode, vous pouvez vous déplacer dans la scène à l'aide des boutons W, A, S et D, et vous pouvez faire pivoter la vue simplement en déplaçant la souris.
  • Bouton central de la souris: Il vous permet d'effectuer un panoramique de la caméra ou de déplacer la vue sans la faire pivoter. Vous pouvez faire la même chose en maintenant enfoncé Ctrl + Alt et utilisez le bouton gauche de la souris.
  • Touche F : vous permet de déplacer la vue vers un seul objet. Il sera très utile lorsque vous souhaitez vous déplacer rapidement vers un objet de la scène très éloigné ou hors de votre champ de vision. Vous pouvez faire la même opération avec un Double Clic de la souris sur un objet du Hiérarchie.

Un aperçu du panneau de la console

En appuyant sur l'onglet « Console », nous passerons du panneau Projet à cette… Console !

Comme tous les panneaux, nous pouvons le déplacer et le placer là où nous aimons le mieux.
Ce panneau affichera toutes les erreurs concernant votre projet (espérons qu'elles seront toujours peu nombreuses).
Il sera extrêmement utile lorsque vous essayez de corriger un bogue ou pour tester si un script fonctionne correctement.
Par exemple, il vous suffit d'écrire le code

Debug.Log("mon texte");

or

print("mon texte");

pour voir « mon texte » apparaître comme par magie sur votre console !
Évidemment on s'en fout de voir un texte qu'on a écrit sur la console, on verra l'utilité de ce panneau dans les leçons suivantes.
Gardez à l'esprit dès maintenant que ce panneau représente une interface de sortie comme la fenêtre de jeu, c'est-à-dire qu'il ne sera pas possible de taper du texte directement à l'intérieur, mais il sera très utile comme sortie de ce que nous serons intéressés à savoir pendant l'exécution de notre jeu.


Lorsque nous installons Unity, un autre programme intégré au moteur, appelé MonoDevelop (dans les anciennes versions) ou Communauté Visual Studio (dans les versions plus récentes).

Ainsi à partir de la version 2018.1 de Unity on ne trouvera plus MonoDevelop mais le plus professionnel Visual Studio.

Communauté Visual Studio est la version gratuite de Visual Studio programme de fabrication Microsoft, donc différent de celui de l'Unité. Unity ne permet pas l'écriture de code en son sein, c'est pourquoi il s'appuie sur un éditeur de script tel que note Visual Studio. Lorsque nous allons double-cliquer sur un script à l'intérieur Unité, il s'ouvrira le Visual Studio.

UNITÉ est un éditeur qui permet la création, le positionnement, l'affectation de la partie graphique, etc… des objets de notre jeu.
Visual Studio c'est l'éditeur qui permet la programmation, c'est à dire l'écriture de code qui va faire bouger les objets de notre jeu.

Pour simplifier nous définirons Visual Studio en tant que éditeur de script. Il est livré avec un éditeur de texte normal, mais avec quelques fonctionnalités supplémentaires. Gardez à l'esprit qu'il est possible d'écrire des scripts même avec le simple bloc-notes de Windows ou tout autre éditeur de texte. La seule différence réside dans les aides que le Visual Studio donne au développeur, avec des conseils lors de l'écriture, la détection des erreurs, la vérification de la syntaxe, l'utilisation des couleurs pour identifier les mots-clés, etc.

Visual Studio est donc l'éditeur de scripts rattaché à Unity avec lequel nous allons écrire le code de notre jeu.

Préthèse informationnelle : que veut dire « programmer » ?

Comme le mot lui-même le dit, programmer signifie préparer quelque chose pour l'avenir, dans notre cas on peut dire qu'on va essayer de "donner des instructions à l'ordinateur qui devra alors se comporter comme on lui a dit de faire".

Mais rappelons-nous que l'ordinateur est un objet inanimé.
Cela le rend très différent que s'il s'agissait par exemple d'une personne, à qui on pourrait simplement indiquer :
« s'il pleut, prenez un parapluie ». Ou de notre chien à qui on pourra apprendre un certain geste ou mot qu'il interprétera alors comme "aller à la niche" et lui fera faire l'action d'aller à la niche.

L'ordinateur est un objet, comme un stylo, une table, un cyclomoteur, etc. Ce n'est pas du tout une machine intelligente, il n'y a pas de machines intelligentes. Il n'y a que des machines qui sont très rapides dans l'exécution des opérations, une particularité qui permet de simuler un certain type d'intelligence grâce à la possibilité d'effectuer des milliards d'opérations en moins d'une seconde afin qu'elle puisse trouver la réponse la plus appropriée à un certain demande en examinant des milliards de réponses possibles en une milliseconde.

L'ordinateur est un assemblage de morceaux de plastique, de cuivre et de silicium. C'est une voiture, comme votre cyclomoteur, qui si vous voulez "commander" d'avancer, vous devez utiliser l'accélérateur.
Votre cyclomoteur a sa propre façon d'interagir avec vous et de comprendre vos commandes, comme toute autre voiture.
Donc, pour commander à l'ordinateur que lorsque vous appuyez sur une touche, il fera ceci ou cela, vous aurez besoin d'un langage qu'il peut comprendre.

Le problème est que la seule langue que l'ordinateur comprend est celle que vous ne comprendriez pas. C'est un langage composé de 1 et de 0 qui est très compliqué et qui prendrait trop de temps si on essayait de l'écrire à la main.
L'ordinateur étant une machine, il ne peut rien faire d'autre qu'acquitter l'accès ou l'arrêt, précisément : 1 et 0. langue binaire.

Ainsi, puisque l'ordinateur a la particularité d'être très rapide, même si de nombreuses opérations seront nécessaires, nous pourrions lui faire traduire ce que nous écrivons dans notre langue, dans la langue qu'il peut comprendre.

Cette procédure est appelée compilation et c'est ce que Unity fait automatiquement lorsque nous lui disons de créer le Construire de notre jeu.
Construire signifie littéralement « construire » ou « construire ».

L'interface Unity


Mais attention à ne pas vous tromper.

D'abord créer une construction ça va être long car c'est ce que tu fais en fin de développement ou lorsque vous souhaitez effectuer des tests en créant un exécutable que vous pouvez tester sur d'autres ordinateurs ou transmettre à d'autres personnes.
Une construction est la version finale de notre jeu, l'ensemble des dossiers et fichiers, y compris les fichiers .exe à exécuter pour démarrer le jeu.

"Build" est l'opération finale qui nous permet de créer le jeu qui sera exécutable par l'utilisateur.

Au cours du développement de notre jeu, nous pouvons le tester à tout moment sans forcément avoir à créer un build à chaque test, directement dans l'éditeur Unity, par simple appui sur la touche PLAY présent au centre de la barre supérieure de Unity.

L'interface Unity

Nous écrirons en langage C# sur Visual Studio puis nous testerons notre travail en appuyant sur le bouton Play sur Unity.

Le texte que nous allons écrire dans Visual Studio est communément appelé code et le fichier de notre projet sur lequel nous allons travailler s'appellera la source ou plus simplement des scripts.
Un script est essentiellement un fichier avec l'extension .cs (qui signifie C Sharp) qui peut être affecté à un gameObject (objet du jeu) pour lui faire faire les choses que nous voulons qu'il fasse.
Le fichier exécutable qui "naîtra" de la compilation sera le programme compilé, notre jeu, prêt à être lancé par n'importe qui sur son PC/console/téléphone portable/tablette etc...
Il suffira donc d'effectuer l'opération de build sur Unity pour transformer notre travail en version exécutable et jouable par l'utilisateur. Cela n'arrivera qu'à la fin de notre travail, une fois que nous aurons terminé le développement du jeu ou pour faire des tests ponctuels pendant le développement.

compilation nous entendons donc ce processus par lequel un programme, écrit dans un langage de programmation, est traduit en instructions exécutables par le processeur.

Donc, si nous écrivions cette phrase sur un script : "Appuyer sur la touche fléchée droite fait déplacer le modèle vers la droite" et attribuez-le à un gameObject, ça devrait marcher…
Dommage toutefois que Unity ne comprenne pas l'italien et n'intègre (heureusement) qu'une grammaire moins riche que n'importe quelle langue parlée. Tous les langages de programmation utilisent la langue anglaise comme base et donc toutes les instructions doivent être écrites en anglais. Ne vous inquiétez pas si vous ne parlez pas anglais, si c'était de l'italien ou de l'ostrogoth, cela ne changerait rien, ce ne serait ni plus facile ni plus difficile.

Ce que nous devrions écrire en anglais serait : "Si le clic droit est enfoncé, la coordonnée X de l'objet augmente au total" .
Ce serait mieux, mais rien ne changera et encore une fois notre compilateur ne saura pas traduire ce que nous avons écrit en langage compréhensible par la machine et nous enverra une erreur. Comme mentionné, vous devez utiliser une syntaxe adéquate composée de crochets et de mots-clés.

La syntaxe correcte serait IF(right.click=pressed){model.x=model.x+tot;}. C'est-à-dire que si le bouton droit de la souris est enfoncé, il augmente la coordonnée x du modèle, de manière à le faire bouger.
Nous y sommes presque, mais ce n'est toujours pas la bonne syntaxe.
Chaque fois que nous voulons dire à l'ordinateur de faire quelque chose uniquement lorsqu'une certaine condition se produit (dans notre cas, le bouton droit est enfoncé), nous rencontrerons un petit mot qui est sûrement l'instruction la plus importante de toutes, quel que soit le langage que nous utilisons : SE. Eh bien, l'état. A condition d'appuyer sur le bon bouton, alors faites ceci ou cela. En anglais : IF.

Comme vous l'avez peut-être remarqué, il existe des "signes d'égalité" de parenthèses, d'accolades et de points-virgules indiquant que nous ne sommes pas sûrs de ce qu'ils font. Ces symboles sont nécessaires pour une syntaxe correcte, comme si nous écrivions une phrase en italien.
C'est la syntaxe du langage C# (prononcez C Sharp) que Unity et Visual Studio comprendront et pourront enfin compiler, transformant nos instructions du langage C# dans le langage machine qui créera notre programme/jeu.
Si sur un thème italien on écrivait la phrase "peut-être:demain ! j'irai]à la(mer..." notre professeur donnerait un bon 2 en grammaire (et peut-être qu'elle nous ferait voir par un spécialiste), car ce que nous avons écrit en italien n'est pas correct, même si le sens est compris, il y a des erreurs de grammaire, donc c'est faux . Même chose quand on écrit dans un langage de programmation, la syntaxe doit être la bonne, on ne peut pas l'inventer sinon une erreur sera mise en évidence et la compilation s'arrêtera.

si (condition) { faire ceci ; }

Voilà, c'est enfin la grammaire correcte de la langue que nous parlons, la C#.

  1. L'éducation avant tout IF qui vérifie la condition, c'est à dire si ce que nous avons écrit à l'intérieur des parenthèses soit vrai ou faux.
  2. Je viens de refermer la parenthèse du condition on retrouve une accolade qui s'ouvre. À l'intérieur des accolades se trouve le code que nous voulons exécuter lorsque le condition se révélera vrai.
  3. L'opération se termine par un point-virgule qui détermine toujours la fin de l'opération que nous voulons que l'ordinateur fasse.

    Comme vous l’aurez compris la symbologie est très importante, il faudra utiliser des symboles comme égal, moins, plus grand, etc…

Quelques exemples pour se familiariser…

Par exemple, si nous voulions effectuer une opération uniquement lorsque le score d'un joueur est de 1000, nous écrirons :

if(score == 1000){ ...faire ceci... ;}

si à la place on voulait faire la même chose lorsque le score est égal ou supérieur à 1000, on écrirait quelque chose comme ceci :

if(score >= 1000){ ...faire ceci... ;}

où >= signifie « égal ou supérieur ».

Mais pourquoi est-il utilisé pour vérifier l'égalité == et pas simplement =? Autrement dit, pourquoi utiliser deux symboles égaux l'un après l'autre ? Nous le verrons dans Session 1.4 dans lequel j'explique plus en détail la première instruction de contrôle, if ed d'autre. Mais rappelez-vous de ne pas sauter les sessions précédentes !

Conclusions finales

Êtes-vous un peu confus? C'est normal. Continue et ne vous découragez pas.
Il n'y a pas de meilleur guide que l'expérience. En faisant les premiers tests, vous commencerez à entrer dans la bonne mentalité et vous verrez que tout sera plus clair.
Je vous rappelle que, si vous n'avez pas compris quelque chose, vous pouvez facilement écrire un commentaire sous chaque leçon.

ajouter un commentaire de L'interface Unity
Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.

End of content

No more pages to load