Tutoriel Unity3d

Tutoriel Unity3d

Introduction à Unity 3D

Unity 3D est un puissant moteur de développement de jeux. C'est à cross-plateforme qui vous permet de créer des jeux pour mobile, web, ordinateur de bureau et console, environ 30 plateformes en tout. Unity 3D a de nombreuses fonctionnalités passionnantes, quelques-unes d'entre elles sont données ci-dessous:

  • Coût: La version personnelle d'Unity 3D est gratuite pour les débutants, les étudiants et les amateurs. Unity Personal a toutes les caractéristiques fondamentales de l'unité. Il dispose également d'analyses de base, de build cloud, d'annonces, de multijoueur, d'achats intégrés et de fonctionnalités transformatrices. Autre que ces fonctionnalités Unity Personal a aussi quelques limites. Deux autres versions Unity Plus et Unity Pro sont également disponibles pour les créateurs et les professionnels sérieux, à partir du prix de 35 $ par mois.
  • Tous les éditeurs en un: Unity est connu comme un éditeur de tout en un. L'éditeur d'Unity a plusieurs outils artistiques pour concevoir des expériences impressionnantes. Il a une forte combinaison d'outils de développeur pour implémenter la logique de jeu et le gameplay haut de gamme. Unity vous permet également de créer des jeux 2D et 3D. Il comprend également des outils de finition AI basés sur un système de navigation. Il a un excellent système intégré pour créer des interfaces utilisateur accrocheuses. Son moteur de physique Box2D nous permet de créer un mouvement, une élan, une force et un gameplay réalistes.
  • Plateformes: Unity prend en charge de nombreuses plateformes différentes comme Linux, iOS, Android, Windows, etc. totalement près de 30 plateformes.
  • Réalité virtuelle et augmentée: L'unité prend en charge le développement de la réalité virtuelle et augmentée. Il est le moteur le plus utilisé pour le développement XR. Il a Microsoft HoloLens, Stream VR / Vive, Gear VR et PlayStation VR Support dans Unity Plus pour la réalité virtuelle et augmentée.
  • Multijoueur: Pour les jeux en réseau et les jeux multijoueurs en temps réel, l'unité est la meilleure option. Il fournit des serveurs pour la collaboration en temps réel.
  • Performance du moteur: Les performances du moteur d'Unity sont extraordinaires. Le système de calcul multithread est venu pour des scénarios intensifs. Unity Engine a des outils de profilage avancés qui détermine si votre jeu est lié au processeur ou non et explique également comment l'optimiser avec une meilleure expérience.
  • Store d'unité: C'est un catalogue massif de contenu gratuit et payant. Vous pouvez augmenter votre temps de développement en téléchargeant de nombreux modèles et actifs gratuits intégrés. Même Unity Asset Store a des projets complets à la fois gratuitement et payants.
  • Rendu graphique: Unity a l'un des meilleurs systèmes de rendu graphique. Il vous permet de créer des environnements comme la journée lumineuse, une lueur voyante des signes néon, des minuit faiblement éclairées et des tunnels sombres. Il produit des effets visuels incroyables. Bien qu'Unity prenne en charge la multi-plate-forme, il essaie toujours de couvrir l'API graphique de bas niveau de chaque plate-forme pour de meilleurs résultats et d'étouffer l'expérience utilisateur.
  • La collaboration d'équipe: Il a des fonctionnalités qui permettent une collaboration et un flux de travail simple. Le stockage cloud d'Unity vous permet d'économiser, de partager et de synchroniser vos projets n'importe où.
  • Rapports de performances: Unity Performance Reporting System traite des problèmes en temps réel. Les problèmes de priorités élevés sont résolus très efficacement. Trouve des erreurs d'application sur les appareils et plates-formes.

Interfaces d'unité

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

Fenêtre de hiérarchie

La fenêtre de 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 un objet vide, des objets 3D, des objets 2D, une lumière, un audio, une vidéo, un système de particules et des objets de caméra très facilement. La fenêtre de hiérarchie est illustrée ci-dessous. «Untitled» est le nom de la scène. Vous pouvez le renommer comme vous le souhaitez. Vous pouvez voir une icône déroulante du côté tout droit de Untitled (nom de la scène). En cliquant sur cette liste déroulante, vous pouvez voir différentes options pour Sauver la scène et Ajouter une nouvelle scène.

Fenêtre de scène

La fenêtre de scène est 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. C'est la fenêtre où vous commencez à travailler avec Unity. La vue de la scène peut être 2D ou 3D en fonction du réglage 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 étiqueté Ombré, C'est là que vous pouvez sélectionner le type de vue que vous voulez soit ombré ou wireframe. Il a de nombreuses autres options telles que divers éclaircissements mondiaux, GI en temps réel, GI au four et bien d'autres. Vous pouvez voir vers 2D ou 3D en utilisant le bouton à côté du Ombré menu déroulant. Ensuite, c'est le bouton de basculement 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 de 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 et publié en mode de 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:

Affichage 1 montre une 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 de moniteur de périphérique cible. Ensuite, vous pouvez voir un Curseur à l'échelle Pour zoomer. Faites défiler vers la droite et examinez plus de détails sur votre scène en mode play. Vient ensuite le bouton pour Maximiser le jeu, Une fois cliqué, la taille de la fenêtre du jeu sera maximale en mode de jeu. Audio muet La bascule est utilisée pour l'audio muet / peu corporel. Statistiques affiche des statistiques de rendu sur l'audio et les graphiques de votre jeu.

Fenêtre des actifs du projet

Comme son nom montre les actifs que la fenêtre a 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 Asset Project a deux parties, le panneau de gauche et le panneau droit comme indiqué dans la prise de vue d'écran ci-dessous:

Le volet gauche montre la structure hiérarchique des actifs du projet. Lorsque vous cliquez sur n'importe quel dossier, il affichera les détails 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 pour les rechercher. Au-dessus, vous pouvez voir un Créer Drop down qui vous permet de créer un script C #, un dossier, un shader, une peau d'interface graphique, une scène, un préfab.

Fenêtre

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 interrompre 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 a des options de journalisation du journal et de la trace des éditeurs.

Fenêtre de l'inspecteur

La fenêtre de l'inspecteur est l'une des fenêtres les plus intéressantes et les plus 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 de jeu a son propre type afin que leurs propriétés soient différentes et que la fenêtre de l'inspecteur peut varier. Les actifs, les scripts et les objets de jeu varient tous en propriétés. Voyons les propriétés d'un cube dans la fenêtre de l'inspecteur. Voici l'image:

Vous pouvez renommer votre objet de jeu en cliquant simplement sur le nom précédent et 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 le composant, Cliquez dessus pour ajouter de nouveaux composants à votre objet de jeu, par exemple si vous souhaitez joindre 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 et les objets de la scène. Au centre, il y a des boutons pour le jeu, la pause et le contrôle des étapes. Les deux boutons suivants montrent votre compte Unity Cloud et Unity. Voici la figure à quoi cela ressemble:

Début 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 d'unité, la fenêtre suivante apparaîtra:

Entrer nom du projet, Sélectionnez un lieu de travail Emplacement puis sélectionnez le type de votre projet soit 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 de construction

Créez tout d'abord un avion en cliquant sur Créer -> objet 3D puis sélectionner Avion. Ou alternativement vous pouvez le créer en cliquant sur GameObject -> Objet de jeu puis sélectionner Avion. Allez dans la fenêtre de hiérarchie et cliquez sur l'objet de jeu d'avion. Maintenant, allez à la fenêtre de l'inspecteur et renommée comme Sol. Ajustez maintenant les valeurs de transformation afin que cet avion ressemble à une route droite. Juste échelle x à 6 et z à 50. Voici l'image à quoi ça ressemble

Maintenant, téléchargez une texture routière et appliquez-la sur l'objet au sol. Créer un nom de dossier comme texture. Glisser la texture routière téléchargée dans le dossier de la texture. Maintenant sélectionnez Sol et la texture de la route 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é une texture sur le sol, cliquez sur le sol et définissez le carrelage dans la fenêtre de l'inspecteur. Voici comment je l'ai réglé.

Maintenant, 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électionner 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 comme Balle. Ajustez maintenant les valeurs de transformation en conséquence. Il suffit de le faire à 5 le long des trois axes et de le repositionner 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électionner cube. Sélectionnez-le et renommez-le à Mur1. Allez dans la fenêtre de l'inspecteur et définissez des valeurs de transformation afin qu'elle ressemble à un mur autour de la route. Voici à quoi ça ressemble:

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

Recherchez maintenant une texture murale Téléchargez-la et copiez dans le Texture dossier en actifs. Texture du mur de traînée vers le mur dans la fenêtre de la scène. Ajustez le labour pour qu'il soit beau et lisse. J'ai ajusté le carrelage comme x à 50 et y à 1.5. Après avoir réglé le carrelage, c'est à quoi ça 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, faites aussi la même chose pour l'autre côté de la route. Au lieu de passer par tout le processus que nous pouvons simplement copier Mur1 et le renommer à Wall2.

Sélectionner Mur1 Dans la fenêtre de hiérarchie, puis cliquez avec le bouton droit, puis sélectionnez Dupliquer option. Il créera un autre objet de jeu ayant les mêmes valeurs de taille et de transformation. Cliquer sur Wall1 (1) et le renommer à Wall2. Ajustez maintenant la position pour qu'il arrive à l'autre coin de la route.

Voir l'image suivante à quel point il a l'air cool

Mes valeurs de position pour wall2 sont x à -29.6 ans à 2.6 et z à 2.6.

Créez maintenant un matériel pour Balle. Accédez à la fenêtre du projet et créez un dossier en cliquant avec le bouton droit sur la souris, puis sélectionnez Dossier. Nommez-le comme Matériaux. Cliquez à nouveau avec le bouton droit sur 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électionner la couleur d'albédo vers le 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 avons donc fini avec notre développement de l'environnement. Maintenant, il est temps de faire du codage. Pour cela, nous devons créer un script.

Script dans l'unité

Pour implémenter vos propres fonctionnalités de gameplay et contrôler le comportement du jeu Unity fournit en tant que 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, peut modifier les propriétés des composants et vous pouvez répondre aux entrées des utilisateurs. Fondamentalement, Unity prend en charge deux langages de programmation différents à des fins de script, l'une est C # et l'autre est JavaScript. À part ces deux langues, beaucoup d'autres .Les langues nettes peuvent également être utilisées avec l'unité. Les scripts sont appelés composants comportementaux dans l'unité.

Création d'un script

Commençons à créer un script d'unité. Pour cela, allez dans la fenêtre Assets et créez un nouveau dossier nommé Scripts (Vous pouvez ignorer la création de nouveaux dossiers pour chaque nouveau type d'actif mais sa bonne pratique pour garder les choses organisées). Voici à quoi ressemble ma fenêtre d'actifs maintenant:

Open maintenant le Scripts dossier, clic droit, puis accédez à Créer et sélectionner C # scénario. Renommer le script à Mouvement. Nous créons ce script pour déplacer et rouler le ballon sur la route. Pour l'instant, le ballon est stationnaire, ne faisant rien, créons un peu de mouvement.

Double-cliquez sur le script de mouvement qu'il ouvrira en mono développer. Si votre script est un comportement mono, vous verrez un code pré-écrit comme celui-ci

Utilisation du système.Collections;
Utilisation du système.Collections.Générique;
Utilisation d'unityEngine;
Classe publique Movementscript: Monobehaviour
// utilise ceci pour l'initialisation
void start ()

// La mise à jour est appelée une fois par trame
void update ()

Vous pouvez voir deux fonctions start () et update ().

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

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

Autre que ces deux-là, il existe de nombreuses autres fonctions de comportement mono par exemple awake (), fixeDupdate (), LateUpdate () etc.

Pour déplacer la balle sur la route tout d'abord, vous avez pour 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 le composant bouton dans la fenêtre de l'inspecteur. Tapez le corps rigide et la presse 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.

Rigidbody privé RB;
rb = getComponent ();

Maintenant, écrivez du code pour le mouvement de ce corps rigide. Quelle est l'idée? La balle doit se déplacer lorsque j'appuie sur les touches de flèche du clés. Il doit avancer lorsque la touche up est enfoncée, vers l'arrière lorsque la touche en bas est appuyée et ainsi de suite.

Donc l'entrée en venant du clavier, comment dois-je obtenir cette entrée? La classe d'entrée d'Unity a un nom de fonction Getaxis (), pour renvoyer la valeur de l'axe virtuel identifié par le nom de l'axe. Créez deux variables une pour l'axe X et une pour l'entrée de l'axe Y. Voici comment ça devrait être

float movehorizontal = entrée.Getaxis ("horizontal");

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

Mouvement Vector3 = nouveau Vector3 (MoveHorizontal, 0.0f, MoveVerticle);

Le premier paramètre est la valeur de l'axe x, la seconde est la valeur de l'axe y et la troisième est la valeur de l'axe z. Car la balle ne bougera pas dans le sens de l'axe y, alors attribuez zéro. Ajoutez enfin ce mouvement au corps rigide et multipliez avec un nombre constant pour la vitesse ou créez une autre variable pour la vitesse. Voir le code complet ci-dessous

Utilisation du système.Collections;
Utilisation du système.Collections.Générique;
Utilisation d'unityEngine;
Mouvement de classe publique: monobehaviour
vitesse de flotteur public;
Rigidbody privé RB;
// utilise ceci pour l'initialisation
void start ()
rb = getComponent ();

// La mise à jour fixe est appelée après le nombre fixe de cadre
void fixedupdate ()
float movehorizontal = entrée.Getaxis ("horizontal");
float moveLerverticle = entrée.Getaxis ("horizontal");
Mouvement Vector3 = nouveau Vector3 (-1 * Movehorizontal, 0.0f, -1 * MoveVerticle);
RB.Addforce (mouvement * vitesse);

Car la vitesse est une variable publique afin que vous puissiez attribuer de la valeur dans la fenêtre de l'inspecteur. Attachez ce script au ballon en le faisant glisser vers la fenêtre de l'inspecteur ou en appuyant sur Ajouter le composant bouton. Appuyez sur le bouton de lecture et testez votre codage.

Caméra de réglage

La dernière chose que vous remarquerez, c'est lorsque vous appuyez sur le bouton avant et que la balle commence à se déplacer, il sort de l'appareil photo car l'appareil photo est stationnaire. Que devrions nous faire? Nous devons aussi déplacer la caméra? Oui c'est la chose la plus simple à faire. Faites de la caméra l'enfant de la balle en faisant glisser la caméra principale vers la balle.

Conclusion

C'était un tutoriel d'introduction de base dans lequel vous avez appris de nombreuses fonctionnalités intéressantes, la construction d'environnement et les scripts dans l'unité. N'hésitez pas, commencez à créer votre premier jeu avec Unity aujourd'hui et profitez!