С помощью KML-файлов можно импортировать трехмерные модели зданий, мостов, монументов, статуй и других объектов в формате COLLADA. Модели создаются в собственном пространстве координат в таких приложениях, как SketchUp, 3D Studio Max, Softimage XSI или Maya. При последующем импорте трехмерной модели в Google Планету Земля она загружается, поворачивается и масштабируется так, чтобы соответствовать системе координат изображения Земли. Уже загруженные модели можно двигать и масштабировать с помощью элемента <Update>. |
Образец модели
Модель в Google Планете Земля подчиняется тем же правилам, что и любой другой геометрический объект, такой как точка, линейное кольцо или многоугольник. Ниже показан пример простого KML-файла, с помощью которого импортируется модель с текстурами.
Элемент <Link> может содержать как абсолютную или относительную ссылку на файл, так и внешний URL.
Чтобы просмотреть модель, загрузите файл MackyBldg.kmz. Это архив, содержащий все необходимые текстуры и наложения, а также файл doc.kml с самой моделью.
<?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>
Расположение модели задано с помощью широты, долготы и высоты в элементе <Location>. Для полноты в пример включены элементы <Orientation> и <Scale>, отвечающие соответственно за ориентацию и масштаб; для них оставлены значения по умолчанию.
Элемент <Orientation> определяет вращение модели вокруг осей x (наклон), y (поворот) и z (направление). Ось y указывает на север и параллельна линиям долготы, а ось х направлена на восток и параллельна линиям широты. Значения поворота положительны и задаются в градусах, как показано на схеме ниже.
Элемент <ResourceMap> сопоставляет адреса файлов текстур, используемых в исходном файле Collada (<sourceHref>), с KML- или KMZ-файлом, содержащим модель (<targetHref>).
Примечание. В Google Планете Земля до версии 4.2 за сопоставление отвечал внешний файл textures.txt, который включался в KMZ-архив. Начиная с версии 4.2 KML- и KMZ-файлы, содержащие ссылки на файл textures.txt, поддерживаются и корректно обрабатываются геобраузером. При наличии такого файла в Google Планете Земля 4.2 и более поздних версий информация из textures.txt преобразуется в <ResourceMap> и <Alias> – дочерние элементы элемента <Model>.
Создание KMZ-архива
KMZ-архив – это набор локальных файлов, относящихся к единой KML-презентации, в том числе картинок, текстур и моделей. В KML-файле содержатся ссылки на них. KMZ-архив представляет собой автономный файл, который не обязательно размещать на сетевом сервере. Его можно сохранять или отправлять по электронной почте как единый объект. KML- и KMZ-файлы можно открывать непосредственно в Google Планете Земля.
Файл doc.kml и локальные файлы, ссылки на которые он содержит, сжимаются в ZIP-архив. Для этих целей существует множество приложений, включая WinZip (в ОС Windows), Stuffit (в ОС Mac) и zip (в ОС Linux или Mac). ZIP-архив также можно создать непосредственно в файловом менеджере Windows Explorer или Mac Finder.
После того как ZIP-архив будет сформирован, измените его расширение на KMZ.
Ниже перечислены файлы, которые входят в KMZ-архив модели здания из нашего примера.
- doc.kml – упомянутый выше KML-файл, который отвечает за импорт и размещение модели COLLADA (в формате DAE) в Google Планете Земля. Этот файл должен находиться на корневом уровне KMZ-архива.
- files/ – каталог с файлами COLLADA, в которых определены геометрические параметры, текстуры и материалы модели. В нашем примере этот каталог содержит файл COLLADA (CU Macky.dae) и JPEG-изображения, определяющие текстуры здания (CU-Macky-BrickwallnoCulling.jpg, CU-Macky--Center-StairsnoCulling.jpg, CU_Macky-EastdetaildoornoCulling.jpg и другие).
Мы рассмотрели один из множества способов организации файлов в KMZ-архиве. Фактически структура архива может быть любой и зависит от личных предпочтений разработчика. Например, картинки обычно помещаются в каталог images/. Относительные ссылки (такие как ссылки на файлы в элементе <href> компонентов NetworkLink, Link, Overlay/Icon или Model) обрабатываются на основе расположения файла doc.kml. Если у вас есть каталог images, то ссылки на картинки в теге <href> будут выглядеть следующим образом: images/myBrickTexture.jpg, images/myMountainOverlay.png и т. д.