GECK : Créer un Navmesh Extérieur

De Wiwiki
Révision datée du 31 janvier 2011 à 14:00 par Sucresalesucre (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Principes du Navmesh Extérieur

Cette étape arrive uniquement une fois que le paysage est fixé et que tous les objets (rochers, routes, batiments, etc... sont posés). Si vous le faites et que vous remodifiez le paysage ou l'emplacement des choses, vous devrez remodifier le navmesh extérieur en conséquence.

Les Navmeshes extérieurs diffèrent des intérieurs, car ils prennent en compte les limites des cellules. On crée un navmesh pour la cellule 0,0 par exemple, et il ira jusqu'aux bords de celle-ci. Pour continuer le navmesh au dela, il faut se déplacer sur une cellule adjacente, par exemple 0,1, et créer un navmesh dessus, qui aille jusqu'aux bords de la cellule.

La jonction des Navmeshes de deux cellules contigües se fait en finalisant les navmeshes de chaque cellule, qui sera matérialisé par des bords verts : les Npc pourront suivre le navmesh d'une cellule à l'autre.


Génération de Navmesh en extérieur

Pour les extérieurs, il vaut mieux faire de la génération en premier, car les bordures de cellules sont chiantes à faire : il faut faire des points près des bordures, puis les "pousser" au bord, pour que le navmesh épouse la forme de la cellule. C'est pour cela qu'en extérieur, une passe de génération de Navmesh permet de faire une ébauche de Navmesh jusqu'aux bords des cellules, qu'il ne reste plus qu'à vérifier et finaliser.

Quand deux navmeshes de cellules contigües se rejoignent de part et d'autre de la limite de cellule, si on appuie sur le bouton Finalize, la limite de chaque cellule passe en vert clair : les NPC pourront traverser cette limite. En regardant de près, on peut voir deux lignes vertes l'une sur l'autre à chaque bord de cellule.


Procédure pour la génération

Il faut faire une passe de génération Navmesh sur toutes les cellules ayant du terrain accessibles aux NPCs. Si votre worldspace exploité est grand, plus de 20 cellules, faites votre navmesh en plusieurs fois, par zones.

Appuyez sur le bouton Open Generation Dialog, puis validez
Après avoir validé, le navmesh apparait sur la cellule concernée.
Répétez l'opération sur lacellule d'à coté.
Appuyez sur le bouton Finalize pour faire jointer les limites de cellules, en vert clair.

- Chargez votre worldspace dans la fenêtre Cell View, et visionnez la cellule où vous voulez commencer le Navmesh. Ouvrez la barre Navmesh en cliquant sur le Bouton Navmesh. - Appuyez sur le bouton Open Generation Dialog, une fenêtre apparait. Laissez les paramètres tels quels, et cliquez sur OK. Attendez quelques secondes et le navmesh apparait sur votre cellule. - Vérifiez ensuite la cellule de Navmesh avec le bouton Find Triangle, puis Check navmesh. - Rajoutez les couverts en cliquant sur Find Cover Edges, puis finalisez au passage la cellule en cliquant sur le bouton Finalize.

- Répétez l'opération en changeant de cellule : toujours en mode Navmesh, cliquez sur la fenêtre de rendu de votre cellule, déplaçez avec les flèches vers la cellule suivante. Ajoutez le navmesh, faites un check, mettez les couverts et finalisez.

Lorsque vous avez fait une dizaine de cellules, faites une sauvegarde. Les plantages en mode navmesh sont fréquents.


Remodelage du Navmesh extérieur

Comme vous pouvez le voir, il y a des endroits où le navmesh est mal généré, ou des endroits couverts alors que c'est inutile (sous les bâtiments parfois). Il arrive aussi que les limites des cellules sont mal jointes (pas assez de ligne verte aux limites de cellule, bloquant le passage sur une route par exemple).

Ce remodelage est vital pour les parties très fréquentées comme les villages, camps, etc...

Le plus simple est de supprimer les parties mal faites, et de les refaire à la main :

- Passez en mode triangle, et virez tout ce qui a l'air de trop, ou biscornu (triangles trop serrés, etc...). Vous pouvez selectionner des paquets de triangles en faisant une boite aussi. Quitte à virer des grosses portions, pour que ce soit plus propre refait à la main.

- Remplir les trous en mode point, à la main. Que les triangles soient le plus isocèles possibles aux lieux de passages fréquentés (routes, chemins).

- Verifier les bords de cellules verts (double ligne, une par cellule), qui matérialisent les points de passage entre cellules. Les valider avec le bouton Finalize Navmesh.

Faites un chemin préféré, en cliquant sur un triangle, puis sur P, et ainsi de suite...

- Faire des chemins préférés (triangles jaunes, pour les points de passages très fréquentés) : cliquez sur un triangle, puis sur P. Matérialisez ainsi le chemin que doivent prendre les NPC en priorité s'ils passent par là (par exemple, une route). Cela sert aussi si vous vous servez de compagnons, pour éviter qu'ils galopent trop à droite ou à gauche. La plupart du temps, les bugs de compagnons sont dûs à un navmesh mal fait ou optimisé.

- Verifier que tout à l'air bon en passant d'une vision navmesh à l'autre avec W, et en bougeant la caméra pour pister. Vérifier aussi au niveau des intérieurs en extérieurs (ruines...), que les points de passages sont bons.


Pendant toutes les opérations en navmesh exterieur, faire un max de sauvegardes, et de sauvegardes de secours (copiées ailleurs et numérotées). Rien de plus énervant que le mode navmesh plante 2h de boulot... ça arrive !


Vérifier en jeu, avec un compagnon ou un mosntre rajouté dans une des cellules, et vérifier s'il suit là où il doit le faire.


Attention : surtout ne pas refaire une génération navmesh ou une optimisation navmesh après avoir refait au propre les cellules, ça efface les modifs avec de la génération cracra...