SIGMAG SIGTV.FR - Un autre regard sur la géomatique et les systèmes d'informations géographiques SIG
SIGTV.FR
SIGMAG & SIGTV - Un autre regard sur la géomatique
 
LinkedIn
Rss

Initiation à ArcGIS Maps SDK for Unreal Engine




Les ArcGIS Maps SDKs for Game Engine vous permettent d’intégrer les données de votre SIG  dans des moteurs de jeux pour créer des rendus 3D photoréalistes et des expériences de réalité augmentées ou de réalité virtuelle. Ces SDKs sont disponibles pour Unity et pour Unreal Engine, deux acteurs majeurs des moteurs de jeu. Dans ce pas-à-pas garanti sans ligne de code, vous allez pouvoir suivre une initiation à l’ArcGIS Maps SDK for Unreal Engine ! Nous allons nous en. servir pour proposer un projet d’aménagement dans un environnement réaliste. Pour cela, nous utiliserons la version 2.0 du SDK disponible depuis la page de téléchargement https://bit.ly/telechargement-sdk-arcgis-unreal et la version 5.5.4 d’Unreal.

Pas-à-Pas réalisé par Pauline Louis, en partenariat avec le blog arcOrama.fr

1- Dans l’interface de lancement d’Unreal, créez un projet de type « Games » en utilisant un template « blank », et choisissez C++ dans les paramètres par défaut du projet. Vous devrez installer Visual Studio 2022. Fermez ensuite le projet, et retrouvez-le via l’explorateur Windows. Ouvrez le dossier du projet et ajoutez-y un nouveau dossier nommé « Plugins », à l’intérieur duquel vous allez dézipper l’ArcGIS Maps SDK for Unreal Engine. Relancez ensuite votre projet depuis l’interface d’Unreal, et cliquez « Ok » sur la fenêtre qui vous propose un rebuild du projet pour intégrer le SDK.

2- Dans l’onglet « Fichier », sélectionnez « Nouveau niveau », puis « Basique ». Un nouveau niveau s’ouvre, que vous pouvez enregistrer et renommer « tuto_pas_a_pas » en utilisant ctrl+S. De la même manière, pensez à enregistrer le niveau régulièrement tout au long de ce pas-à-pas. Dans l’Organisateur (fenêtre de droite), sélectionnez le « Floor » et supprimez-le. Dans le menu déroulant « Mode Sélection » du bandeau supérieur, sélectionnez « ArcGIS Maps SDK ». Vous voyez la fenêtre du SDK s’ouvrir sur la gauche.

3- Dans l’interface du SDK, vous allez créer une carte. Pour cela, choisissez le type « Local », puis indiquez les paramètres suivants pour « Origin Position » : longitude 2,812 ; latitude 50,433 ; altitude 0. Cliquez ensuite sur « Create Map ». Vous allez voir un MapActor apparaître dans le panneau de droite, mais notez qu’il est normal qu’il n’apparaisse pas dans la fenêtre du milieu pour le moment.

4- Cliquez maintenant sur le MapActor dans la fenêtre de droite. Vous voyez que les autres options du plugin ArcGIS dans la fenêtre de gauche se dégrisent. Nous allons ajouter un fond de carte. Pour cela, nous allons faire appel au service de fond de carte d’ArcGIS. Ceux-ci nécessitent l’utilisation d’une clé d’API, que vous pouvez créer en suivant ce tutoriel CodeTheMap disponible via ce lien : https://bit.ly/tuto-creation-cle-API. Une fois votre clé d’API en main, cliquez sur « Modifier » dans le bandeau de menu, puis « Paramètres du projet ». Faites glisser la liste à gauche jusqu’à « Plug-ins » et collez votre clé d’API en face de « API Key », puis fermez la fenêtre. Vous pouvez maintenant retourner dans la fenêtre du plugin ArcGIS à gauche. Sélectionnez « Imagery » sous « Basemap ».

5- Afin de pouvoir voir la carte apparaître, vous allez ajouter une caméra. Cliquez sur « Camera » dans l’interface de l’ArcGIS Maps SDK et renseignez les coordonnées suivantes : longitude 2,809173 ; latitude 50,433041 ; altitude 50. Et pour la rotation : heading 74 ; pitch 83 ; roll 0. Quand vous cliquez sur « Create », vous allez voir un « DefaultPawn0 » apparaître dans l’Organiseur « volet de droite ». Il s’agit de la caméra. Faites un clic droit sur l’élément et choisissez « Fixer la vue à l’objet ». Vous devriez alors voir apparaître la carte.

6- Vous allez maintenant ajouter une couche à votre projet. Dans l’onglet « Layers », sous « Add New Data », sélectionnez le type de calque « ArcGIS Integrated Scene Layer ». Pour la source, utilisez l’url suivant : https://tiles.arcgis.com/tiles/BRw7qlbbcVM2z8ab/arcgis/rest/services/Mesh_3D_CALL_WSL1/SceneServer. Il s’agit d’un mesh 3D de Lens issu des données Communauté d’Agglomération de Lens-Liévin. Utilisez le nom « Mesh 3D Lens ». Comme cette couche est partagée en public, vous n’avez pas besoin d’utiliser un moyen d’authentification pour y accéder. Vous pouvez donc sélectionner « None ». Cliquez enfin sur « Add ». Vous constaterez que le mesh entre en collision avec la couche d’élévation présente par défaut lors de la création de la carte. Pour résoudre cela, dans l’onglet « Elévation », décochez « Terrain 3D ».

7- De la même manière, vous allez ajouter la couche contenant le bâtiment qui sera implanté à cet endroit (ce projet est fictif et s’inscrit uniquement dans le cadre de ce tutoriel). Pour cela, choisissez le type « ArcGIS 3D Object Scene Layer » et utilisez l’url suivant comme source : https://tiles.arcgis.com/tiles/ d3voDfTFbHOCRwVR/arcgis/rest/services/Projet_Batiment_4/SceneServer en utilisant le nom « Projet Construction ». À nouveau, aucune authentification n’est nécessaire. Le bâtiment que nous utilisons a été importé et géoréférencé dans ArcGIS Pro, puis publié sur un portail en tant que couche de scène d’objet 3D qui est consommée directement par le SDK.

8- Vous pouvez observer que le mesh 3D entre en collision avec certaines parties du modèle 3D du bâtiment. Vous allez pouvoir utiliser les capacités de modification de mesh du SDK pour résoudre cela. Dans l’onglet « Layers », dans la couche Mesh 3D Lens, activez l’option « Mesh Modifications », puis cliquez sur la roue crantée. Choisissez ensuite le premier outil et tracez un rectangle autour du bâtiment et de son parking. Une fois le tracé terminé, vous pouvez utiliser le second outil et cliquer dans le rectangle créé pour le modifier si nécessaire, ou fermer les outils de modification du mesh avec la croix en haut à droite. Vous voyez que le mesh a été découpé selon le rectangle dessiné, évitant ainsi toute collision avec l’existant.

9- Le projet est maintenant prêt ! Il y a encore quelques étapes que vous pouvez effectuer. Par exemple, pour alléger la mémoire mobilisée, retournez dans l’onglet « Map » et cochez l’option « Enable Extent ». Pour « Geographic Center », copiez-collez la longitude et la latitude de l’ « Origin Position » de votre carte. Choisissez ensuite une « Extent Shape » de type « Rectangle », avec une Width de « 700 » et une Height de « 1000 ». La carte va ainsi être découpée selon ce rectangle, évitant de charger des ressources trop lointaines.

10- Vous pouvez lancer l’aperçu final de votre projet avec le bouton « Play » situé en haut au milieu de l’interface. Si vous le souhaitez, vous pouvez continuer à affiner le projet en utilisant les ressources d’Unreal pour créer un rendu poussé : modification des lumières (par exemple la « DirectionalLight » déjà placée dans le projet et accessible via l’Organiseur), création d’une animation, etc. Dans ce tutoriel, vous avez configuré un projet avec ArcGIS Maps SDK for Unreal Engine via l’interface nommée « Modes Panel UI », mais d’autres options s’offrent à vous : avec les composants et les blueprints (ces deux types de configurations étant plus adaptées aux personnes déjà familières avec Unreal) ou encore via l’API C++ qui permet une personnalisation plus accrue.


Article mis en ligne par la rédaction SIGMAG & SIGTV.FR