模型

在 KML 中,您可以用 collada 互换文件格式导入3D模型,例如建筑、桥梁、纪念碑和雕塑。模型使用 SketchUp、3D Studio Max、Softimage XSI 或 Maya 等应用在自己的坐标空间中进行定义,与 Google 地球无关。3D模型导入到 Google 地球后,模型会进行转换、旋转和缩放,以符合地球坐标系。已加载到 Google 地球中的模型可以通过 <Update> 元素进行重新定位和重新调整大小。

模型示例

模型在 Google 地球中的使用方式与其他任何几何对象(点、LineString 或多边形)一样。下面是导入纹理模型的 KML 文件的简单示例。

对该模型的 <Link> 引用可以是绝对或相对的文件指定/网址。

要查看该模型,请加载文件 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 轴指向北且与经度线平行,x 轴指向东且与纬度线平行。旋转值用度数指定,下图显示的是正向旋转。

ResourceMap 元素将纹理文件从原始 collada 文件 (<sourceHref>) 中指定的位置映射到包含该模型的 KML 或 KMZ 文件 (<targetHref>) 中的某个位置。

请注意:在 Google 地球4.2之前的版本中,此映射功能是通过 textures.txt 文件(包含在 KMZ 归档中的外部文件)执行的。Google 地球4.2接受引用 textures.txt 文件的 KML 和 KMZ 文件,并且可对它们进行正确处理。当此类文件通过 Google 地球4.2客户端及更高版本输出时,textures.txt 文件中的信息就会转换为 <ResourceMap> 和 <Alias> 元素,而这两个元素都是 <Model> 的子元素。

创建 .kmz 归档

KMZ 归档是用于创建单个 KML 演示的文件集合。此归档包含 .kml 文件中引用的所有本地文件,例如图片、纹理和模型。KMZ 归档是一个独立的文件包,无需托管到网络服务器上,因此您可以轻松地通过电子邮件发送该文件,并且可以将其储存为一个独立单元。Google 地球可以直接读取 .kml 和 .kmz 文件。

您可以使用 ZIP 文件格式将 doc.kml 文件及其引用的本地文件压缩到一个归档中。许多应用都可以生成此格式。Windows 系统上的 WinZip、Macintosh 系统上的 Stuffit 以及 Linux 或 Macintosh 系统上的 ZIP 都是可以读写 ZIP 格式的常用应用。您还可以使用 Windows 资源管理器或 Mac Finder 直接处理 ZIP 归档。

创建 .zip 文件后,请将文件扩展名更改为 .kmz。

包含此 Macky 建筑的完整纹理模型的 KMZ 归档包含以下文件:

  • doc.kml - 上述 KML 文件,可导入 collada (.dae) 模型,并将其放置在 Google 地球中。将此文件放置在 KMZ (ZIP) 文件的根目录下。
  • files/ 目录 - 包含用于定义模型的几何图形、纹理和材料的 collada 文件。在 Macky 建筑示例中,此目录包含 collada 文件 (CU Macky.dae) 和包含 JPEG 图片的大量文件,这些图片用来设置建筑的纹理(CU-Macky-BrickwallnoCulling.jpg、CU-Macky--Center-StairsnoCulling.jpg、CU_Macky-EastdetaildoornoCulling.jpg 等)。

此示例展示了在 KMZ 归档中整理文件结构的一种方法。实际上,您可以按照您的逻辑将这些文件整理成任何结构,就像将文件整理到计算机上的文件夹或目录中一样。例如,可将所有图片都放在 images/ 目录中。相对引用(例如在用于网络连接、链接、叠加层/图标和模型的 <href> 元素中引用的文件)是相对于 doc.kml 文件指定的。如果包含一个 images 目录,那么图片的 <href> 规范有可能会是:images/myBrickTexture.jpg、images/myMountainOverlay.png 等)。

返回页首