Jeux

Tutoriel Unity3D

Tutoriel Unity3D

Introduction à Unity 3D

Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des jeux pour mobile, web, ordinateur de bureau et console, environ 30 plateformes au total. Unity 3D possède de nombreuses fonctionnalités intéressantes, dont quelques-unes sont présentées ci-dessous :

Interfaces Unity

Explorons les interfaces de l'éditeur Unity, qui sont configurables.  Il est composé de fenêtres taraudées que vous pouvez réagencer selon vos besoins.  Explorons les paramètres de fenêtre par défaut. Voici l'image à quoi ça ressemble

Fenêtre Hiérarchie

La fenêtre Hiérarchie représente chaque objet de la scène. Il montre comment les objets sont liés les uns aux autres dans la scène, donc ces deux fenêtres sont liées. Dans la fenêtre de hiérarchie, il y a une liste déroulante nommée comme Créer. Vous pouvez créer très facilement un objet vide, des objets 3D, des objets 2D, des objets lumière, audio, vidéo, système de particules et caméra. La fenêtre de hiérarchie est illustrée ci-dessous. "Sans titre" est le nom de la scène. Vous pouvez le renommer comme vous le souhaitez. Vous pouvez voir une icône déroulante tout à droite de sans titre (nom de la scène). En cliquant sur cette liste déroulante, vous pouvez voir différentes options pour Enregistrer la scène et Ajouter une nouvelle scène.

Fenêtre de scène

La fenêtre de scène est l'endroit où vous créez votre scène. C'est là que vous pouvez interagir avec vos objets et modèles de jeu. Vous pouvez redimensionner, remodeler et repositionner vos objets de scène. Ceci est la fenêtre où vous commencez à travailler avec Unity. La vue de la scène peut être en 2D ou en 3D selon le paramétrage de votre projet. Voici une capture d'écran de l'apparence de la fenêtre de la scène :

Dans la fenêtre de la scène, vous pouvez voir un autre onglet intitulé Ombré, c'est ici que vous pouvez sélectionner le type de vue que vous voulez soit ombrée ou filaire. Il a de nombreuses autres options comme Divers, Éclairage global, GI en temps réel, GI cuit et bien d'autres. Vous pouvez visualiser en 2D ou en 3D en utilisant le bouton à côté du Ombré menu déroulant. Vient ensuite le bouton à bascule pour l'éclairage de la scène. De même, un bouton à bascule pour l'audio de la scène. Vient ensuite une liste déroulante pour activer la boîte du ciel, le brouillard, le matériel animé et les effets d'image.

Fenêtre de jeu

La fenêtre de jeu représente votre jeu final publié en mode jeu. Il est rendu à partir des caméras que vous avez utilisées dans votre jeu. Dans la fenêtre du jeu, vous pouvez voir une autre barre d'outils comme indiqué ci-dessous dans la capture d'écran :

L'écran 1 montre la caméra présente dans votre scène de jeu. Par défaut, il est défini sur Affichage 1 pour la caméra principale. Si vous avez plusieurs caméras et que vous souhaitez changer, vous pouvez sélectionner dans la liste déroulante. À côté de cela, vous pouvez voir une liste déroulante pour les rapports d'aspect. Vous pouvez sélectionner en fonction de l'écran du moniteur de votre appareil cible. Ensuite, vous pouvez voir un Curseur d'échelle pour zoomer. Faites défiler vers la droite et examinez plus de détails de votre scène en mode lecture. Suivant est le bouton pour Maximiser le jeu, lorsque vous cliquez dessus, la taille de la fenêtre de jeu sera maximale en mode de jeu. Couper le son toggle est utilisé pour désactiver/activer le son. Statistiques affiche des statistiques de rendu sur l'audio et les graphiques de votre jeu.

Fenêtre Actifs du projet

Comme son nom l'indique, la fenêtre des actifs contient tous les actifs de votre projet que vous pouvez utiliser. Si vous importez quelque chose de nouveau, il apparaîtra dans la fenêtre des actifs du projet. La fenêtre des ressources du projet comporte deux parties, le panneau gauche et le panneau droit, comme illustré dans la capture d'écran ci-dessous :

Le volet de gauche montre la structure hiérarchique des actifs du projet.  Lorsque vous cliquez sur un dossier, les détails s'affichent dans le panneau de droite. Par exemple dans la figure donnée Préfabriqués le dossier est cliqué dans le panneau de gauche afin que ses détails s'affichent dans le panneau de droite car il contient deux objets de jeu. Dans le panneau de gauche, vous pouvez voir un Favoris section, où vous pouvez faire glisser les éléments que vous souhaitez utiliser très fréquemment pour éviter de perdre du temps à les rechercher. Au-dessus, vous pouvez voir un Créer liste déroulante qui vous permet de créer un script C#, un dossier, un shader, une interface graphique, une scène, un préfabriqué, un matériau et bien plus encore.

Fenêtre de la console

La fenêtre de la console est l'endroit où vous pouvez voir vos erreurs, avertissements et messages. Vous pouvez les ajuster en cliquant sur leurs boutons bascule. Il vous permet également d'effacer toutes les erreurs, avertissements et messages. Vous pouvez suspendre les erreurs pendant un certain temps. Ici vous pouvez voir dans la figure suivante

L'icône déroulante dans le coin supérieur droit propose des options pour le journal de l'éditeur et la journalisation de la trace de la pile.

Fenêtre de l'inspecteur

La fenêtre d'inspection est l'une des fenêtres les plus intéressantes et utiles de l'éditeur. C'est l'endroit où vous pouvez modifier toutes les propriétés de l'objet de jeu sélectionné. Chaque objet du jeu a son propre type, donc leurs propriétés seront différentes et la fenêtre de l'inspecteur peut varier. Les actifs, les scripts et les objets de jeu varient tous en propriétés. Permet de voir les propriétés d'un cube dans la fenêtre d'inspection. Voici l'image :

Vous pouvez renommer votre objet de jeu en cliquant simplement sur le nom précédent et en en tapant un nouveau. Ensuite, vous verrez la section de transformation où vous pouvez ajuster la position, la rotation et la mise à l'échelle de votre objet de jeu sélectionné. Dans le dernier, vous voyez un nom de bouton comme Ajouter un composant, cliquez dessus pour ajouter de nouveaux composants à votre objet de jeu, par exemple si vous souhaitez attacher un script, cliquez simplement sur ajouter un composant et tapez le nom de votre script.

Barre d'outils

Le dernier est l'onglet de la barre d'outils, il a de nombreuses fonctionnalités utiles. Il contient des outils de base pour manipuler la vue de la scène et les objets. Au centre, il y a des boutons pour la lecture, la pause et le contrôle pas à pas. Les deux boutons suivants affichent votre cloud Unity et votre compte Unity. Voici la figure à quoi elle ressemble:

Premiers pas avec Unity

Commençons à créer un nouveau projet dans Unity car il est temps de jouer avec ce que nous avons appris. Double-cliquez sur l'icône Unity, la fenêtre suivante apparaît :

Entrer nom du projet, choisir un lieu de travail Emplacement puis sélectionnez le type de votre projet 2D ou 3D. Cliquer sur Créer un projet.

Par défaut, vous verrez une scène sans titre contenant une caméra principale et une lumière directionnelle dans la scène. Commençons à créer un environnement.

Environnement du bâtiment

Créez tout d'abord un plan en cliquant sur Créer -> Objet 3D puis sélectionnez Avion. Ou bien vous pouvez le créer en cliquant sur GameObject -> Objet de jeu puis sélectionnez Avion. Allez dans la fenêtre de hiérarchie et cliquez sur l'objet du jeu d'avion. Allez maintenant dans la fenêtre de l'inspecteur et renommez-la en Terre. Ajustez maintenant les valeurs de transformation pour que ce plan ressemble à une route droite. Échelle juste X à 6 et Z à 50. Voici l'image à quoi ça ressemble

Téléchargez maintenant une texture de route et appliquez-la sur l'objet au sol. Créer un nom de dossier en tant que Texture. Faites glisser la texture de route téléchargée dans le dossier de Texture. Maintenant, sélectionnez Terre et faites glisser la texture de la route dans la vue de la scène. Voici l'image à quoi ça ressemble

C'est la texture que j'ai téléchargée

Après avoir appliqué la texture sur le sol, cliquez sur Sol et définissez le carrelage dans la fenêtre d'inspection. Voici comment je l'ai réglé.

Maintenant que vous avez créé un modèle de route, créons un modèle de balle dans l'unité.

Aller à Créer -> Objet 3D puis sélectionnez Sphère, vous verrez un objet sphère dans la fenêtre de la scène. Sélectionnez-le et accédez à la fenêtre de l'inspecteur pour le renommer en Balle. Ajustez maintenant les valeurs de transformation en conséquence. Redimensionnez-le simplement à 5 le long des trois axes et repositionnez-le au centre de la route. Voici à quoi ça ressemble

Créez maintenant une clôture ou un mur autour de la route.

Aller à Créer -> Objet 3D puis sélectionnez cube. Sélectionnez-le et renommez-le en Mur1. Accédez à la fenêtre d'inspection et définissez les valeurs de transformation pour qu'elle ressemble à un mur autour de la route. Voici à quoi cela ressemble :

Voir ces valeurs de transformation pour Mur1. Échelle Y à 6 et Z à 500. Puis ajustez sa position pour qu'il arrive aux coins de route.

Maintenant, recherchez une texture de mur, téléchargez-la et copiez-la dans le Texture dossier dans les actifs. Faites glisser la texture du mur vers le mur dans la fenêtre de scène. Ajustez le labour pour qu'il soit beau et lisse. J'ai ajusté la mosaïque comme X à 50 et Y à 1.5. Après avoir ajusté le carrelage, voici à quoi il ressemble

C'est la texture que j'ai utilisée pour le mur

Nous avons créé un mur pour un côté de la route. Maintenant fais la même chose pour l'autre côté de la route aussi. Au lieu de passer par tout le processus, nous pouvons simplement copier Mur1 et renommez-le en Mur2.

Sélectionner Mur1 dans la fenêtre de hiérarchie, puis cliquez avec le bouton droit puis sélectionnez Dupliquer option. Cela créera un autre objet de jeu ayant la même taille et les mêmes valeurs de transformation. Cliquer sur Mur1(1) et renommez-le en Mur2. Ajustez maintenant la position pour qu'elle arrive à l'autre coin de la route.

Voir l'image suivante à quel point c'est cool

Mes valeurs de position pour Wall2 sont de X à -29.6 ans à 2.6 et Z à 2.6.

Créez maintenant un matériau pour Balle. Allez dans la fenêtre Projet et créez un dossier en cliquant avec le bouton droit de la souris puis sélectionnez Dossier. Nommez-le comme Matériaux. Cliquez à nouveau avec le bouton droit de la souris et créez un matériau. Nommez-le comme balle rouge. Dans la fenêtre de l'inspecteur, sélectionnez la couleur du matériau. Aller à Cartes principales et sélectionnez la couleur Albedo au rouge. Augmentez la texture métallique en faisant défiler la barre vers la droite. Faites glisser ce matériau vers le Balle dans la vue de la scène. Voici à quoi ça ressemble

Voici à quoi ressemble le matériel :

Nous en avons donc fini avec le développement de notre environnement. Il est maintenant temps de faire un peu de codage. Pour cela, nous devons créer un script.

Script dans Unity

Pour mettre en œuvre vos propres fonctionnalités de jeu et contrôler le comportement du jeu Unity fournit un mécanisme de script. Vous pouvez écrire votre propre script pour la sortie souhaitée du jeu. Avec ces scripts, vous pouvez déclencher des événements de jeu, modifier les propriétés des composants et répondre aux entrées des utilisateurs. Fondamentalement, Unity prend en charge deux langages de programmation différents à des fins de script, l'un est C# et l'autre est JavaScript. Outre ces deux langues, bien d'autres .Les langages NET peuvent également être utilisés avec Unity. Les scripts sont appelés composants de comportement dans Unity.

Création d'un scénario

Commençons à créer un script Unity. Pour cela, allez dans la fenêtre des actifs et créez un nouveau dossier nommé Scénarios (vous pouvez ignorer la création de nouveaux dossiers pour chaque nouveau type d'actif, mais c'est une bonne pratique de garder les choses organisées). Voici à quoi ressemble ma fenêtre d'éléments maintenant :

Ouvrez maintenant le Scénarios dossier, faites un clic droit, puis allez dans Créer et sélectionnez C# scénario. Renommer le script en Mouvement. Nous créons ce script pour déplacer et faire rouler la balle sur la route. Pour l'instant la balle est immobile, ne faisant rien, créons un peu de mouvement dedans.

Double-cliquez sur le script de mouvement, il s'ouvrira dans Mono Develop. Si votre script est un comportement mono, vous verrez du code pré-écrit comme celui-ci

en utilisant le système.Collections ; en utilisant le système.Collections.Générique; en utilisant UnityEngine ; public class MovementScript : MonoBehaviour  // Utilisez ceci pour l'initialisation void Start ()   // Update est appelé une fois par frame void Update ()    

Vous pouvez voir deux fonctions Start() et Update().

Démarrer(): La fonction de démarrage est utilisée pour initialiser les variables et les objets. Il n'est appelé qu'une seule fois lorsque le script est activé juste avant tout autre appel de fonction de mise à jour.

Mettre à jour(): C'est une fonction de comportement mono, elle est appelée une fois dans chaque image.

Outre ces deux fonctions, il existe de nombreuses autres fonctions de comportement mono, par exemple wake(), fixedUpdate(), lateUpdate() etc.

Pour déplacer la balle sur la route il faut tout d'abord en faire un corps rigide (c'est un corps solide idéal dans lequel la déformation est négligée). Sélectionner Balle dans la fenêtre de hiérarchie et cliquez sur Ajouter un composant bouton dans la fenêtre de l'inspecteur. Tapez le corps rigide et appuyez sur Entrer. Un corps rigide s'attachera au Balle. Allez maintenant dans le script et créez une variable privée de type Corps rigide. Affectez maintenant le corps rigide de la balle à cette variable que vous venez de créer dans le script.

privé Rigidbody rb; rb = GetComponent (); 

Maintenant, écrivez du code pour le mouvement de ce corps rigide. Quelle est l'idée? La balle doit bouger lorsque j'appuie sur les touches fléchées du clavier. Il doit avancer lorsque la touche haut est enfoncée, reculer lorsque la touche bas est enfoncée et ainsi de suite.

Donc l'entrée venant du clavier, comment dois-je obtenir cette entrée? La classe Input de Unity a un nom de fonction ObtenirAxe(), pour retourner la valeur de l'axe virtuel identifié par le nom de l'axe. Créez deux variables, une pour l'axe des x et une pour l'entrée de l'axe des y. Voici comment cela devrait être

float moveHorizontal = Entrée.GetAxis ("Horizontal"); 

Créez maintenant une variable Vector3 pour obtenir les valeurs de mouvement.

Mouvement Vector3 = nouveau Vector3 (moveHorizontal, 0.0f,moveVerticle ); 

Le premier paramètre est la valeur de l'axe des x, le deuxième est la valeur de l'axe des y et le troisième est la valeur de l'axe des z. Comme la balle ne se déplacera pas dans la direction de l'axe y, attribuez-lui donc zéro. Enfin, ajoutez ce mouvement au corps rigide et multipliez-le par un nombre constant pour la vitesse ou créez une autre variable pour la vitesse. Voir le code complet ci-dessous

en utilisant le système.Collections ; en utilisant le système.Collections.Générique; en utilisant UnityEngine ; public class Mouvement : MonoBehaviour  public float speed; privé Rigidbody rb; // Utilisez ceci pour l'initialisation void Start ()  rb = GetComponent ();  // Fixed Update est appelé après un nombre fixe de frame void FixedUpdate ()  float moveHorizontal = Input.GetAxis("Horizontal"); float moveVerticle = Entrée.GetAxis("Horizontal"); Mouvement Vector3 = nouveau Vector3 (-1*moveHorizontal, 0.0f,-1*moveVerticle ); rb.AddForce (mouvement * vitesse);   

Comme la vitesse est une variable publique, vous pouvez donc attribuer une valeur dans la fenêtre d'inspection. Attachez ce script à la balle en le faisant glisser vers la fenêtre d'inspection ou en appuyant sur Ajouter un composant bouton. Appuyez sur le bouton de lecture et testez votre codage, que la balle bouge ou non.

Réglage de la caméra

La dernière chose que vous remarquerez est lorsque vous appuyez sur le bouton avant et que la balle commence à bouger, elle sort de la caméra lorsque la caméra est immobile. Que devrions nous faire? On devrait aussi bouger la caméra? oui c'est la chose la plus simple a faire. Faites de la caméra l'enfant de la balle en faisant glisser la caméra principale vers la balle.

Conclusion

Il s'agissait d'un didacticiel d'introduction de base dans lequel vous avez appris de nombreuses fonctionnalités intéressantes, la création d'environnements et les scripts dans Unity. N'hésitez pas, commencez à créer votre premier jeu avec Unity aujourd'hui et profitez!

Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...