Altizure会提供OBJ格式的模型文件,供用户下载。你也可以通过Altizure桌面版 的转换器,将下载的OBJ文件,转成其他不同的格式( 转换器使用教程)。这些格式包括鸟瞰图/正射图、高程图、合并的OBJ文件、谷歌地球三维模型文件、PLY、OSGB、KML、DAE、STL文件等。

其中,鸟瞰图/正射图、高程图、OBJ文件、谷歌地球三维模型文件的样例文件,可在此页面的底部,样例数据 下载。

我可以下载免费项目中的作品下载内容吗?

不可以。但你可以把一个免费项目转换成专业项目,然后下载相关的内容。

我把model.zip解压缩后,里面有一大堆OBJ文件,到底是什么回事?哪个才是我的模型?

我们的三维重建系统能生成高精度的三维模型,但高精度模型意味着庞大的数据量,不利于各种应用,如数据传输,模型渲染,模型编辑等等。对配置较低的电脑是非常吃力。
为此,我们使用了细节分层(Level-of-detail,LOD)的技术处理三维模型,把重建好的模型进行简化,分拆,制作成不同精度层次的模型片块(tile ),并以四叉树(quadtree)的结构组织。好处是能应付巨大的模型,用户亦可以按不同的需要,使用不同精度的模型。

四叉树概念图:

Altizure_deliverable_tutorial_v2_20161031 (20) (1).png

四叉树例子:

Altizure_deliverable_tutorial_v2_20161031 (11).png

因此,model.zip里的每个OBJ是你的模型在不同的层次,不同的片块。把同一层次的所有片块加载后就能得出整个模型。

那每个OBJ文件是代表模型哪一个精度层次,哪一个片块?

每个OBJ文件的名称都有三个数字。例如:tile_1_0_16.obj

第一个数字(e.g. 1)代表模型的精度层次,数字愈小,模型愈简化。

第二和第三个数字(e.g. 0, 16)代表该部分在整个模型的位置的xy座标。

看下图参考:
Altizure_deliverable_tutorial_v2_20161031 (12).png

由于模型片块之间以四叉树的结构组织,精度每高一级,片块的数量便增加 4 倍,片块的面积便相应地缩减 4 倍,边长便缩减 2 倍。因此,名称的第二和第三个数字的间距亦相应地缩减 2 倍。如此类推,直至精度最高的一层,模型便不再细分。此时我们把片块的边长定义为 1 个单位,因此文件名称的xy座标间距亦为 1 个单位。

以我们的样板数据 HKUST_CYT_Building 为例。模型最高精度层次为 5,因此该层在 x 轴和 y 轴方向各有 2^5 = 32 个边长为 1 单位的片块。所以整个模型便是 32 乘 32 个单位大。

在LOD level 5 时,精度最高,片块边长定义为 1 个单位,所以
<br/>tile_5_0_0.obj 的右边是tile_5_1_0.obj ,x 座标值便跳了 1 个单位;<br/> tile_5_0_0.obj 的上边是tile_5_0_1.obj ,y 座标值便跳了** 1** 个单位。

在LOD level 4 时,片块边长为 2 个单位,所以
<br/> tile_4_0_0.obj 的右边是tile_4_2_0.obj ,x 座标值便跳了 2 个单位; <br/> tile_4_0_0.obj 的上边是tile_4_0_2.obj ,y 座标值便跳了** 2** 个单位。

在LOD level 3 时,片块边长为 4 个单位,所以
<br/> tile_3_0_0.obj 的右边是tile_3_4_0.obj ,x 座标值便跳了 4 个单位; <br/> tile_3_0_0.obj 的上边是tile_3_0_4.obj ,y 座标值便跳了** 4** 个单位。

在LOD level 2 时,片块边长为 8 个单位,所以
<br/> tile_2_0_0.obj 的右边是tile_2_8_0.obj ,x 座标值便跳了 8 个单位;<br/> tile_2_0_0.obj 的上边是tile_2_0_8.obj ,y 座标值便跳了** 8** 个单位。

在LOD level 1 时,片块边长为 16 个单位,所以
<br/> tile_1_0_0.obj 的右边是tile_1_16_0.obj ,x 座标值便跳了 16 个单位; <br/> tile_1_0_0.obj 的上边是tile_1_0_16.obj ,y 座标值便跳了** 16** 个单位。

在 LOD level 0 时,片块边长为 32 个单位,只有一个片块便覆盖了整个模型,所以只有一个 tile_0_0_0.obj 的文件。

那使用转换器的 Merge 功能,合并出来的文件是什么?

要理解 Merge 合并后的文件,首先要明白 model.zip 里OBJ的四叉树结构和文件的命名规律。我们默认的模块尺寸是32, 这也就意味着,合并 OBJ 文件只是相当于把 model.zip 的 OBJ 以每 32 乘 32 个单位**缝接(merge)**起来。您可以把这些 OBJ 理解为面积较大的片块。目的是方便用户操作,不用每次加载一大堆零碎的 OBJ 文件。

Altizure_deliverable_tutorial_v2_20161031 (16).png

Altizure_deliverable_tutorial_v2_20161031 (17).png

Altizure_deliverable_tutorial_v2_20161031 (18).png

如何浏览OBJ 文件?

可导入 OBJ 模型的免费软件:

  1. Autodesk FBX Review: 产品页面

可导入 OBJ 模型的专业软件:

  1. Adob​​​​​​e Photoshop: 产品页面
  2. Autodesk 3Ds Max: 产品页面
  3. Autodesk Maya: 产品页面
  4. Blender (开源免费软件): 产品页面
  5. Unity: 产品页面

以上不完全列表仅供参考。

如何将正射图/dsm 导入 Google Earth?

当满足以下条件时,用户可将正射图/dsm导入:

  • 用于制作模型的图像包含GPS信息
  • 模型重建过程中,GPS信息被成功嵌入到三维模型中

导入流程:

  1. 下载 Google Earth Pro 下载链接。请下载专业版(pro版)而不是普通版 Google Earth。Google Earth Pro 目前是免费的。
  2. 下载自己的模型,并使用Altizure离线转换器,将obj文件转换成正射图或dsm
  3. 打开Google Earth Pro
  4. 点击 File -> Import 并选择下载的 tif 文件。谷歌地球的视角会自动移动到您模型的位置。 接着点击 scale 将自己的正射图放入 Google Earth Pro

如何将 3D 模型导入 Google Earth?

当满足以下条件时,用户可将三维模型导入:

  • 用于制作模型的图像包含GPS信息
  • 模型重建过程中,GPS信息被成功嵌入到三维模型中

用户可使用Altizure离线格式转换器将下载的 OBJ 文件转换成 DAEKML 文件。这两种文件可以被直接导入 Google Earth ,将你在Altizure上制作的模型展现出来。

DAE 文件包含模型的地理位置信息。导入此类文件,可以让 Google Earth 将您的模型放在您当前的位置上。

KML 文件包含额外的 GPS 信息。导入此类文件,可以让 Google Earth 将您的模型放在相应的位置上。

导入流程:

  1. 打开 Google Earth Pro
  2. 点击 File -> Open 并将模型的 DAEKML 文件导入进去。下面这个例子,我们导入的是 level_2_0_0.kml 文件.

Screenshot from 2016-04-21 16_44_44.jpg

导入后,你可能会发现,有时候模型会比谷歌地球表面低。这是因为GPS里的高度信息缺失。用户可以通过手动调整高度解决这一问题。

调整高度的方法:

  1. 将KML文件在左手边的工具栏中放大
  2. 右键点击模型的图标
  3. 点击 “Properties” ,再点击 “Altitude”
  4. 根据实际需求调整高度的数值

Screenshot from 2016-04-21 16_45_40.jpg

小提示:目前,google地图可以加载的kml和dae文件的最高层级是5,level 5。

KMZ在谷歌地球加载时很卡,而且有些片块无法显示,怎么办?

KMZ其实是经压缩过的格式,所以加载到谷歌地球时要花时间解压,导致加载时会卡。建议先把KMZ当成普通的zip文件解压,再加载解压后的Project_LOD.kml文件。

为什么我的项目里的下载作品内容和这个页面提到的不太一样?

因为我们不停在更新我们的后台服务以提供越来越丰富的内容以供用户使用,所以如果你的项目是较早时候重建的,项目的下载内容可能未能包括最新的升级内容。不必担心,请你通过项目概况页面的报告问题按钮联系我们,我们会检查你的项目,并为你免费升级到最新版本。

样例数据

以上解释用到的例子来自于样例 HKUST_CYT_Building,您可以自由免费地下载和使用这个数据。 <br/>如有任何问题,欢迎在论坛上提问或者联系 support@altizure.com.

在线互动三维:

Altizure提供的下载文件:

用户可使用Altizure离线格式转换器,转成的格式包括: