Blender avec CityGML - Promo-Geonum/Blender_et_SIG GitHub Wiki
Dans ce tutoriel, nous verrons comment il est possible d'importer des données du modèle CityGML dans Blender. Nous verrons également les réflexes à adopter pour que l'import s'effectue sans complications majeures.
Les données utilisées pour ce tutoriel sont disponibles ici : https://www.cityjson.org/datasets/#datasets-converted-from-citygml Il s'agit des données de la ville de Vienne dont la validité des bâtiments est de 98,5% et le détail des bâtiments est en LoD2.
- Téléchargez le référentiel au format zip via l'onglet code. Le fichier se nomme "Import_CityGML-master".
-
Lancer Blender et allez à Edit > Preferences > Add-ons et appuyez sur Install
-
Sélectionnez le ZIP téléchargé et appuyez sur Install Add-on from File....
- Activez le plugin depuis la liste, en cochant la case vide à côté du nom de l'add-on. (Facultatif: s'il s'agit d'une mise à jour, décochez et cochez à nouveau le plugin pour le recharger!)
Une fois le plugin installé, il y a quelques étapes intermédiaires avant d'importer nos données. En effet, les objets importés sont situés en 0,0,0 (leur origine) mais les points de maillage peuvent être par exemple x = 12342222, y = 23343322, z = 23. Les modèles de villes peuvent être énormes. C'est la raison pour laquelle il y a des problèmes dans Blender avec l'affichage de la géométrie. Cela induit des problèmes de zoom, de rotation, d'ombres, de coupure de vue, etc. Nous devons donc définir un point d'origine.
Les fichiers CityGML sont lisibles dans Notepad (Notepad ++ est bien meilleur, en particulier pour les très gros fichiers texte). Nous pouvons trouver des séries de coordonnées entre les balises. Pour cela il nous faut rechercher dans le script la balise _gml:posList _ou gml:pos
Au regard de la série de coordonnées que nous observons à l'aide de Notepad++ nous pourrions définir le point d'origine d'importation x = 1400, y = 340000, z = 0
Nous pouvons mettre à l'échelle toute la géométrie importée pour être plus proche de l'origine mondiale.
Si vous travaillez sur de gros objets, il serait intéressant de changer les clips de vue. Les options peuvent recalculer ces clips en fonction de la taille des objets.
Une fois les étapes précédentes effectuées, on peut aisément importer notre fichier en cliquant sur "pick an xml file(s)
NB : Il peut arriver que les polygones aient des trous une fois importés. Les polygones dans CityGML peuvent être créés par deux (ou plus) anneaux. Dans ce cas, la bague intérieure est interprétée comme vide et est soustraite de la bague extérieure. https://en.wiki.quality.sig3d.org/index.php/Modeling_Guide_for_3D_Objects_-_Part_1:_Basics_(Rules_for_Validating_GML_Geometries_in_CityGML)#gml:Polygon