span8
span4
在FME 2010,我们的3D支持得到了很大的推动。我们的核心开发团队准备的最有趣的例子之一是基于我们获得的数据Gavle城。这个例子包括一些有趣的东西,包括新的功能,以及一些技巧,帮助我们生成的3D数据看起来如下:
对于本页中的示例,源文件来自各种格式,包括Shape、JPEG、TIF、Sketchup等。在一个工作空间我写了3D PDF,在另一个工作空间我写了Geodatabase。有趣的是,那些想要浏览的部分3 d城市在ESRI ArcCatalog无需编写数据转化为Geodatabase然而,FME 2010现在扩展ArcCatalog的浏览功能,这样用户可以查看三维数据从各种各样的格式没有翻译。
这些例子中的大多数都展示了在FME 2010中引入的对3D对象的新纹理支持,但值得注意的是,新版本将提供对全新3D格式列表的支持,包括3ds、Sketchup、AutoCAD Civil 3D和Collada。你可于以下网址浏览FME最新版本支援的格式:www.亚搏在线safe.com/Formats。
工作空间写出来的3D PDF包括几个部分,让我们通过其中一些:
当我们的PDF 3D作家写光栅,它取代了他们与面孔使用光栅作为纹理。这个替换也可以用更新后的FaceReplacer变压器。这使得创建3D模型的背景非常简单(只要地形是平坦的,并且栅格是根据地理位置确定的)。
屏幕截图显示了主工作区中生成表面的自定义转换器。我们也使用限幅器这里减少原始TIFF图像。如果源图像太大,PDF作者和其他作者可能会达到极限。例如,我不能使用大于~9200*9200像素的纹理。在这种情况下,你可以使用以下一个或多个选项:
Gavle市提供的建筑包含两个属性,帮助我们生成3D屋顶——最大(HOJD_TAKNO)和最小(HOJD_TAKFO)屋顶高度。使用CenterlineReplacer,我们生成表示屋脊的坐标轴。
建筑的脚印被提升到最小的屋顶高度,屋顶的脊线被带到最大的屋顶高度。之后,我们可以使用这些数据TINGenerator为每个屋顶制作表面。
建筑足迹也可以作为源图像的裁剪器,因此在裁剪器之后,我们可以得到代表建筑屋顶的多个图像。
现在,有了屋顶表面和屋顶纹理,我们简单地把它们结合在一起AppearanceAdder,屋顶也准备好了。
理想情况下,屋脊应该来自一些真实的来源,例如,作为图像数字化的结果。我们的算法不能总是预测真实的屋脊方向,尽管在我们的例子中,我们有时做得很好:
不幸的是,我们没有Gavle城的真实纹理,所以我们不得不想出一些随机纹理分配的技术。根据建筑面积大小和高度,我们将它们分为三组,分别代表商业、公寓和低层住宅地产。在此基础上,我们生成了两个纹理参数,它们控制每个纹理水平和垂直显示的次数。
我们还以这样的方式设置了纹理阅读器(JPEG阅读器),它读取和使用纹理文件夹下各自文件夹中可用的所有内容—\商业、\住宅和\公寓。您可以将自己的图像放在这些文件夹中,它们将用于您的输出。属性生成texture_id属性计数器transformer—这些id有三个范围—住宅从0开始,商业从1000开始,公寓从2000开始。
根据建筑物类型(商用、公寓或住宅),我们在三个范围内生成建筑物上的随机_texture_id。
Generate_walls自定义转换器获取建筑足迹,将其切割成两顶点线,通过将这些线挤压到最小屋顶高度来创建墙壁,并使用texture_id作为属性组来为墙壁分配纹理。
耶夫山羊正如维基百科告诉我们的,这是一个巨大的瑞典传统圣诞山羊形象。众所周知,这只稻草山羊是纵火袭击的目标,这就是为什么Dale让我用su模型的山羊,用火代替稻草纹理。
我很不情愿地同意了这一虚拟破坏行为,但最终,它很好地服务了我们——正如你所看到的,我们的纹理被分别放置在每一张脸上,而原来的山羊的纹理跨越了几张脸。这就是为什么“着火的山羊”帮助我们更早地发现了问题:
原始
更换材质
非常感谢Gavle市为我们提供了这个数据集。感谢我们的开发团队,他们的努力使FME 3D能力,并创建了工作空间。
我没有浏览所有的细节的工作空间,请随时联系我(邮寄:dmitri.bagh@亚搏在线safe.com),如果您有任何问题,或者您想要使用您的数据建立一个类似的工作空间。这里是一个演示所需的列表:
©2019安全亚搏在线软件公司法律