OSGB文件格式介绍:场景图、纹理资源和倾斜摄影数据关系(实操版) 参考文章配图
参考文章配图

3dtiles。osgb格式介绍 讲的是 OSGB(OpenSceneGraph Binary) 文件。它不是 3D Tiles 的 tileset.json,也不是单个网页模型格式,而是 OpenSceneGraph 生态里常见的二进制场景数据文件。国内很多倾斜摄影、实景三维和大场景模型交付时,会看到一批按目录组织的 .osgb 文件。

OSGB文件到底保存什么

OSGB可以理解为把 OpenSceneGraph 的场景图数据以二进制方式保存下来。实际项目里,一个OSGB数据集往往不是单个文件,而是一套目录,里面包含很多瓦片、模型节点和纹理资源。它常见的内容包括:

  • 场景图节点:记录模型的层级、父子关系、变换和组织方式。
  • 几何网格:保存三角面、顶点、法线、UV等渲染需要的数据。
  • 材质和状态:例如材质、贴图引用、渲染状态等,具体保留程度取决于导出工具。
  • 纹理资源:贴图可能被写进文件,也可能作为外部图片随目录保存,丢失后模型容易发白或显示异常。
  • 切片层级:倾斜摄影数据常按空间范围拆成大量瓦片,方便桌面软件或转换工具分块读取。

OSGB和3D Tiles不是一回事

很多人把OSGB和3D Tiles混在一起,是因为倾斜摄影数据经常先以OSGB交付,再转换成3D Tiles用于网页端加载。两者的工作位置不同:OSGB更像原始或中间的三维场景数据,3D Tiles则是面向网页和大规模地理空间流式加载的发布格式。

OSGB文件格式介绍:场景图、纹理资源和倾斜摄影数据关系(实操版) part1-2
part1-2
对比项OSGB3D Tiles
常见入口一批 .osgb 文件和目录通常从 tileset.json 开始
主要场景OSG/OpenSceneGraph软件、倾斜摄影处理流程、数据转换中间格式Cesium等网页三维场景、大规模地理空间数据流式加载
文件组织依赖导出工具生成的目录和瓦片层级规范化描述根节点、子瓦片、包围体、geometricError和内容文件
使用重点检查目录完整、贴图是否随数据一起、瓦片是否缺失检查tileset路径、坐标落位、LOD、跨域和浏览器性能

拿到OSGB数据后先检查什么

真实工作里,OSGB最容易出问题的不是“后缀不认识”,而是数据目录被拷贝漏了、贴图路径断了、瓦片层级不完整,或者坐标信息和目标平台不匹配。建议先做下面几步:

  1. 不要只拿一个 .osgb 文件测试,先保留完整目录。
  2. 统计OSGB数量、贴图数量和总大小,看是否明显缺失。
  3. 抽取几块瓦片打开,确认模型几何和贴图都能显示。
  4. 如果后续要网页发布,再单独做OSGB转3D Tiles或GLB的流程,不要把OSGB当作网页最终格式。

实际目录通常怎么看

不同软件导出的目录命名不完全一样,但倾斜摄影数据经常会看到很多层文件夹、很多osgb瓦片和贴图资源。下面是为了说明检查思路的示意,不代表所有项目都长得完全一样:

OSGB数据目录示意

Data/
  Tile_+000_+000/
    Tile_+000_+000.osgb
    Tile_+000_+000_L01_00.osgb
    Tile_+000_+000_L01_01.osgb
    Texture/
      0001.jpg
      0002.jpg
  Tile_+000_+001/
    Tile_+000_+001.osgb

可直接用的检查命令

如果服务器或本地环境能用命令行,先做文件级检查,比直接问为什么打不开更容易定位问题。

检查OSGB和贴图是否都在

find ./Data -iname '*.osgb' | head
find ./Data -iname '*.jpg' -o -iname '*.png' | head
du -sh ./Data
# 如果只有少量osgb、没有贴图、目录体积明显不对,通常说明数据没拷完整

用osgconv转成OSG文本片段排查

osgconv Tile_+000_+000.osgb Tile_+000_+000.osg
# 转成.osg后可以查看节点、Geometry、StateSet、纹理引用等线索
# 注意:这只是排查方法,不是让人手写完整OSGB文件

OSGB适合什么,不适合什么

用途是否适合OSGB原因
倾斜摄影数据交付和中间处理适合很多实景三维处理软件会输出或读取OSGB目录。
网页端直接给浏览器加载通常不适合浏览器端更常见的是3D Tiles、GLB/GLTF等发布格式。
长期归档原始项目只保留OSGB不够稳最好同时保存原始工程、处理参数、坐标说明和完整纹理资源。
快速判断数据是否缺失适合做检查对象通过目录、瓦片数量、贴图资源和抽样打开可以快速发现问题。

常见误区

  • 把OSGB等同于3D Tiles:OSGB可以作为转换来源,但3D Tiles有自己的tileset.json和瓦片规范。
  • 只上传一个osgb测试:很多数据依赖同目录其他瓦片和纹理,单文件测试不能代表完整结果。
  • 模型能打开就认为能上线:上线还要看坐标、层级、贴图、转换结果、加载性能和移动端内存。
  • 忽略坐标和高度:倾斜摄影数据进入网页或GIS场景时,坐标、原点和高度基准经常影响落位。

常见问题

OSGB文件能直接改吗?

不建议直接手工修改。OSGB是二进制场景数据,更适合用OpenSceneGraph相关工具或三维处理软件读取、转换和重新导出。

OSGB文件格式介绍:场景图、纹理资源和倾斜摄影数据关系(实操版) part1-3
part1-3

OSGB转3D Tiles后为什么位置不对?

常见原因是坐标系、原点、高程基准或转换参数没有处理一致。先用小范围数据试转,确认落位正确后再批量转换。

OSGB打开后没有贴图怎么办?

优先检查贴图是否随目录一起复制、路径大小写是否一致、导出时是内嵌贴图还是外部引用。

实际建议

判断OSGB数据时,先确认它是不是完整目录,再检查瓦片、纹理、坐标和抽样打开效果。如果目标是网页端发布,OSGB通常只是转换来源,需要再生成3D Tiles或其他浏览器友好的格式;如果目标是桌面三维处理,则重点保留完整目录和贴图资源,避免只复制单个osgb文件。

OSGB文件格式介绍:场景图、纹理资源和倾斜摄影数据关系(实操版) card-video
card-video

参考资料

下面这些公开资料用于核对概念和术语,正文已经重新整理为本站自己的说明和操作判断。