# 1.人工建模模型介绍
数据来源于 3dmax、Maya 等建模软件建模,建好的三维模型导出为 fbx 或 dae 或 obj 数据后,再转换为 3DTiles 数据格式。
# 2. 3D Tiles 格式介绍
3D Tiles 用于大场景的三维模型。 3D Tiles 是一个开放的规范,用于传输海量的异构三维地理空间数据集。使用概念上类似于 terrain 和 imagery 的瓦片流技术,3D Tiles 使得建筑物数据集、BIM 模型、点云和摄影测量模型等大模型比较流畅的在 Web 端进行浏览展示。
3D Tiles 官方资料 (opens new window) 格式说明文档 (opens new window)
# 3D Tiles 支持的人工模型类型
- 人工建模:数据来源于 3dmax、Maya 等建模软件建模,建好的三维模型导出为 dae 和 obj 数据。
- BIM 模型:数据来源于专业的 BIM 软件,常见的有 rvt 和 dgn 格式。
- 点云数据:一般是激光扫描后生产的数据,有 las、pts、ply 等格式。
# 3. 处理工具
人工模型无论是通过什么工具来设计建模,最终导出通用的 fbx(推荐)、obj 或 dae 等格式即可。
目前市场的数据处理工具或解决方案主要来源于以下:
- Github 开源的小工具
- Cesium 官方推出的 Cesium Ion 在线平台(对国内企业来说有点鸡肋)
- 一些商家推出的工具集(如 cesiumlab)
# 2.1 Cesiumlab 工具“通用模型处理”模块
来源:北京西部世界公司
说明:从官网下载工具后,按工具说明注册帐号登录后即可使用,是图形化界面操作,操作比较简便。
官方下载地址 (opens new window) 官方操作说明 (opens new window)
# 4. 处理操作流程完整示例
# 4.1 导出 fbx 文件
下面是以 3ds Max 软件为例,导出为 fbx 格式;
# 4.1.1 打开 3dmax 文件
正常打开 max 文件,如果提示图片材质路径不对,可以打开文件选择参考,选择资源追踪;
选择那些未找到的图片,右击菜单选择设置路径,在指定资源路径中将 map 路径添加,状态为确定则成功;
# 4.1.2 导出 fbx 文件
在 3dmax 内导出 fbx 格式文件
# 4.2 fbx 文件转为 3dtiles
下面是以 cesiumlab 为例,导出 3dtiles
# 4.2.1 添加 fbx 文件
- 选择“通用模型切片”模块
- 添加 FBX 文件,设置按钮会弹出设置页面;
- 设置页面:会自动根据文件加载相应的数据,也可以自行选择
- 设置附加属性:默认内置属性只有id,如果需要将其他属性附加到数据中,需要按说明编写
csv属性文件
按下图设置(对应代码加载后的Popup弹窗内属性)
- 存储类型:选择散列,如果没有注意到,Cesiumlab 有散列紧凑互转功能;
- 选择保存文件的路径;点击提交处理,进入处理页面
# 4.2.2 设置坐标系(存在问题时再设置)
如果建模场景是无坐标系的,或转换后数据在太空等场景下,可以先选择一个路口等明细的地方做参考点。
- 首选打开3dmax找到某一个明显参考点的max内坐标,记住这个xyz值,比如:
547263,4328611,0
- 再打开图上选点页面 (opens new window),找到这个参考点的的实际对应经纬度坐标
39.091314,117.545088
- 将获取到的2个参数分别填写到cesiumlab的转换参数中,其中max中的坐标改为反向的值,比如加负数,
-547263,-4328611,0
。
# 4.2.3 导出 3dtiles
转换成功之后的文件如下;
# 4.3 发布三维数据为 HTTP 服务
因为 3dtiles 数据一般都很大,建议发布为独立服务。
可以参考教程发布三维数据服务
# 4.4 在平台中加载模型
可以参考教程在平台中加载模型