Dans KML, vous pouvez importer des modèles 3D (bâtiments, ponts, monuments, statues, etc.) au format de fichier d'échange COLLADA. Les modèles sont définis indépendamment de Google Earth, à l'aide d'applications telles que SketchUp, 3D Studio Max, Softimage XSI ou Maya. Lorsqu'un modèle 3D est importé dans Google Earth, il est traduit, pivoté et mis à l'échelle pour s'adapter au système de coordonnées de la Terre. Vous pouvez repositionner et redimensionner les modèles déjà chargés dans Google Earth à l'aide de l'élément <Update>. |
Exemple de modèle
Google Earth utilise un modèle comme n'importe quel autre objet géométrique (point, polyligne ou polygone). Voici un exemple simple de fichier KML qui importe un modèle texturé.
La référence <Link> au modèle peut être une spécification de fichier absolue ou relative, ou une URL.
Pour afficher ce modèle, chargez le fichier MackyBldg.kmz. Il s'agit d'une archive contenant tous les fichiers de superposition et de texture nécessaires, ainsi que ce fichier doc.kml contenant le modèle:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>SketchUp Model of Macky Auditorium</name> <description>University of Colorado, Boulder; model created by Noël Nemcik.</description>
<LookAt>
<longitude>-105.2727379358738</longitude>
<latitude>40.01000594412381</latitude> <altitude>0</altitude> <range>127.2393107680517</range>
<tilt>65.74454495876547</tilt> <heading>-27.70337734057933</heading> </LookAt> <Model id="model_4"> <altitudeMode>relativeToGround</altitudeMode>
<Location>
<longitude>-105.272774533734</longitude>
<latitude>40.009993372683</latitude>
<altitude>0</altitude>
</Location>
<Orientation>
<heading>0</heading>
<tilt>0</tilt>
<roll>0</roll>
</Orientation>
<Scale>
<x>1</x>
<y>1</y>
<z>1</z>
</Scale> <Link> <href>MackyBldg.kmz/files/CU Macky.dae</href> </Link>
<ResourceMap id="resourcemap_for_model_4"> <Alias>
<sourceHref>../files/CU-Macky---Center-StairsnoCulling.jpg</sourceHref>
<targetHref>C:/DOCUME~1/josiew/LOCALS~1/Temp/MackyBldg.kmz/files/CU-Macky---Center-StairsnoCulling.jpg</targetHref>
</Alias>
<Alias>
<sourceHref>../files/CU-Macky-4sideturretnoCulling.jpg</sourceHref>
<targetHref>../files/CU-Macky-4sideturretnoCulling.jpg</targetHref>
</Alias>
<Alias>
<sourceHref>../files/CU-Macky-Back-NorthnoCulling.jpg</sourceHref>
<targetHref>../files/CU-Macky-Back-NorthnoCulling.jpg</targetHref>
</Alias>
<Alias>
<sourceHref>../files/CU-Macky-BrickwallnoCulling.jpg</sourceHref>
<targetHref>../files/CU-Macky-BrickwallnoCulling.jpg</targetHref>
</Alias> . . . </ResourceMap>
</Model>
</Placemark>
</kml>
Le modèle est positionné géographiquement avec les spécifications de latitude, longitude et altitude de l'élément de localisation. Cet exemple utilise les valeurs par défaut des éléments d'orientation et d'échelle, inclus ici pour des raisons d'exhaustivité.
L'élément Orientation indique les rotations du modèle autour des axes x (inclinaison), y (roll) et z (heading). L'axe y pointe vers le nord et est parallèle aux lignes de longitude, tandis que l'axe x pointe vers l'est et est parallèle aux lignes de latitude. Les rotations sont spécifiées en degrés, les rotations positives étant illustrées dans le schéma suivant.
L'élément ResourceMap associe les fichiers de texture de l'emplacement spécifié dans le fichier COLLADA d'origine (<sourceHref>) à un emplacement du fichier KML ou KMZ (<targetHref>) contenant le modèle.
Remarque : Dans les versions antérieures à Google Earth version 4.2, cette fonction de mappage était exécutée par le fichier textures.txt (fichier externe inclus dans les archives KMZ). Google Earth 4.2 accepte les fichiers KML et KMZ qui font référence à un fichier textures.txt, et les traite correctement. Lorsque de tels fichiers sont écrits par les clients de Google Earth 4.2 et des versions ultérieures, les informations du fichier textures.txt sont traduites en éléments <ResourceMap> et <Alias>, qui sont des enfants de <Model>.
Créer une archive .kmz
Une archive KMZ est un ensemble de fichiers utilisé pour créer une seule présentation KML. Cette archive contient tous les fichiers locaux référencés dans le fichier .kml, tels que des images, des textures et des modèles. Une archive KMZ est un package autonome qui n'a pas besoin d'être hébergé sur un serveur réseau. Il peut être facilement envoyé par e-mail et stocké comme une seule unité. Google Earth peut lire directement les fichiers .kml et .kmz.
Le fichier doc.kml et les fichiers locaux qu'il référence sont compressés dans une archive au format ZIP. De nombreuses applications peuvent produire ce format. WinZip sur les systèmes Windows, Stuffit sur les systèmes Macintosh et ZIP sur les systèmes Linux ou Macintosh sont des applications couramment utilisées qui peuvent lire et écrire des fichiers au format ZIP. Vous pouvez également utiliser des archives zip à l'aide de l'Explorateur Windows ou du Finder Mac.
Une fois que vous avez créé le fichier .zip, remplacez son extension par .kmz.
L'archive KMZ contenant le modèle texturé complet du bâtiment Macky comprend les fichiers suivants:
- doc.kml : fichier KML présenté ci-dessus, qui importe le modèle COLLADA (.dae) et le place dans Google Earth. Placez ce fichier dans le répertoire racine du fichier KMZ (ZIP).
- files/ : contient les fichiers COLLADA qui définissent la géométrie, les textures et la matière du modèle. Dans l'exemple du bâtiment Macky, ce répertoire contient le fichier COLLADA (CU Macky.dae), ainsi que les nombreux fichiers contenant les images JPEG utilisées pour appliquer des textures au bâtiment (CU-Macky-BrickwallnoCulling.jpg, CU-Macky--Center-StairsnoCulling.jpg, CU_Macky-EastdetaildoornoCulling.jpg, etc.).
Cet exemple illustre une manière de structurer les fichiers dans une archive KMZ. Vous pouvez organiser les fichiers selon une structure qui vous semble logique, tout comme vous les organisez dans des dossiers ou des répertoires sur votre ordinateur. Par exemple, il peut être utile de placer toutes les images dans un répertoire images/. Les références relatives (telles que les fichiers auxquels l'élément <href> utilisé dans NetworkLink, Link, Overlay/Icon et Model) sont définies par rapport au fichier doc.kml. Si vous incluez un répertoire d'images, la spécification <href> pour vos images serait la suivante: images/myBrickTexture.jpg, images/myMountainOverlay.png, etc.