En bref
- Le Navigation System génère un Navigation Mesh à partir de la géométrie de collision du niveau, puis le divise en polygones utilisés pour calculer les itinéraires.
- Il existe trois modes de génération du réseau : Static, Dynamic et Dynamic Modifiers Only.
- Les coûts attribués aux polygones influencent les itinéraires choisis par les agents pour atteindre leur destination.
- RVO et Detour Crowd Manager aident les agents à éviter les obstacles mobiles et les autres agents.
La documentation officielle d’Unreal Engine présente le Navigation System comme le système qui permet aux agents d’IA de trouver leur chemin dans un niveau. Pour les équipes qui créent des présentations architecturales, des expériences interactives en intérieur ou des scènes de visualisation en temps réel, l’idée essentielle consiste à définir les zones dans lesquelles les agents peuvent se déplacer et à déterminer comment ils choisissent leur itinéraire vers une destination. La documentation ne précisant pas de version particulière d’Unreal Engine, ce guide porte sur des concepts généraux indépendants d’un numéro de version.
1. Comprendre d’abord le fonctionnement du réseau d’itinéraires
Le Navigation System génère un Navigation Mesh, autrement dit un réseau de navigation, à partir de la géométrie de collision du niveau. Ce réseau est divisé en tuiles, elles-mêmes subdivisées en polygones que les agents peuvent utiliser pour calculer leur itinéraire. Le système évalue les polygones au sein d’un graphe et recherche l’itinéraire dont le coût total est le plus faible, en tenant compte du coût attribué à chaque polygone.
Un itinéraire ne se résume donc pas à la distance géométrique entre deux points. Le coût d’une zone influence la préférence de l’agent pour celle-ci. Par exemple, dans une scène de présentation où l’on souhaite que des agents visiteurs suivent un parcours précis, la logique des coûts peut servir à orienter le choix de l’itinéraire. Toutefois, la documentation ne recommande pas de valeurs de coût précises ni leur adéquation à un projet particulier ; ces valeurs doivent être choisies en fonction de l’objectif de l’expérience.
2. Choisir le mode de génération du Navigation Mesh
La documentation répertorie trois modes de génération : Static, Dynamic et Dynamic Modifiers Only. Ces modes déterminent la manière dont le projet génère le Navigation Mesh et les options disponibles. La description de référence ne précise ni leur comportement en détail ni le mode à choisir pour un type de scène donné. Il faut donc tenir compte des besoins du projet en matière de génération du réseau et consulter le guide officiel détaillé du mode concerné.
Voici un flux de travail de base :
Déterminez le niveau que les agents utiliseront. Le réseau d’itinéraires étant généré à partir de la géométrie de collision du niveau, vérifiez la correspondance entre la géométrie de la scène et les zones de déplacement. Ne partez pas du principe que toute surface qui semble praticable à l’écran sera automatiquement considérée comme une zone valide pour les itinéraires.
Choisissez une approche de génération du Navigation Mesh. Selon les besoins du projet, étudiez les options Static, Dynamic ou Dynamic Modifiers Only. N’en déduisez pas le comportement des modes à partir de leur seul nom ; consultez leurs descriptions officielles.
Vérifiez la zone couverte par le réseau. Puisque le réseau est divisé en tuiles et en polygones, assurez-vous que les zones où les agents doivent pouvoir se rendre y sont bien représentées.
Évaluez les coûts et les connexions des itinéraires. Gardez à l’esprit que les coûts des polygones influencent le choix du parcours. Il est également possible de relier, sur le Navigation Mesh, des zones qui ne sont pas contiguës, comme des plateformes ou des ponts.
Traitez séparément les obstacles mobiles. Si les agents doivent éviter des obstacles dynamiques et d’autres agents pendant leur déplacement, examinez les solutions RVO ou Detour Crowd Manager.
3. Configurer le personnage avec ses composants de mouvement et d’animation
Dans la documentation d’Unreal Engine, Character est décrit comme une classe Pawn enrichie de composants spécifiques. Character comprend un CharacterMovementComponent, un CapsuleComponent et un SkeletalMeshComponent. Cette distinction est importante lors de la création d’un personnage se déplaçant dans une visualisation : le calcul d’itinéraire ne doit pas être dissocié de la représentation du mouvement et des collisions du personnage dans la scène.
CharacterMovementComponent prend en charge des mouvements tels que la marche, la course, le saut, le vol, la chute et la nage. La documentation indique que ce composant comprend des propriétés liées aux frottements en marche et en chute, aux vitesses de déplacement au sol, dans les airs et dans l’eau, à la flottabilité, au facteur de gravité ainsi qu’aux forces que le personnage peut appliquer aux objets physiques. Il n’est pas nécessaire de modifier toutes ces valeurs dans chaque scène ; l’objectif est de veiller à ce que le mouvement du personnage soit cohérent avec la conception de l’expérience.
CapsuleComponent sert aux collisions de déplacement. Le calcul des mouvements complexes par CharacterMovementComponent repose sur l’hypothèse que le composant de collision du personnage Character est une capsule orientée verticalement. Le modèle visible du personnage peut donc différer de sa représentation de collision ; pour examiner des problèmes d’itinéraire ou de déplacement, se fier uniquement à l’apparence du SkeletalMeshComponent ne suffit pas toujours.
SkeletalMeshComponent représente le maillage squelettique principal utilisé pour les animations avancées reposant sur un squelette. Il est possible d’ajouter d’autres composants Skeletal Mesh aux classes dérivées de Character. Toutefois, les déplacements et les animations du squelette principal du personnage s’évaluent à travers ce composant.
4. Points de vigilance dans les flux de travail d’architecture et d’archviz
Dans une expérience architecturale interactive, le Navigation System peut être utile lorsque des agents visiteurs doivent se diriger vers une destination, à l’intérieur d’un bâtiment ou dans un aménagement paysager. Le premier point à vérifier est la correspondance entre le réseau d’itinéraires, la géométrie réelle de la scène et sa représentation de collision. Si un agent ne peut pas atteindre une destination, le problème ne vient pas nécessairement de l’algorithme de recherche d’itinéraire : il faut vérifier à la fois si le réseau couvre la zone concernée et comment les composants de mouvement du personnage sont configurés.
Epic renvoie également à des sujets distincts, comme la modification du Navigation Mesh, les zones de navigation personnalisées et les filtres de requête, Navigation Invokers, l’optimisation de la vitesse de génération, l’utilisation conjointe de différentes résolutions de réseau et l’utilisation du réseau avec World Partition. Ces thèmes peuvent être consultés à un stade plus avancé ; toutefois, comme le résumé des sources disponibles ne précise pas les réglages de ces fonctionnalités, il serait inapproprié de recommander une configuration ou des valeurs particulières. De même, la création automatique de connexions entre les réseaux et l’extension de la recherche d’itinéraire avec Navigation Components sont répertoriées dans la documentation officielle comme des guides distincts.
Erreurs fréquentes
Considérer que l’apparence praticable du modèle visible prouve que le Navigation Mesh couvre la zone.
Négliger l’influence des coûts des polygones sur le choix de l’itinéraire.
Traiter l’évitement des obstacles mobiles et des autres agents comme un problème qui se résout avec le seul réseau d’itinéraires de base.
Mettre en œuvre des comportements de modes, des valeurs par défaut ou des chemins de menus en les devinant, alors que les sources ne les précisent pas.
Lors des premiers tests, examiner séparément le réseau, les destinations et les déplacements du personnage permet de mieux repérer la couche à l’origine d’un problème. Le projet d’exemple Navigation System d’Epic comprend des niveaux d’exemple couvrant différents guides et peut servir à comparer le flux de travail de base.
Sources
2 sourcesLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
Pour les bureaux d’architecture et de visualisation en Turquie, le Navigation System offre une base utile lorsqu’il s’agit d’orienter des visiteurs dans une scène lors d’une présentation interactive. L’approche la plus pratique consiste à commencer par un itinéraire simple et le déplacement d’un personnage, puis à observer la couverture du réseau et l’effet des coûts des polygones.
La documentation disponible ne précise aucune exigence matérielle, condition de licence ni valeur numérique de réglage ; il faut éviter toute supposition à ce sujet. Pour gagner du temps, les équipes ont intérêt à examiner séparément le réseau d’itinéraires, les collisions et les déplacements du personnage. Lors du choix du mode de génération et des fonctionnalités avancées de navigation, consulter les guides officiels détaillés permet de limiter les idées reçues dès les premières étapes.
Questions fréquentes
Comment fonctionne le Navigation System d’Unreal Engine ?
Le système génère un Navigation Mesh à partir de la géométrie de collision du niveau. Il divise le réseau en tuiles et en polygones ; les agents calculent leur itinéraire en tenant compte du coût des polygones.
Quels sont les modes de génération du Navigation Mesh dans Unreal Engine ?
La documentation officielle répertorie trois modes de génération : Static, Dynamic et Dynamic Modifiers Only. Sa description générale n’explique pas leur comportement détaillé.
Sur quels composants repose le mouvement d’un personnage dans Unreal Engine ?
Character comprend un CharacterMovementComponent, un CapsuleComponent et un SkeletalMeshComponent. Ces composants sont respectivement liés au mouvement, aux collisions de déplacement et aux animations squelettiques.



