三维模型:人工建模模型转为3DTiles格式

6/8/2023

# 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 等格式。

image

# 3. 处理工具

人工模型无论是通过什么工具来设计建模,最终导出通用的 fbx(推荐)、obj 或 dae 等格式即可。

目前市场的数据处理工具或解决方案主要来源于以下:

  1. Github 开源的小工具
  2. Cesium 官方推出的 Cesium Ion 在线平台(对国内企业来说有点鸡肋)
  3. 一些商家推出的工具集(如 cesiumlab)

# 2.1 Cesiumlab 工具“通用模型处理”模块

来源:北京西部世界公司

说明:从官网下载工具后,按工具说明注册帐号登录后即可使用,是图形化界面操作,操作比较简便。

官方下载地址 (opens new window) 官方操作说明 (opens new window)

# 4. 处理操作流程完整示例

# 4.1 导出 fbx 文件

下面是以 3ds Max 软件为例,导出为 fbx 格式;

# 4.1.1 打开 3dmax 文件

正常打开 max 文件,如果提示图片材质路径不对,可以打开文件选择参考,选择资源追踪;

image

选择那些未找到的图片,右击菜单选择设置路径,在指定资源路径中将 map 路径添加,状态为确定则成功;

image

# 4.1.2 导出 fbx 文件

在 3dmax 内导出 fbx 格式文件 image

# 4.2 fbx 文件转为 3dtiles

下面是以 cesiumlab 为例,导出 3dtiles

# 4.2.1 添加 fbx 文件

  • 选择“通用模型切片”模块
  • 添加 FBX 文件,设置按钮会弹出设置页面;
  • 设置页面:会自动根据文件加载相应的数据,也可以自行选择

image

  • 设置附加属性:默认内置属性只有id,如果需要将其他属性附加到数据中,需要按说明编写csv属性文件按下图设置(对应代码加载后的Popup弹窗内属性)

image

  • 存储类型:选择散列,如果没有注意到,Cesiumlab 有散列紧凑互转功能;
  • 选择保存文件的路径;点击提交处理,进入处理页面

image

# 4.2.2 设置坐标系(存在问题时再设置)

如果建模场景是无坐标系的,或转换后数据在太空等场景下,可以先选择一个路口等明细的地方做参考点。

  • 首选打开3dmax找到某一个明显参考点的max内坐标,记住这个xyz值,比如:547263,4328611,0
  • 再打开图上选点页面 (opens new window),找到这个参考点的的实际对应经纬度坐标39.091314,117.545088
  • 将获取到的2个参数分别填写到cesiumlab的转换参数中,其中max中的坐标改为反向的值,比如加负数,-547263,-4328611,0

image

# 4.2.3 导出 3dtiles

转换成功之后的文件如下;

image

# 4.3 发布三维数据为 HTTP 服务

因为 3dtiles 数据一般都很大,建议发布为独立服务。

可以参考教程发布三维数据服务

# 4.4 在平台中加载模型

可以参考教程在平台中加载模型

最后更新: 9/8/2023, 5:23:49 PM