Vous programmez un jeu vidéo et vous vous intéressez aux collisions d’objets. Est-ce que mon personnage touche un ennemi ? Est-ce qu’il touche le sol ? Est-ce que mon curseur de souris, un viseur, touche un ennemi ? Tout ceci, ce sont des tests de collision.
Les collisions sont un aspect fondamental de tout jeu d'action ou d'animation en général. Toute la gestion des collisions s’appuiera sur ces fonctions.
Comment implémenter ces fonctions de collision en fonction de vos besoins ? C’est la raison d’être de ce tutoriel, qui vous présentera plusieurs méthodes.
Nous considérerons une ou plusieurs fonctions Collision qui prendront en paramètre 2 objets, ou un objet et un monde fait de sols et de murs. Et ces fonctions renverront simplement un booléen, ayant donc pour valeur oui ou non, selon que ça touche ou non.
Envie de commencer à créer des jeux par vous-même? Unity est un moteur de jeu 2D et 3D gratuit faisant partie des plus utilisés de ces dernières années et est parmi les plus complets. Tous d’abord, il faut évidemment installer le Unity hub, que vous pouvez télécharger ici.
Lire aussi: Personnalisation avancée du curseur
Une fois l’installation terminée, nous pouvons enfin commencer notre premier projet. On commence donc par créer ce projet en appuyant sur « New project » et sélectionner si l’on veut faire à partir de zéro en 2D ou 3D ou si l’on part d’un template.
Avant de travailler avec le moteur, il faut déjà comprendre l’interface dans laquelle on se retrouve afin de la maitriser. On va commencer par ajouter un cube à notre scène afin de pouvoir le manipuler par la suite. On va donc dans le panneau Hierarchy puis on fait un clic droit et on sélectionne « 3D object « puis « Cube ».
Une fois le cube apparu à l’écran, nous pouvons commencer à le manipuler. On peut ensuite s’occuper des autres éléments de la scène, à commencer par la lumière. Il s’agit de l’objet « directional light » dans la Hierarchy. C’et un objet dont on ne peut changer la taille et dont la position ne change rien.
Enfin on va manipuler la caméra dont on ne peut également pas changer la taille.
On va pouvoir changer la couleur de notre objet et lui ajouter une texture plus ou moins réfléchissante. Pour cela, on va commencer par faire un clic droit dans le panneau Project et sélectionner « Create » puis « Material ».
Lire aussi: Modifier votre curseur de souris
À partir de là on va modifier la texture en changeant plusieurs paramètres dans le panneau Inspector .
Pour pouvoir faire bouger nos objets il va bien évidemment nous falloir programmer (sinon ce serait trop facile). Unity utilise du code en C# pour ses programmes, il va donc falloir un éditeur compatible comme Visual Studio afin de pouvoir modifier ce script.
On va donc commencer par créer le script en faisant clic droit>Create>C# script. Il est préférable de le nommer pour s’y retrouver plus facilement lorsqu’on en aura plusieurs.
Une fois le fichier créé, on va l’ouvrir afin de le modifier. Pour l’exemple, j’ai décidé de faire simplement tourner l’objet sur lui-même grâce au code ci-dessous.
Une fois le code écrit et sauvegardé, on va pouvoir l’intégrer à un objet en sélectionnant l’objet dans le panneau Hierarchy et en glissant le fichier vers l’Inspector .
Lire aussi: Tout savoir sur la fermeture éclair double curseur
Dans le jeu Titanfall 2, il existe plusieurs options pour optimiser les paramètres graphiques, ce qui peut être utile pour maintenir un certain framerate sans désactiver ou abaisser certains paramètres. Le paramètre Fréquence d'images résolution adaptive est fait pour vous.
Sélectionnez le framerate souhaité à l'aide du curseur et cliquez sur Appliquer. Si le framerate vient à baisser en cours de partie en deçà de la valeur choisie, la résolution du jeu est abaissée dynamiquement afin de maintenir les performances. La qualité de l'image peut en pâtir, surtout avec les résolutions d'écran les plus faibles, comme vous pouvez le voir dans les comparaisons qui suivent.
Selon nous, le paramètre Fréquence d'images résolution adaptive est réellement mis à profit avec des résolutions 4K où la baisse de qualité de l'image est moins visible. Cette option est également intéressante sur les configurations qui souffrent de ralentissements même lorsque tous les paramètres sont au minimum.
Lorsque vous faites un clic-droit et visez les ennemis avec votre arme, l'arrière-plan devient flou, ce qui vous permet de mieux les distinguer. Si vous préférez conserver les détails de l'arrière-plan, rendez-vous dans Paramètres > Vidéo > Options ATH puis désactivez le paramètre Profondeur de champ (viseur).
Performances : en désactivant la Profondeur de champ (viseur), vos performances vont augmenter d'un peu plus d'une image par seconde dans la plupart des cas.
L'occultation ambiante (AO, de l'anglais "Ambiant Occlusion") rajoute des ombres de contact à l'endroit où deux surfaces et/ou objets se touchent, ainsi qu'à l'endroit où un objet empêche la lumière d'atteindre un autre élément. Le système d'AO et la qualité de son implémentation affectent la précision des ombres et déterminent s'il faut en former de nouvelles lorsque l'occultation est faible.
Sans occultation ambiante, le décor semble plat et irréaliste, et peut donner l'impression que les objets lévitent. Dans Titanfall 2, les effets d’occultation ambiante s’appuient sur la technologie HBAO+. Développée en interne chez NVIDIA, elle améliore la fidélité de quasiment toutes les scènes.
Performances : la HBAO+ de NVIDIA est la meilleure technologie d'occultation ambiante de ce type, et elle est omniprésente dans Titanfall 2, améliorant grandement chaque scène. Elle nécessite 9 images par seconde mais, en raison des avantages procurés, elle est recommandée pour tous les GPU de moyenne à haute gamme.
Sur PC, Titanfall 2 vous permet de choisir entre la technologie d'anti-aliasing temporel en post-traitement développée en interne et dénommée TSAA (de l'anglais "Temporal Anti-Aliasing technique") et l'anti-aliasing MSAA (de l'anglais "MultiSampling Anti-Aliasing"), plus gourmand.
Elle est bien plus rapide que le MSAA 4x, qui est le niveau requis pour annuler totalement l'aliasing. Elle empêche l'aliasing des shaders, autrement très visible dans tout le jeu sur les surfaces brillantes et sur les bordures. Elle empêche l'aliasing temporel, qui désigne le scintillement des bordures lorsque la caméra ou des éléments sont en mouvement.
Performances : le TSAA ne nécessite que 5 images par seconde mais, en raison de son impact sur la qualité de l'image, le jeu en vaut la chandelle. Qui plus est, en n'utilisant pas le MSAA, vous pouvez libérer des ressources pour d'autres paramètres ou modifications.
Dans certaines scènes intérieures de Titanfall 2, il arrive que de la lumière artificielle passe à travers les objets - notamment les ventilateurs. En activant le paramètre Ombres dynamiques, l'ombre projetée correspond au mouvement du ventilateur, ce qui améliore la qualité de l'image et donc l'immersion.
Performances : dans les environnements intérieurs, Titanfall 2 affiche presque toujours un meilleur framerate. L'impact sur les performances des ombres dynamiques, principalement affichées en intérieur, est par conséquent difficile à mesurer. Cependant, en les désactivant, vous pouvez gagner jusqu’à 13 images par seconde.
Lorsque vous combattez et que vous regardez les Titans tomber du ciel, de nombreux débris et particules sont visibles. En modifiant le paramètre Détails effets, vous pouvez augmenter ou diminuer la quantité de particules utilisées par ces effets - et donc modifier leur impact sur la fidélité de l'image.
Performances : chaque niveau de détails requiert 2 images par seconde environ. Si les performances sont insuffisantes, choisissez le réglage Moyen, très proche d'Élevé.
Les impacts de balles et traces de brûlures abondent dans Titanfall 2. Vous pouvez choisir ou non de les activer à l'aide du paramètre Marques d'impact.
Performances : le paramètre des marques d'impact ajoute des "calques" qui permettent, depuis le premier épisode de Half-Life, de produire des impacts de balles réalistes. Ce paramètre est si peu gourmand que nous n'avons pas pu voir de différences au niveau des performances, même avec un GPU underclocké en 4K.
Le paramètre Détails modèles permet d'ajuster le niveau de détails des Titans, des pilotes, des formes géométriques, du feuillage, des décors et des débris. En outre, un niveau élevé de détails limite les phénomènes de pop-in lorsque vous parcourez le niveau à grande vitesse, ce qui renforce l’immersion.
Performances : les détails des modèles ont un impact limité sur les GPU les plus récents. Chaque niveau de détails nécessite seulement 2 images par seconde supplémentaires.
Si vous voulez voir des dépouilles voler et en percuter d'autres, c'est le paramètre Effets ragdoll que vous devez activer. Le réglage Élevé autorise un maximum de 8 ragdolls à la fois. En Moyen, ce nombre tombe à 4. Le réglage Bas désactive entièrement ces effets.
Dans Titanfall 2 on trouve des sources de lumière artificielles en intérieur et la qualité des ombres qu'elles produisent en interagissant avec les éléments du jeu peut être ajustée grâce au paramètre Détails ombres portées. Lorsque le paramètre Détails ombres portées est amélioré, la résolution des ombres produites augmente en améliorant les détails et en diminuant l'aliasing, comme vous pouvez le voir dans les comparaisons ci-dessous.
Performances : les ombres portées ont un impact limité sur les performances. En raison de la différence quasiment nulle entre Faible et Élevé, nous vous recommandons le réglage Élevé, voire Très élevé si vous pouvez vous le permettre.
tags: #javascript #curseur #viseur #jeu #tutoriel