Tutoriel de Bethesda : le Navmesh/fr
Tutoriel de Bethesda : le Navmesh
Tutoriel de Bethesda : le Navmesh/fr | |
---|---|
Série : Aménagement d'espaces de jeu, page 4 | |
Sommaire du tutoriel | |
Tutoriel précédent | Tutoriel suivant |
Exemple de modules : | |
Initial | Terminé |
Tutoriel vidéo compagnon |
Présentation[edit | edit source]
Dans ce chapitre nous allons créer un navmesh manuellement et par génération automatique.
Le lecteur apprendra :
- ce qu'est un "Navmesh", et pourquoi c'est important.
- comment générer automatiquement un navmesh avec le mode "Recast-Based Generation".
- comment modifier un navmesh manuellement.
- réparer les alertes du navmesh.
- générer une couverture basique.
[edit | edit source]
Après qu'une zone ait été construite et aménagée, il est nécessaire de déterminer où les acteurs peuvent se déplacer. C'est là que le navmesh entre en jeu. Pour faire simple, le navmesh (pour "navigation mesh" soit "maillage de navigation") est un ensemble de polygones qui définissent où un acteur peut marcher.
Il est facile de tenir pour acquise la quantité d'informations que nous utilisons lorsque nous jouons. Nos cerveaux analysent chaque détail visuel, faisant sans cesse des conclusions et des hypothèses. Malheureusement, les systèmes d'intelligence artificielle sont loin d'approcher les capacités du cerveau humain, et doivent compter sur les informations que nous leur fournissons. Le navmesh est l'élément crucial de la connaissance qu'un acteur doué d'intelligence artificielle, a d'un espace donné. Un navmesh de qualité est un facteur important pour aider l'intelligence artificielle à fonctionner au mieux.
L'éditeur de navmesh est un outil consistant qui peut être frustrant à utiliser au début. Nous apprendrons étape par étape comment débuter. Une fois acquis les fondamentaux et avec la pratique, vous deviendrez rapidement un expert du navmesh !
Utilisateurs du GECK prenez note : Peu de choses ont changées dans la manière de créer des navmesh manuellement. Par contre Il y a eu des ajouts pour la génération automatique, comme le tout nouveau mode de génération "Recast", qui est abordé dans ce tutoriel. Pour plus d'informations, consultez la page Generation de Navmesh. Les utilisateurs du Construction Set Oblivion et/ou Morrowind remarquerons que le Navmesh a complètement remplacé le système de pathfinding de ces outils.
[edit | edit source]
Tout le travail sur le navmesh est effectué dans un mode éditeur séparé. Pour entrer dans ce mode, cliquez sur le bouton "Navmesh Mode" (Fig. 4.1) de la barre d'outils principale, ou appuyez sur "CTRL+E". La barre d'outils Navmesh (Fig. 4.2) apparaîtra.
Nous n'avons pas vraiment besoin d'utiliser quoi que ce soit sur la barre d'outils Navmesh pour générer automatiquement notre navmesh; il s'agit d'un outil pratique. Cependant nous avons besoin d'être en mode Navmesh pour pouvoir utiliser la génération automatique, et la présence de la barre d'outils signifie que nous y sommes.
Il y a quatre types de génération automatique : Object-Based, Havock-Based, Recast-Based et Advanced. Pour la majorité des intérieurs, vous préférerez utiliser la génération automatique "Recast-Based", puis nettoyer le navmesh manuellement. Ce tutoriel n'approfondira pas la génération par Object-Based ou Havock-Based. Les utilisateurs expérimentés pourrons souhaiter créer tout leur navmesh manuellement. Certains trouvent cela plus rapide que de générer automatiquement le navmesh puis de le nettoyer manuellement. Une fois à l'aise avec le système, c'est une question de préférences.
Utilisateurs du GECK prenez note : Object-Based et Recast-Based sont de nouveaux modes de génération automatique créés pour le Creation Engine.
Utilisons la génération Recast pour créer le premier maillage de la tombe de Lokir :
- Cliquez sur la Render Window pour vous assurer que la fenêtre est active.
- Assurez-vous de n'avoir rien sélectionné dans la Render Window (si vous n'en êtes pas sûr, cliquez simplement quelque part dans le vide ou appuyez sur la touche D).
- Choisissez "Recast Navmesh Generation" depuis le menu NavMesh dans la barre d'outils principale : NavMesh > Generation > Recast Based Generation.
- La boîte de dialogue Recast Navmesh Generation apparaît. (Fig. 4.3)
- Ne vous souciez pas de ce que toutes ces différentes valeurs signifient. Assurez-vous simplement que ces valeurs sont similaires à celles de la Fig. 4.3 et cliquez sur "OK".
- Cliquez sur "OK". La génération du navmesh peut prendre du temps selon les performances de votre PC.
- Une fois que c'est fait, le navmesh devrait ressembler à celui illustré Fig. 4.4 et 4.5.
[edit | edit source]
Maintenant que nous avons créé un navmesh, nous devons prendre du temps pour le nettoyer. Le moyen le plus facile et le plus rapide de le faire, c'est de le faire manuellement. Avant que nous commencions le processus de nettoyage, prenez une minute pour regarder votre navmesh et voir où la génération "Recast-Based" a connu des ratés.
Si vous avez des difficultés à voir votre navmesh, vous pouvez essayer l'un des trois modes Navmesh : Normal, Transparent, Navmesh seul. Appuyez sur "W" pour passer de l'un à l'autre, ou utilisez les boutons de la barre d'outils illustrés ci-dessous :
[edit | edit source]
Lorsque vous nettoyez un navmesh généré automatiquement, il est souvent préférable de commencer par éliminer les parties inutiles du navmesh qui ont été placées dans des zones inaccessibles. Cela nous permettra d'examiner plus facilement le navmesh restant par la suite.
La zone de la caverne et les escaliers des Ruines Nordiques semblent les principales zones concernées. Vous verrez également plusieurs morceaux de navmesh isolés. Ne vous en souciez pas pour le moment. Une fois le navmesh principal nettoyé, retirer les parties isolées sera rapide et facile.
Commencez par vous occuper de la caverne. Ensuite, nous nettoierons le reste du navmesh. Pour le moment, vous n'avez besoin de connaître que les trois boutons à l'extrème gauche de la barre d'outils Navmesh :
Pour nettoyer le navmesh de la caverne, faites un clic gauche et tirez un cadre pour sélectionner les sommets dans toute la zone. Souvenez-vous d'activer la visibilité du navmesh avec ("W") pour vous repérer. N'essayez pas de préserver une partie du navmesh de la caverne, nous le reconstituerons plus tard. Assurez-vous d'avoir activé Select Vertices (Fig. 4.7) et/ou Select Triangle (Fig. 4.6). Vous pouvez nettoyer la caverne en sélectionnant les sommets, ou les triangles, ou les deux. La Fig. 4.9a montre le navmesh avec tous les sommets et les triangles sélectionnés dans la zone et prêts à être effacés.
Une fois que vous avez sélectionné les sommets et/ou les triangles que vous souhaitez supprimer, appuyez sur "R" ou sur "SUPPR" pour effacer la sélection. Une fois le navmesh de la caverne effacé, le navmesh de votre donjon devrait ressembler à celui représenté sur la Fig. 4.9b.
[edit | edit source]
Il est temps maintenant de créer manuellement le navmesh de la caverne.
Activez la sélection des sommets en cliquant sur le bouton dans la barre d'outils Navmesh ou en appuyant sur "V" puis zoomez sur l'entrée de la caverne. Faites un clic droit sur le sol. Notez qu'un sommet est apparu. Maintenant, créez de la même manière deux sommets de plus. Vous devriez voir quelque chose de semblable à la Fig. 4.10, trois sommets jaunes (ou deux jaunes et un vert) au sol.
Le mode Navmesh utilise son propre système de raccourcis clavier, distinct de celui de l'éditeur principal du Creation Kit. Certains raccourcis auxquels vous auriez pu vous habituer, comme "T" pour passer en vue du dessus, sont reconfigurés lorsque vous êtes en mode Navmesh. Vous pourriez souhaiter imprimer la liste des raccourcis clavier du mode Navmesh pour pouvoir vous y référer tant que vous n'êtes pas habitué à ce mode.
Remarquez les couleurs des sommets que vous avez créés. Le vert indique que le sommet est actuellement sélectionné. Les jaunes ne sont ni sélectionnés ni raccordés, ne font partie d'aucun triangle. Les sommets non sélectionnés mais faisant partie d'un triangle sont rouges. Les sommets jaunes ne servent pas et peuvent être effacés sans conséquence s'il en reste à proximité d'un navmesh complet.
Pour créer un triangle, sélectionnez vos trois sommets jaunes en maintenant CTRL enfoncé et en cliquant sur chacun d'eux, ou simplement avec un clic gauche et en tirant un cadre autour des trois à la fois. Les sommets sélectionnés deviennent verts. Appuyez sur "A" ou utilisez le bouton pour créer un triangle à partir des sommets, comme illustré sur la Fig. 4.11. Notez que la touche "A" ne fonctionnera que si exactement trois sommets sont sélectionnés.
[edit | edit source]
Maintenant que nous avons notre premier triangle, nous devons remplir le reste de la caverne avec d'autres triangles. La manière la plus simple de s'y prendre est de sélectionner deux sommets, de maintenir CTRL et de faire un clic droit pour placer un troisième sommet. Cela créera automatiquement un triangle entre les deux sommets sélectionnés et le nouveau sommet placé.
Notez qu'une fois que le nouveau triangle est créé, deux sommets restent sélectionnés/verts. Utilisez simplement CTRL+clic droit pour crééer un autre triangle. Avec la pratique, vous prendrez le rythme et serez capable de remplir rapidement l'espace. Si les deux sommets verts ne sont pas ceux dont vous avez besoin pour créer le prochain triangle, appuyez simplement sur "Tab" pour échanger les sommets sélectionnés. Allez-y et remplissez le reste de la caverne. Une fois que vous avez terminé, le navmesh de votre caverne devrait ressembler aux Fig. 4.12 et 4.13 ci-dessous.
(Note : votre résultat peut varier selon que votre aménagement diffère de celui du plugin exemple)
[edit | edit source]
Avant de nous occuper du navmesh du reste de la cellule, intéressons-nous aux escaliers nordiques, NorHallSm1wayStairs128. Les escaliers sont des zones à problème typique lorsque l'on utilise la génération automatique . Votre navmesh est probablement déconnecté ici, comme illustré sur la Fig. 4.14a.
Heureusement, le Creation Kit permet de joindre facilement et rapidement les navmesh déconnectés comme celui-là.
Pour cet exemple, nous voulons un bord propre en haut et en bas des escaliers. Suivez ces étapes :
- Effacez tous les sommets sur l'escalier lui-même, si nécessaire.
- Réarrangez les sommets en haut et en bas de l'escalier, de manière à créer un bord ouvert et propre à chaque bout.
- Si l'un des bords a trois sommets ou plus au niveau de l'escalier, fusionnez certains sommets de manière à ce qu'il n'en reste que deux. Pour fusionner des sommets, sélectionnez ceux que vous souhaitez fusionner et appuyez sur "Q" ou utilisez le bouton de la barre d'outils.
- Assurez-vous d'avoir activé la sélection des sommets ("G").
- Double-cliquez sur l'un des bords. Double-cliquer sur un côté sélectionne les deux sommets du côté qui deviennent verts.
- Une fois les deux sommets sélectionnés, maintenez CTRL et double-cliquez sur l'autre bord. Le navmesh est automatiquement généré pour joindre les deux bords. Votre résultat devrait ressembler à celui de la Fig. 4.14b ci-dessous.
[edit | edit source]
En créant le navmesh de la caverne et en connectant les escaliers, vous avez appris l'essentiel et êtes prêt pour nettoyer le reste de la cellule. Allez-y, terminez le navmesh du donjon. Si vous rencontrez un problème, les conseils suivants pourront se révéler utiles.
- Essayez de créer un navmesh propre et simple. Il sera plus facile à modifier et fonctionnera plus rapidement dans le jeu.
- Souvenez-vous de vos raccourcis ! Gardez la liste des raccourcis clavier du mode Navmesh sous la main tant que vous apprenez.
- Ne vous embêtez pas à créer un navmesh dans des zones auxquelles l'intelligence artificielle ne pourra pas accéder, comme les espaces étroits entre les meubles. Vous pouvez utiliser les [=Pathing_Tests|tests de passage]] pour identifier ce genre d'endroit.
- Souvenez-vous : pour créer automatiquement un navmesh entre deux côtés ouverts situés à proximité l'un de l'autre : Double-cliquez sur un côté, puis CTRL+Double-clic sur l'autre côté.
- Tirez avantage des multiples modes de visualisation. Pour passer de l'un à l'autre, appuyez sur "W" ou utilisez les boutons de la barre d'outils.
- Pour effacer un triangle, activez la sélection des triangles avec "T", sélectionnez le triangle et cliquez sur SUPPR ou R. Vous pouvez également annuler un changement que vous avez fait avec CTRL+Z.
- Effacer tous les sommets supprimera tous les triangles et côtés dont ils faisaient partie.
- Souvenez-vous des raccourcis pour activer/désactiver la sélection des triangles, sommets et côtés. (Respectivement T, V, G).
- Pour fusionner des sommets, sélectionnez-en deux ou plus et appuyez sur Q ou cliquez sur le bouton . Les sommets fusionneront avec le premier sommet sélectionné.
- Double-cliquez sur un côté (activez la sélection avec "G") pour sélectionner ses deux sommets rapidement.
- Vous vous souvenez que deux sommets restent sélectionnés après avoir créé un triangle ? Vous pouvez utiliser la touche "Tab" pour sélectionner le duo de sommets de votre choix.
- Utilisez "R" pour effacer les objets sélectionnés si vous ne souhaitez pas déplacer votre main à l'autre bout du clavier pour appuyer sur SUPPR.
- Efforcez-vous de créer de gros triangles, aussi proches d'un triangle équilatéral que possible. Ils sont beaucoup plus efficaces. Les triangles étroits doivent être évités. Utilisez la rotation des côtés avec la touche "S" ou le bouton pour obtenir de meilleurs résultats, tel qu'illustré sur les Fig. 4.15, avant et après.
- Si vous avez un navmesh qui vous semble connecté, mais que vous voyez un côté jaune, cela signifie simplement qu'il y a deux sommets qui se chevauchent. Pour rectifier, cliquez et tiré un cadre sur les sommets pour les sélectionner, puis fusionnez-les avec ("Q"). Si le côté reste jaune, faites la même chose avec les sommets à l'autre bout. Si le côté jaune disparaît, votre navmesh est connecté.
- Faites un clic droit sur un côté pour créer un sommet sur ce côté. Cela s'appelle diviser un côté.
Voici à quoi le navmesh devrait ressembler près des zones aménagées du donjon. Remarquez que sur la Fig. 4.16 le navmesh passe sous les objets doués de physique (moveable/dynamic). Vous n'aurez donc jamais besoin de contourner ces types d'objets, le navmesh s'en occupe tout seul en cours de jeu. Dans l'exemple ci-dessous, les objets doués de physique sont : la pelle, la brouette, et le pot en céramique. Notez que le navmesh passe sous ces objets. Les tonneaux en bois n'ont pas de données physiques et nous avons donc besoin que le navmesh les contourne.
La Fig. 4.17 montre approximativement à quoi votre navmesh devrait ressembler après rectification. Dans cet exemple nous avons laissé des morceaux de navmesh isolés. Ils peuvent être facilement supprimés.
- Sélectionnez n'importe quel triangle de votre navmesh principal et appuyez sur "I" ou cliquez sur le bouton .
- La sélection s'inverse et tous les navmesh qui ne faisaient pas partie de la sélection initiale sont désormais sélectionnés. À condition que votre espace de jeu consiste en un seul navmesh continu, toutes les zones maintenant sélectionnées ne servent à rien.
- Appuyez sur "R" ou "SUPPR" pour les effacer.
- Votre navmesh final devrait ressembler à celui de la Fig. 4.18.
[edit | edit source]
Vous devez toujours examiner le navmesh de votre cellule, à la recherche d'erreurs, après l'avoir créé. C'est une tâche relativement simple.
- Affichez la boîte de dialogue "Select Triangle by index" (sélectionner triangle via l'index) tel qu'illustré Fig. 4.18. Il y a trois moyens de le faire :
- Une fois la boîte affichée, sélectionnez "Check Navmesh".
- Un message d'avertissement, illustré sur la Fig. 4.19, apparaît vous informant du nombre de triangles problématiques trouvés (s'il y en a), et vous demande si vous souhaitez tous les effacer.
- Pour corriger les triangles problématiques deux approches sont possibles :
- Choisir "Yes" effacera tous les triangles détectés, mais vous devrez trouver où étaient placés ces triangles et les reboucher (généralement en créant un nouveau triangle). Vous n'avez aucun autre moyen de trouver ces triangles qu'à l'oeil nu, ce qui peut être difficile avec un navmesh complexe, particulièrement si les triangles recherchés sont petits ou recouvert par d'autres.
- Nous vous conseillons de réparer chaque erreur à la main, auquel cas cliquez sur "No" pour fermer la fenêtre d'avertissement.
- Sélectionnez "Next Warning" (prochain avertissement) dans la boîte de dialogue "Select Triangle". La caméra de la Render Window se réorientera automatiquement sur le triangle problématique et le mettra en surbrillance pour vous. La plupart des erreurs sont facilement réparées en effaçant le triangle problématique et en le reconstruisant.
- Si vous avez plus d'un avertissement, sélectionnez "Check Navmesh" une fois de plus et répétez le processus jusqu'à ce que tous les triangles problématiques soient corrigés. (Vous devez revérifier entre chaque correction car l'index des triangles du navmesh s'en trouve affecté.)
- Quand vous avez terminé, sauvegardez de nouveau votre plugin.
Créer les bords de la couverture[edit | edit source]
Les bords de la couverture stockent des données telles que : la hauteur d'un élément de la couverture, quel PNJ l'utilise au combat ou pour circuler.
- Pour détecter la couverture automatiquement, allez dans Navmesh > Find Cover Edges depuis le menu principal, ou utilisez le bouton de la barre d'outils Navmesh.
- Trouver la couverture peut prendre un peu de temps selon votre matériel et la complexité du navmesh.
- Une fois le processus terminé, vous verrez apparaître différents bords colorés dans votre navmesh. Chaque couleur représente différentes hauteurs de couverture. Le navmesh devrait maintenant ressembler à celui de la Fig. 4.20 ci-dessous.
- Pour avoir un meilleur aperçu du type de couverture de votre donjon, allez simplement à Navmesh > Draw Cover (voir Fig. 4.21).
Avec un navmesh complet, les acteurs seront capables de parcourir l'espace. Construire un navmesh de qualité peut prendre du temps et parfois être ennuyeux, mais les résultats d'un mauvais navmesh sont évidents en jeu.
Les données de couverture ne sont pas seulement utilisées pour le combat à distance, elles définissent également où tentera d'aller l'intelligence artificielle lorsqu'elle fuira un ennemi, par exemple. C'est donc une bonne idée de générer ces données, même lorsqu'elles ne semblent pas importantes.
Le navmesh peut contenir plus d'informations que les seules données de couverture, il est possible également de marquer un triangle comme étant de l'eau, comme passage prioritaire, et les côtés comme des rebords permettant aux acteurs de descendre d'une plateforme. Plus d'informations peuvent être trouvées ici.
Il est aussi possible régler en détail les données de couverture, bien que ce niveau de précision ne soit pas souvent nécessaire. Pour ajuster manuellement les données de couverture, sélectionnez un bord et appuyez sur "E" pour afficher la boîte de dialogue "Edge Cover".
Voici quelques pages auxquelles vous pourriez souhaiter vous référer pendant et après ce tutoriel, ou durant vos prochaines lectures.
- Navmesh - Vue d'ensemble - La catégorie navmesh fournit des liens vers d'autres sujets en rapport avec le navmesh.
- Barre d'outils principale - Informations sur les différentes icônes de la barre d'outils principale et ce qu'elles font.
- Barre d'outil Navmesh - Détaille les boutons de la barre d'outils du mode Navmesh.
- Liste des raccourcis clavier du mode Navmesh - Raccourcis clavier utiles lors de la modification de navmesh. Bon à imprimer et à garder sous la main tant qu'on apprend.
Un navmesh solide fournit les fondations nécessaires pour de bons PNJ et de bons combats. Et c'est justement le sujet de notre prochain tutoriel.
Problème connu[edit | edit source]
Il y avait un problème empêchant les navmesh des fichiers .ESP de fonctionner si vous vous en éloigniez de quelques cellules. Les PNJ arrêtaient de bouger et ne se réinitialisaient pas avant que le jeu ne soit relancé. Ce problème a été résolu avec la mise à jour 1.6.
Tutoriel précédent | Sommaire du tutoriel | Tutoriel suivant |
Langues : | English • français • 日本語 • polski |
---|