导读
阅读完此文,你会了解:
1、地图建筑模型通常如何制作的
2、地图建筑模型替换策略
地图上往往会有一些定制建筑的需求,例如将下面的水立方做成气泡感的。
这种需求就需要建模师对建筑做定制化建模。
模型制作
首先我们需要制作建筑的3D模型。不同模型精度等级有不同的建模方法。这里介绍中精度模型的制作方法。此精度模型需要的面数较少,对 Web 平台比较友好。
资料收集
通过互联网收集需要制作的建筑物的外观图片和结构样式,利用街景模式采集建筑物的三维图片。尽量选取晴朗环境下的建筑图片。
模型制作
利用收集到的建筑物图片进行结构和体积的分析,在制作模型的时候重点突出建筑物的特色结构特征,通常一米之内的结构忽略不进行建模。
模型面数控制在1000三角面之内,尽量避免出现交叉面。由于在地图场景中,没有仰视建筑的角度,固水平视角之下的模型面可以省略以确保整体的模型的面数质量。
编辑材质
用PS将收集到的建筑照片进行关键结构材质提取。然后赋予材质。
注意:
- 材质球的命名要与对应建筑模型的命名统一。
- 漫反射颜色数值设为rgb(255,255,255) 这样可以避免模型在地图内变暗。
材质烘培
在模型软件中对模型进行 默认天光烘培 增强体积感,原始uv保存在通道2中备份。
把建筑物场景渲染为png,作为建筑物图标使用。
模型输出
输出 FBX 之前将模型材质烘培成 2048 x 2048 和 512 x 512 的贴图,默认使用 2048。这样做的好处是各平台( Unity 端和 Web 端)可以根据性能选择使用哪个贴图。
命名规则
使用建筑物所在区域的行政区划代码和建筑物名称组合来命名输出文件,例如:110105_htds,方便引擎加载和后期查询。
资源导入
模型制作完毕,下一步该导入地图引擎了。地图引擎是基于矢量瓦片数据的,为了实现快速加载,我们需要知道建筑所在的瓦片ID、建筑的替换ID。另外建筑也需要重新调整大小和朝向来匹配引擎自动生成的建筑。为此,我们使用一个基于地图引擎的导入工具来实现参数调整和导出。
建筑定位
在地图上定位需要替换的建筑。通过拖动地图,找到需要替换的建筑。
前面已经讲过,通过GPU拾取技术(颜色编码作为ID编码做渲染),我们可以快速拾取当前鼠标命中的建筑。定位到建筑之后,鼠标点击要替换的建筑,这些建筑将被隐藏,同时建筑ID会被记录下来,作为配置使用。
调整大小,朝向
将制作好的FBX文件拖入地图引擎,选中之后可以调整位置,缩放,旋转。参考地图引擎自动生成的周围建筑物来调整制作好的模型文件参数。调整完的效果,就是地图引擎最终加载配置显示的效果。
调整完毕,点击导出按钮,配置文件将会自动生成。配置文件包含以下字段。
建筑的位置,缩放,旋转信息会被同步到FBX文件,不用保存在配置文件中。GPS信息会被计算出来写在配置中,提供建筑的精确GPS信息。
最终效果
最后,地图引擎通过加载配置和模型,就可以完成自定义建筑模型的显示了。
加载定制模型的地图
请期待下一期:《地理数据可视化》