提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
一直以来,Build My World类型游戏的魅力无法抵挡,从小时候的泥木手工、乐高,到长大后的各种城市建造类电子游戏,可以天马行空,也可以按图纸规划。在笔者眼中,利用GIS构建世界也是Build My World的一种,不仅可以建造房屋、路网、植被、水系,还可以虚拟动态卫星态势、行进车船轨迹、变化莫测的风云等等。
借着Build My World主题,整理各类数据模型构建与仿真的技术文档,第一章从城市底座开始,构建建筑白模。条条大道通罗马,构建白模方式很多种,本文记载的是笔者比较熟悉的技术路线。
建筑白模构建技术路线不难,有两个必备条件:建筑面几何信息+建筑高度,在GIS软件根据建筑高度拉伸即可获得建筑白模。若建筑白模与地形数据贴合,可利用DEM数据获取建筑面底部高程。本文介绍的“线性拉伸建筑白模”、“二维面直接生成模型瓦片”、“程序化建模(贴图与屋顶材质)”为三种不同构建方式,选择其中一种即可。
一、数据与软件
1.1 实验数据
关注公众号,后台回复building即可获得相关实验数据。
(1)带高度建筑矢量面
(2)30m分辨率DEM
1.2 软件
(1)SuperMap iDesktopX 11i(下文简称iDesktopX)
下载地址:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=2647
(2)程序化建模工具
1.3 实操参考课程
02-基于二维面构建三维体(动态线性拉伸)_哔哩哔哩_bilibili
https://help.supermap.com/iDesktopX/zh/tutorial/ApplicationTheme/3DModeling/AI-basedBuiliding.html
二、建筑底部高程获取
本部分内容非必须,若只需要简单白模,可直接看“建筑白模”部分。
2.1 DEM生成TIN地形缓存
选中DEM数据集,右键菜单“生成三维瓦片”,按默认参数生成三维地形缓存瓦片。
生成结果,TIN地形缓存,如下图:
2.2 提取高度数据
使用“三维数据”——“TIN地形”——“TIN工具”——“提取数据”。
源数据选择三维地形缓存SCT文件,数据源为缺少底部高程的建筑面数据,提取属性会写入数据集属性表。
三、线性拉伸古建筑白模
3.1 新建球面场景
“工作空间管理器”中“场景”右键菜单“新建球面场景”。因iDesktopX因使用场景不同展开不同功能菜单,本步骤为了打开三维相关菜单,得到如下图功能菜单。
3.2 线性拉伸
“三维地理设计”——“规则化建模”——“参数化建模”——“线性拉伸”工具,源数据选择建筑面数据集,设置拉升高度为楼高,底部高程为建筑底部高程,材质可不设置;若有纹理贴图,或特殊材质颜色要求,可自行设置。
拉伸得到三维模型数据集,右键添加至三维场景,即可检验查看。
3.3 批量模型导出
软件右侧工具箱搜索“模型数据集批量导出”,可将模型导出为obj或fbx,用于第三方软件加载或精修。
3.4 三维模型缓存生成
一般项目应用,为提高三维模型渲染效率,需生成三维模型瓦片。选中模型数据集,右键菜单“生成三维瓦片”,选择数据集、瓦片路径、S3M版本等参数,即可生成三维瓦片。
四、二维面直接生成模型瓦片
适合无底部高程,仅携带建筑高度的建筑面数据。
4.1 添加至球面场景
选中二维矢量面数据集,右键菜单“添加到新球面场景”。“图层管理器”选中该建筑面数据集,菜单栏设置图层风格,“高度模式”为“相对地面”,“拉伸高度”为建筑高度。
4.2 关闭并保存三维场景
4.3 生成场景瓦片
选中三维场景,右键菜单“生成场景瓦片”,选择S3M版本、瓦片路径等参数,即可生成三维建筑白模。
打开该三维场景瓦片,即可检验白模成果。
五、程序化建模(贴图与屋顶材质)
SuperMap新版本提供有程序化建模工具,截止发稿,该工具包含3墙面贴图材质Residential(住宅)、Commercial(商业)、Industrial(厂房);5种屋顶类型Flat,Parapet,Shed,Gable,Hip。若建筑面数据包含有相关字段,可利用工具构建贴图建筑模型。本次使用实验数据,未包含对应字段,模拟相关属性用于效果展示。
5.1 启动程序
工具包中找到exe文件即为启动入口,双击启动。
5.2 打开数据源
在iDesktopX中处理好的建筑面数据集存储在udbx数据源,选择打开即可。
5.3 建模参数设置
“程序化建模”——“建模参数设置”,设置建筑面数据集、对应的高程字段、资产路径为下载的材质包地址,由于本步骤会修改数据,设置参数点击“确定”需等待程序处理响应,因数据量不同,耗时长短不同。
5.4 建筑模型生成
“程序化建模”——“建筑模型生成”,设置相关参数,确认并等待,出现“构建成功”弹窗即完成。可关闭工具,转至iDesktopX进行后续步骤操作。
5.5 iDesktopX中查看模型
打开数据源,右键菜单添加至三维场景中,与无贴图白模可对照效果。
5.6 三维模型缓存生成
选中数据集右键菜单生成,与“线性拉伸建筑白模”的“三维模型缓存生成”步骤一致。
六、3DTiles白模生成
6.1 生成S3M1.0 版本瓦片
由于iDesktopX只支持S3M 1.0转为3DTiles数据格式,若需要3DTiles格式白模,需将前面“三维模型缓存生成”和“生成场景瓦片”步骤的S3M版本选择为1.0。
6.2 S3M转3DTiles
工具箱搜索“3DTiles”,使用“大数据三维缓存生成工具”的“S3M转3DTiles”工具,将S3M 1.0版本的建筑三维缓存转为3DTiles数据格式。
后话
才疏学浅,如有纰漏,敬请指正。