Rechercher dans le blog

L'intelligence géographique dans les moteurs de jeu, avec les SDKs ArcGIS pour Unity et Unreal Engine

Les SDKs ArcGIS pour moteurs de jeux (Game Engines) permettent une intégration directe des capacités d'intelligence géographique d'ArcGIS dans Unity et Unreal Engine.

Au cours des dernières années, les technologies initialement développées pour créer des expériences de jeu ont évolué pour devenir des outils de développement 3D robustes et en temps réel qui couvrent un large éventail d'industries. Les développeurs utilisent ces outils pour créer de toutes nouvelles catégories d'applications. Parfois appelées "serious games" ou expériences immersives, ces approches visuelles sophistiquées, réalistes, intuitives et attrayantes pour travailler avec des données du monde réel sont en train de décoller, exposant la valeur des ensembles de données existants qui auraient pu être difficiles à exploiter auparavant.

Pour faciliter le travail avec les données géospatiales du monde réel dans les moteurs de jeu, Esri, leader dans le domaine de l'intelligence géographique et éditeur de la suite de logiciels ArcGIS, a commencé à travailler sur deux SDKs  en 2019, l'un pour Unity et l'autre pour Unreal Engine. Le but est de fournir un ensemble d'outils de développement qui peuvent apporter des données géographiques directement dans les environnements de développement de moteurs de jeu. Après une version bêta suivie d'une pre-realease, la première version de production a été proposée en 2022.

Pourquoi coupler la géographie aux moteurs de jeu ?

Depuis de nombreuses années, l'industrie du jeu s'est lancée dans une course pour créer les jeux les plus naturels et les plus immersifs, en incorporant des modèles d'interaction réalistes, des atmosphères, de la physique, etc. Cette concurrence très forte a donné naissance à des technologies logicielles et matérielles qui offrent des expériences très performantes sur divers appareils, notamment les casques VR, les appareils AR (réalité augmentée), les ordinateurs de bureau, les téléphones et les tablettes.

Les développeurs réalisent que ces technologies logicielles et matérielles peuvent être utilisées pour fournir de nouvelles catégories d'applications dans un large éventail d'industries ; des applications telles que des simulations totalement immersives, des outils de planification collaborative ou des visualisations avec un haut niveau de réalisme. Les développeurs peuvent créer des expériences d'AR à l'échelle mondiale, d'AR sur table et de VR pour des secteurs aussi divers que l'AEC (architecture, ingénierie et construction), les services publics, les transports, la défense, la sécurité publique, les ressources naturelles et l'éducation, etc. 
 
Ces secteurs utilisent de nombreuses données géographiques pour répondre aux besoins de leurs problématiques métiers. La création de ces nouveaux types d'applications et de solutions implique également de travailler avec des jumeaux numériques. Un jumeau numérique est le résultat de la modélisation du monde réel, alimenté par des données de localisation. Avec des données précises du monde réel et une analyse géospatiale riche, de l'échelle mondiale à l'échelle locale, qu'elles proviennent de la communauté ou qu'elles fassent autorité, qu'elles soient stockées en toute sécurité ou accessibles au public, ArcGIS est une base naturelle pour les solutions de jumeaux numériques
 
Pour Esri, il y a donc un double objectif à permettre l'intégration de la géographie dans les moteurs de jeu : permettre des rendus réalistes et des expériences immersives pour présenter les données géographiques d'une part, et aider les développeurs utilisant les moteurs de jeu à intégrer des éléments d'intelligence géographique de manière simple et transparente d'autre part. 

Voici les mots d'Euan Cameron (CTO pour les technologies développeurs d'Esri) à ce sujet :

Les SDKs ArcGIS pour les moteurs de jeu démontrent notre engagement à fournir la meilleure suite d'outils possible aux développeurs. Les développeurs peuvent utiliser les moteurs de jeu pour créer une toute nouvelle classe d'applications autour de leurs données, offrant des moyens immersifs de visualiser et d'interagir avec des actifs géographiques du monde réel, en complément de leurs flux de travail existants.

Les capacités clés des SDKs pour moteurs de jeu d'ArcGIS

Au socle des SDKs pour moteur de jeu d'ArcGIS, vous pourrez retrouver les capacité fondamentales suivantes :

Fonds de carte

Avant de pouvoir afficher des données du monde réel, vous devez leur fournir un contexte réel. Dans un environnement 3D, cela signifie à la fois des fonds de carte et des sources d'élévation.

Pour ceux qui ne connaissent pas ArcGIS, un fond de carte représente des entités relativement statiques telles que des rues, des bâtiments, des installations, des détails du paysage, etc. afin de fournir un contexte pour d'autres données. Dans la première version des SDKs, il peut s'agir d'une couche d'imagerie tuilée, comme le service d'imagerie globale d'Esri. Depuis la version 1.1 des SDKs, il peut également d'agir de couches de tuiles vectorielles.
 

Élévation

Le monde n'est pas plat, et une expérience 3D a besoin de l'élévation du terrain pour plus de réalisme. Les SDKs ArcGIS pour moteurs de jeu vous permettent de spécifier une source d'élévation afin d'ajouter un contexte 3D à votre application. Esri fournit un service d'élévation global que vous pouvez utiliser pour intégrer l'élévation du monde réel directement dans Unity ou Unreal Engine.

Depuis la version 1.2 des SDKs, il est possible de combiner diverses sources d'élévation. A faible niveau de zoom, vous pouvez ainsi utiliser une source avec un plus bas niveau de résolution, et définir une ou des sources avec un haut niveau de résolution pour des projets ou des sites spécifiques.

Couches et données

Une fois le contexte apporté par le fond de carte et l'élévation , vous pouvez ajouter des données.

La couche est un concept clé des données géospatiales dans ArcGIS. Chaque couche est une référence et une visualisation d'une source de données particulière. La version initiale des SDKs d'ArcGIS pour moteurs de jeu se concentre sur deux types de couches 3D de base qui font partie de la spécification OGC indexed 3D scene layers (I3S) : la couche de scène d'objet 3D et la couche de scène de maillage intégré.

Une couche de scène d'objet 3D représente des actifs ou des structures individuels et comprend des représentations 3D complexes avec des textures, ainsi que des informations d'attribut sur ces structures. Les attributs d'un objet 3D peuvent être utilisés pour déterminer la manière dont cet objet est affiché en temps réel. Par exemple, une couche de scène d'objets 3D unique représentant des bâtiments peut être stylisée pour afficher les bâtiments en fonction du type de restriction de zonage qui s'applique au bâtiment ou de l'année de sa construction.

Une couche de scènes de maillage intégré combinent à la fois l'imagerie et les modèles de surface pour fournir une représentation unique de structures potentiellement nombreuses, comme une section entière d'une ville comprenant des bâtiments, des rues, des arbres, des bancs, des rivières, des routes, des tunnels, le tout fusionné en une surface continue au moment de la publication. Les maillages intégrés constituent un excellent moyen de représenter des zones spécifiques de données dans votre carte 3D et sont optimisés dans la spécification I3S pour fonctionner correctement à plusieurs échelles, à la fois sur les ordinateurs de bureau et les appareils mobiles.

Les couches de tuiles d'imagerie et les couches de tuiles vectorielles sont également supportées. Ces couches sont utiles pour le fond de carte, mais vous pouvez également ajouter des couches tuilées supplémentaires à votre scène 3D si nécessaire. 
 
Depuis la version 1.2 des SDKs, Esri a ajouté le support pour les couches de scènes de bâtiment, permettent de visualiser des modèles 3D complexes et très détaillés de bâtiments issus du BIM, et d'interagir avec les composants individuels qui le constituent , tels que les fenêtres, les murs et les tuyaux.
Dans les SDKs pour moteurs de jeu, vous pouvez consommer et combiner plusieurs couches provenant de plusieurs sources en même temps pour créer une expérience riche, en y additionnant un fond de carte et une élévation pour le contexte et le réalisme. 

En ligne ou hors ligne

Toutes ces données peuvent être accessibles à partir de services fournis par ArcGIS Platform ou ArcGIS Online, ou à partir de services ArcGIS Enterprise on premise. Les développeurs qui utilisent déjà ArcGIS peuvent intégrer leurs services existants dans les moteurs de jeu, tandis que ceux qui découvrent ArcGIS peuvent créer un compte ArcGIS Developer gratuit pour accéder aux services de localisation existants et pour créer et gérer leurs propres services.

Les données peuvent également être lues à partir de paquetages stockés localement sur votre appareil. Les fonds de carte et les données d'élévation peuvent être lues à partir de paquetages de tuiles (TPK et TPKX), et les couches de scène d'objets 3D ou de maillage intégré peuvent être lues à partir de paquetages de couches de scène (SLPK). Ces paquetages peuvent être créés à l'aide de divers outils ArcGIS, tels qu'ArcGIS Pro, et installés sur votre appareil pour être utilisés dans votre application. Vous pouvez même utiliser ces paquetages pour créer des applications qui n'ont jamais besoin d'être connectées au réseau.

Coordonnées locales ou globales

Les cartes dans les SDKs ArcGIS peuvent être globales, en utilisant n'importe quel système de coordonnées géographiques (ou Web Mercator), ou locales, en utilisant des systèmes de coordonnées adaptés à des zones géographiques spécifiques. Les systèmes de coordonnées locales peuvent simplifier la gestion des données géographiques pour une zone localisée (comme un état ou un pays) et la prise en charge des systèmes de coordonnées locales est essentielle pour de nombreux clients d'ArcGIS.

Identifier des données

Les couches de scènes d'objets 3D et de maillages intégrés fournissent une représentation visuelle des données du monde réel, mais ces représentations visuelles sont généralement liées à des données sources d'une certaine nature. Il existe peut-être des métadonnées de construction liées à l'objet 3D affiché à l'écran. ArcGIS Maps SDK for Unity vous permet de tester les objets 3D et les couches de maillage intégrées afin d'obtenir un identifiant pour les données source sous-jacentes. Cela inclut un identifiant d'entité et un identifiant de couche qui vous permettent de faire référence à d'autres métadonnées sur l'entité réelle sous-jacente.

Des SDKs complets

Les SDKs d'ArcGIS proposent plus qu'une API à intégrer à vos projets. Ils incluent également chacun un guide conceptuel complet, une "API Reference" documentant tous les éléments de l'API, des tutoriels, et un repository open-source contenant des exemples pour vous aider à démarrer.

Voici les liens vers ces différents éléments pour le SDK Unity :

Et les liens pour le SDK Unreal Engine :

Des améliorations et nouveautés fréquentes

Les capacités de ces SDK sont régulièrement améliorées, avec la prise en charge de nouveaux types de données, l'amélioration des performances, l'ajout de nouvelles fonctionnalités... Actuellement, le rythme est de 3 sorties de versions par an. Vous pouvez retrouver les nouveautés introduites dans les différentes versions sorties depuis la mise en production dans ces articles : pour la version 1.1, pour la version 1.2 et pour la version 1.3

Pour les développements futurs, Esri compte exploiter les fonctionnalités d'intelligence géographique et de gestion des données déjà présentes dans le reste du système ArcGIS. Nous devrions voir apparaître par exemple les couches de nuages de points, la prise en charge des entités, le géocodage, le routage, et d'autres outils d'analyse.

Pas besoin de savoir coder !

Pour les codeur, les SDKs pour moteur de jeu d'ArcGIS sont accessibles via une API C# pour Unity et  C++ pour Unreal. Mais ce n'est pas tout ! Si vous n'êtes pas à l'aise avec ces langages, sachez qu'il est possible d'utiliser les SDKs de manière interactive via une interface graphique, via des composants, ou encore via des blueprints (cette dernière option n'est disponible que pour Unreal).

Collaboration avec Unity

Esri et Unity Technologies ont commencé à travailler ensemble dès le début du développement de l'ArcGIS Maps SDK pour Unity. L'un des principaux résultats de cette collaboration a été le développement par Unity du High Precision Framework (HPF) pour fournir un support de coordonnées géographiques à l'échelle mondiale. Le HPF fait partie du SDK ArcGIS Maps pour Unity et sans lui, il ne serait pas possible de placer des données géographiques avec la précision requise par les applications de jumeaux numériques. 
ArcGIS Maps SDK for Unity permet à ses utilisateurs non seulement d'envisager et d'évaluer, mais aussi de gérer les faits et les chiffres géographiques pour tout modèle de jumeau numérique.

La collaboration entre Esri et Unity aidera les agences gouvernementales, les architectes et les ingénieurs à envisager, évaluer et analyser l'aspect de certains changements dans une ville et la manière dont ces changements peuvent répondre aux besoins des générations futures, qu'il s'agisse de l'impact du trafic ou des changements météorologiques.
Daves Rhodes (SVP des jumeaux numériques chez Unity)

Partenariat avec Epic Games

Esri et Epic Games ont commencé à travailler ensemble dès le début du développement du SDK ArcGIS Maps pour Unreal Engine. L'un des principaux résultats de cette collaboration a été le développement par Epic Games du plugin Georeferencing pour Unreal Engine, qui a permis la prise en charge complète, dans Unreal Engine 5, des coordonnées à double précision et la possibilité de placer avec précision des données géographiques à l'échelle mondiale.

Chez Epic, nous nous sommes engagés à construire l'outil de création 3D en temps réel le plus ouvert et le plus avancé, permettant ainsi aux créateurs numériques d'exploiter les capacités d'Unreal Engine dans le cadre de leur pipeline de création de contenu existant. Le travail effectué par l'équipe d'Esri dans le cadre de cette collaboration permettra à l'ensemble de la communauté GeoInt de tirer parti de la riche diversité des contenus créés dans l'écosystème ArcGIS, et nous sommes impatients de voir comment la sortie du plugin ArcGIS Maps SDK pour Unreal Engine permettra de créer des environnements immersifs, interactifs et synthétiques virtuellement illimités dans Unreal Engine 5.

Sébastien Lozé (Directeur commercial des simulations Unreal Engine, Epic Games)

Deux "Success Stories"

Les programmes bêta et de préversion ont connu un grand succès. Ils ont permis à Esri de dialoguer avec des milliers de développeurs afin de comprendre leurs cas d'utilisation, de contribuer à l'élaboration de la roadmap des SDKs et d'affiner l'expérience de développement. Passons rapidement en revue un retour d'expérience sur chacun de ces SDKs :


CIMIC Group sur le SDK pour Unity

Le groupe CIMIC, une entreprise de construction dirigée par des ingénieurs qui travaille sur le cycle de vie des actifs, des infrastructures et des projets de ressources, a identifié le besoin de construire une représentation immersive de ses flux de travail d'ingénierie, afin de visualiser les données existantes et évolutives du projet à la fois dans l'espace et dans le temps.

Le développement de l'application Virtual Builder du groupe CIMIC a été mené par son bureau d'études interne EIC Activities et soutenu par son entreprise de construction CPB Contractors. La solution propriétaire comprend l'intégration du SDK ArcGIS Maps pour Unity, ce qui permet à CIMIC d'exploiter les avantages interactifs d'un environnement de jeu, en utilisant des données de localisation du monde réel. Virtual Builder intègre des données issues de la conception, de la planification et de la construction, combinant les informations BIM, SIG et programme dans un environnement commun où le temps et l'emplacement constituent le langage qui relie ces éléments de données.

Le groupe CIMIC a déjà environ 120 projets qui utilisent ArcGIS. Lorsque nous avons développé Virtual Builder, un simulateur de vol pour la construction, nous ne voulions pas introduire une nouvelle technologie pour héberger toutes ces données. ArcGIS Maps SDK for Unity nous permet de maintenir l'efficacité des données et de construire une représentation immersive de l'état réel d'un projet à tout moment.
Simon Bowles (Manager général des activités EIC, groupe CIMIC)


Houseal Lavigne sur le SDK pour Unreal Engine

Houseal Lavigne, est une entreprise innovante qui utilise des données SIG et des applications et solutions géospatiales personnalisées pour aider les collectivités à résoudre des problèmes complexes. Récemment, elle a été engagée par le village de Glen Ellyn, Illinois, une communauté de la banlieue de Chicago, pour créer une application destinée à aider la communauté à évaluer les propositions de développement.

Houseal Lavigne a ainsi construit une application immersive de type jeu vidéo avec Unreal Engine. L'application, appelée Immersive Development Viewer, permet aux membres de la communauté de voir si une proposition s'intègre dans le contexte existant de leur cher centre-ville en se plaçant directement dans l'environnement 3D et en expérimentant directement les changements potentiels. L'application utilise l'ArcGIS Maps SDK pour Unreal Engine pour créer un environnement immersif basé sur des couches de scènes 3D. L'utilisation du SDK simplifie les mises à jour de l'application en utilisant directement les sources de données ArcGIS.

Le SDK introduit dynamiquement l'environnement construit à partir d'ArcGIS Online. Lorsque la zone change, le client peut publier une nouvelle couche de scène et l'application se met à jour d'elle-même. Le SDK unifie ainsi le monde du SIG avec le monde immersif et des moteurs de jeu.

Autrefois, lorsque nous parlions de changement à nos clients et à leurs communautés, nous le présentions sur une carte. Mais les attentes ont changé. Comme tout le monde, nos clients et leurs électeurs ont été immergés dans des jeux vidéo tels que Fortnite, et ils regardent des films tournés sur des scènes sonores devant des écrans verts avec de magnifiques mondes en 3D dessinés derrière les acteurs. Ils veulent non seulement voir un changement potentiel, mais aussi en faire l'expérience.

Devin Lavigne (Directeur et fondateur, Houseal Lavigne)

Télécharger les SDKs et commencer à développer

Pour mettre la main sur les SDKs d'ArcGIS, rendez-vous sur le site Web d'ArcGIS consacré aux développeurs, connectez-vous, accédez à la page du SDK ArcGIS Maps de votre choix et téléchargez-le.  Si vous n'avez pas l'habitude de développer avec les SDKs d'ArcGIS, il vous suffit de vous inscrire pour obtenir un compte gratuit ArcGIS Developer, puis de vous rendre sur la page "Get Started" dans la documentation du SDK ArcGIS Maps pour Unity ou du SDK ArcGIS Maps pour Unreal Engine.

Aucun commentaire:

Enregistrer un commentaire