Envie de participer ?
Bandeau

Je vous préviens tout de suite, cet article s’adresse à des profils plutôt techniques, je commence pas au B-A-BA.

I. Introduction

Ce tutoriel vous guidera à travers les étapes de création d'un jeu de tir 3D dans Unity. Vous découvrirez deux techniques différentes pour la gestion des tirs : le lancer de rayon et le projectile physique. Nous allons intégrer un système pour tirer sur des cibles, après avoir créé un simple First Person Controller sur Unity, permettant au joueur de se déplacer, regarder autour de lui avec la souris et sauter.

II. Le Projet

Le projet met en action un joueur en vue à la première personne, capable, grâce au clic gauche, de tirer. Les tirs impacteront l'ennemi et au bout de trois tirs, il disparaît. À chaque tir, un son est joué. Le laser produit un trait rouge et des particules en rencontrant un obstacle.

III. Techniques de Tir

A. Lancer de Rayon

Généralement, dans un jeu de tir, le tir part du centre de l'écran dans la direction de la caméra. Le lancer de rayon se fait avec la fonction Physics.Raycast(). Celle-ci, en plus de l'origine (le centre de l'écran), a besoin de la direction dans laquelle le rayon part. Les informations liées à la collision entre le rayon et un objet de la scène sont récupérées dans une variable de type RaycastHit.

B. Coroutines

Les coroutines permettent notamment de réaliser des effets en fonction du temps. Une coroutine est une fonction dont le type de retour est IEnumerator et qui sera appelée à travers de la fonction StartCoroutine().

Lire aussi: Fabriquer un pistolet LEGO qui tire

C. Projectiles Physiques et Effets d'Explosion

L'effet d'explosion est réalisé grâce à la détection de collision du moteur. Pour l'effet de choc de l'explosion, une sphère est utilisée afin de connaître les objets dans le rayon d'impact.

IV. Exemple Pratique : Tir de Missiles

A. Préparation

Premièrement, sélectionnez le GameObject du tank. Ajoutez-lui un nouveau GameObject vide que vous nommerez « FireTransform ». Ensuite, ajoutez un « Slider » dans le canevas existant. Celui-ci se nommera « AimSlider ». Encore une fois, par défaut, le curseur de défilement n'est pas du tout configuré comme nous le souhaitons. Supprimez l'objet enfant « Handle Slide Area » ainsi que le « Background ». Décochez la propriété « Interactable » du curseur de défilement et modifiez la « Transition » afin qu'elle soit à « None ». Finalement, la « Direction » doit être « Bottom To Top ». Sélectionnez le curseur de défilement et sa « Fill Area » afin de modifier l'étirement et la position dans le but de l'étirer au maximum et de centrer les éléments. Ensuite, définissez la hauteur à 0. Dans l'éditeur de sprites il est possible de sélectionner comment l'image de flèche utilisée sera étirée et quelle partie sera fixe. En vous plaçant au-dessus du tank et en choisissant l'outil de travail sur les éléments d'interface utilisateur, vous pouvez redimensionner et placer le curseur de défilement exactement comme il se doit (devant le tank et ne pas être plus large que le tank). Puis, remontez-le grâce à l'outil de déplacement des objets, afin qu'il soit légèrement au-dessus du sol.

B. Code

Exemple de code pour la gestion du son et de la force de lancement :

public AudioSource m_ShootingAudio; // Référence vers la source audio jouée lors du tir.// ...// ...// ...// Réinitialise la force de lancement.

V. Amélioration Multijoueur avec Photon

Cette leçon vous guidera à travers le processus de mise en œuvre des procédures appelées à distance (RPC) dans Unity pour améliorer les fonctions de rechargement et de tir dans un jeu multijoueur utilisant Photon. Nous commencerons par l'utilisation de méthodes similaires à celles utilisées pour l'instantiation des projectiles, et nous ajusterons le script BehaviourWeapon pour créer une RPC Reload. Ensuite, nous testerons cette implémentation en utilisant Unity et vérifierons la synchronisation des armes entre les clients.

VI. Création d'un Viseur et d'une Cible

A. Le Viseur

Nous allons ajouter un point rouge au milieu de l’écran, cela nous permettra de viser plus facilement les cibles. Créez un objet : UI > Raw Image. Définissez :

Lire aussi: Le fusil de chasse : comment ça marche ?

  • Width=10
  • Height=10
  • Color : rouge
  • Anchor Presets : Maintenir Alt gauche + shift > Middle center

B. Le Décor et la Cible

Créez un GameObject vide : Create Empty. Renommez-le Training. Définissez la Position : x=0 ; y=2 ; z=10. Créez un 3D Object > Cube. Renommez-le Socle. Glissez-le dans Training.

  • Position : x=0 ; y= -1 ; z=0
  • Scale : x=0.5 ; y=2 ; z= 0.5

Créez un 3D Object > Cube. Renommez-le Target.

  • Position: x=0 ; y=0.5 ; z=0

Glissez-le dans Training. C’est l’objet Target qui recevra les tirs de notre arme. Créez un nouveau Layer (Calque).

VII. Considérations Éthiques et Impact Sociétal

Programmer est un jeu d’enfant. Ou plutôt, c’est ce que veulent nous faire croire les gourous numériques du monde entier. Malheureusement, ce portrait optimiste n’a aucun rapport avec la réalité. En tant que développeur, je suis effectivement sidéré par cette aberration à laquelle on veut faire croire le grand public. Coder est pour moi une vraie passion, qui demande toutes les qualités que tu énumères: disposition mentale, concentration, obsession du bug et aussi professionnalisme.

Il est important que les gens aient une idée même vague de ce qui se passe. Qu’ils comprennent que ce n’est pas de la magie noire qui affiche une photo de chat sur leur smartphone. De la même façon que dans les siècles précédents on a cravaché pour que les gens soient alphabétisés, pour comprendre le monde, la presse, les lois, il faut aujourd’hui qu’ils aient un minimum de compréhension de comment l’informatique fonctionne. Rendre donc cet apprentissage ludique est donc je pense une bonne chose. Cela va faciliter cette compréhension. Tout comme à l’école on t’apprend l’alphabet et la lecture, au début, par les jeux alors que fondamentalement lire n’est pas amusant.

Lire aussi: Instructions : Pistolet laser à faire soi-même

Tous ces scénarios sont construits sur des fondations extrêmement techniques. Mais nous ne pouvons pas y faire face en ne répondant qu’aux questions techniques. Programmer n’est pas un détail pouvant être laissé aux "techniciens" sous le fallacieux prétexte que leurs choix seront "scientifiquement neutres". Les sociétés sont trop complexes : l’algorithmique est politique. L’automatisation a déjà porté un sérieux coup à la sécurité de l’emploi des travailleurs peu qualifiés. Les cols blancs seront les prochains.

Dans un monde de plus en plus complexe et connecté, où le rôle que jouent les logiciels dans la vie quotidienne est de plus en plus important, il est irresponsable de présenter la programmation comme une activité légère. Le logiciel n’est ni de simples lignes de code, ni platement technique. Dans quelques années seulement, comprendre la programmation sera une part indispensable d’une citoyenneté active.

tags: #comment #créer #un #paintball #avec #Skript

Post popolari: