FBX转3DTiles:高效WebGIS数据转换指南
1.3D Tiles格式介绍
FBX是常见的三维模型交换格式,而3DTiles是专为WebGIS优化的流式三维数据标准。将FBX转换为3DTiles可显著提升三维数据在Web端的加载效率与渲染性能,尤其适用于大范围场景的轻量化展示。
3D Tiles是一个开放的规范,用于传输海量的异构三维地理空间数据集。使用概念上类似于 terrain和imagery的瓦片流技术,3D Tiles使得建筑物数据集、BIM模型、点云和摄影测量模型等大模型比较流畅的在Web端进行浏览展示。
2.3D Tiles支持的人工模型类型
- 人工建模:数据来源于 3dmax、Maya 等建模软件建模,建好的三维模型导出为 dae 和 obj 数据。
- BIM 模型:数据来源于专业的 BIM 软件,常见的有 rvt 和 dgn 格式。
- 点云数据:一般是激光扫描后生产的数据,有 las、pts、ply 等格式。
3.FBX转换3D Tiles格式方式
将FBX模型转换为3D Tiles的核心路径是“FBX → glTF/GLB → 3D Tiles (B3DM)”,主要方法分为图形化软件、命令行工具链和自定义开发三类:
3.1 图形化桌面工具(推荐非开发者)
适合快速转换、预览及调整坐标参数,操作直观。
CesiumLab:行业常用工具,支持“通用模型切片”功能。导入 FBX 后设置场景参数(如坐标系、LOD 层级),选择输出格式为 3D Tiles,支持免费试用(小文件)或付费授权。需注意处理坐标系差异(Z-up 转 Y-up)。
GISBox:提供免费且功能丰富的转换界面。新建场景导入 FBX,通过“导出当前选择”生成 3D Tiles,支持纹理压缩、定点压缩及实时 3D 地球预览,适合快速验证效果。
其他专用转换器:如部分开源的 FBXto3DTilesConverter 等独立工具,通常集成 Draco 压缩和智能分块功能,支持一键配置经纬度定位。
3.2 命令行工具(适合批量/自动化)
适合集成到 CI/CD 流程或处理大量模型,需分步执行。
FBX2glTF + gltf-pipeline:
- 使用 fbx2gltf 将 .fbx 转为 .glb(二进制 glTF)。
- 使用 gltf-pipeline 对 glb 进行 Draco 顶点压缩和纹理优化,减小体积。
- 使用 3d-tiles-tools (如 gltf-to-tileset) 将优化后的 glb 生成为 3D Tiles 瓦片集(包含 tileset.json 和 .b3dm 文件)。
model23dtiles:一款高效的命令行工具,支持直接输入 FBX 路径,通过参数控制纹理压缩(ktx2)、顶点压缩(draco)、空间索引结构(四叉树/八叉树)及地理坐标偏移,可一步完成转换。
4.具体使用
以下通过图形化工具CesiumLab和命令行工具model23dtiles为例进行转换。
4.1 CesiumLab
cesiumLab官网地址:http://www.cesiumlab.com/
4.1.1 导出 fbx 文件
下面是以 3ds Max 软件为例,导出为 fbx 格式;
正常打开max文件,如果提示图片材质路径不对,可以打开文件选择参考,选择资源追踪;
选择那些未找到的图片,右击菜单选择设置路径,在指定资源路径中将 map 路径添加,状态为确定则成功;
在3dmax内导出fbx格式文件
4.1.2 fbx文件转为3dtiles
1.添加fbx文件
- 选择“通用模型切片”模块
- 添加FBX文件,设置按钮会弹出设置页面;
- 设置页面:会自动根据文件加载相应的数据,也可以自行选择
- 设置附加属性:默认内置属性只有id,如果需要将其他属性附加到数据中,需要按说明编写csv属性文件按下图设置(对应代码加载后的Popup弹窗内属性)
- 存储类型:选择散列,如果没有注意到,Cesiumlab 有散列紧凑互转功能;
- 选择保存文件的路径;点击提交处理,进入处理页面
2.设置坐标系(存在问题时再设置)
如果建模场景是无坐标系的,或转换后数据在太空等场景下,可以先选择一个路口等明细的地方做参考点。
- 首选打开3dmax找到某一个明显参考点的max内坐标,记住这个xyz值,比如:547263,4328611,0
- 再打开图上选点页面,找到这个参考点的的实际对应经纬度坐标39.091314,117.545088
- 将获取到的2个参数分别填写到cesiumlab的转换参数中,其中max中的坐标改为反向的值,比如加负数,-547263,-4328611,0。
导出3dtiles,转换成功之后的文件如下:
4.1.3 发布三维数据为HTTP服务
因为3dtiles数据一般都很大,建议发布为独立服务。
4.2 model23dtiles
windows版V2.3.1 [下载]
4.2.1 使用说明
1)按住键盘win+r键,在弹出的窗口中输入cmd,打开命令行窗口
2)点击确认后即可打开cmd窗口
3)用cd命令切换到工具目录
3)输入model23dtiles.exe -h查看转换工具参数说明
4.2.2 详细说明
命令行格式:
1 | model23dtiles -i <path> -o <DIR> -tf <jpg/png/webp/ktx2> -vf <draco/meshopt/quantize/quantize_meshopt> -t <quad/oc/kd> -sr <Number> -cl <low/medium/high> -tx <Number> -ty <Number> -tz <Number> -up <X/Y/Z> -tw <Number> -th <Number> -aw <Number> -ah <Number> -tri <Number> -dc <Number> -sx <Number> -sy <Number> -sz <Number> -lng <Number> -alt <Number> -nm <v/f> -nrm -unlit -ntf |
或
1 | model23dtiles -i <path> -o <DIR> -tf <jpg/png/webp/ktx2> -vf <draco/meshopt/quantize/quantize_meshopt> -t <quad/oc/kd> -sr <Number> -cl <low/medium/high> -tx <Number> -ty <Number> -tz <Number> -up <X/Y/Z> -tw <Number> -th <Number> -aw <Number> -ah <Number> -tri <Number> -dc <Number> -sx <Number> -sy <Number> -sz <Number> -epsg <Number> -nm <v/f> -nrm -unlit -ntf |
示例命令:
1 | model23dtiles.exe -i D:\test.fbx -o D:\output -lat 30 -lng 116 -alt 100 |
参数说明:
输入输出
-i输入文件-o输出文件夹
坐标参数
-lat纬度,默认30.0-lng经度,默认116.0-alt高度,默认300-epsg若模型顶点坐标为投影坐标系,指定epsg编码,与lat、lng和alt参数互斥,可以配合tx、ty、tz参数使用
变换参数
-tx重设模型原点位置的x坐标,默认0.0-ty重设模型原点位置的y坐标,默认0.0-tz重设模型原点位置的z坐标,默认0.0-sxx方向缩放(单位转换),默认1.0-syy方向缩放(单位转换),默认1.0-szz方向缩放(单位转换),默认1.0-up模型向上方向轴,选项:X、Y、Z(大写),默认Y(FBX模型自动转换为Y轴向上)
组织结构参数
-t3dtiles组织结构,可选:kd(KD树)、quad(四叉树)、oc(八叉树),默认quad
压缩与简化参数
-r3dtiles中间节点简化比例,默认0.5-tf纹理压缩格式,可选:png、jpg、webp、ktx2,默认ktx2-vf顶点压缩格式,可选:draco、meshopt、quantize、quantize_meshopt,无默认值-cldraco压缩级别/顶点量化级别,选项:low、medium、high,默认medium,仅对quantize、quantize_meshopt和draco有效;压缩级别越高,模型精度损失越大
性能限制参数
-tri3dtiles瓦片最大三角面数,默认20w-dc3dtiles瓦片最大drawcall数量,默认20- 纹理尺寸参数
-tw单个纹理最大宽度,默认256,需为2的幂-th单个纹理最大高度,默认256,需为2的幂-aw纹理图集最大宽度,默认2048,需为2的幂,且大于单个纹理最大宽度,否则不构建图集-ah纹理图集最大高度,默认2048,需为2的幂,且大于单个纹理最大高度,否则不构建图集
- 变换参数
-nft不对顶点应用变换矩阵;默认会对顶点应用变换矩阵以提升渲染性能(减少drawcall),但可能带来顶点位置精度损失(如果不启用该参数时,模型发生了变形,请启用该参数)
其他参数
-nrm重新计算法线-nm配合-nrm参数使用,指定法线模式:v表示顶点法线,f表示面法线(默认),可选:v、f(顶点法线适用于平滑曲面,面法线适用于棱角分明的物体)-unlit启用KHR_materials_unlit扩展,适用于烘焙模型-gn生成法线贴图(使用Sobel算子)和切线,瓦片会有更好的渲染效果(提升有限)但瓦片的体积也会变大并且处理时间也更长
4.2.3 源码地址
github地址:https://github.com/newpeople123/osgGISPlugins
gitee地址:https://gitee.com/wtyhz/osg-gis-plugins
















