在数字技术的浪潮中,三维模型服务正以其独特的魅力和强大的功能重塑我们对现实世界的理解和互动方式。从城市天际线到深海奥秘,从古老的遗迹到未来的城市,三维模型服务让我们能够在虚拟空间中重现、探索和创造现实世界。
而流式传输作为三维模型服务一种先进解决方案,它使得在多种设备上高效渲染和交互操作大规模三维数据集成为可能。这项技术通过优化传输和处理方式,确保了即使在资源受限的设备上,用户也能享受到流畅的三维可视界化体验。它的核心优势在于能够按需加载和渲染数据,从而显著减少等待时间,并提高数据处理的灵活性和效率。接下来给大家介绍3种目前使用流式传输技术并广为人知的三维模型服务!
一、3DTiles
3DTiles是一种由Cesium团队提出的开放规范,用于流式传输大规模、异构的三维空间数据集。它专为流式传输和渲染海量3D地理空间数据而设计,例如倾斜摄影、3D建筑、BIM/CAD、实例化要素集和点云。3DTiles在glTF的基础上,加入了多细节层次LOD(Levels of Detail)的概念。
LOD是一种在计算机图形学中用于优化渲染性能的技术。其核心思想是当物体对渲染出图像的贡献越少时,使用越简单的形式来表达该物体,以此减少场景的几何复杂性,提高绘制算法的效率。LOD技术通常对每一原始多面体模型建立几个不同逼近精度的几何模型,每个模型保留了一定层次的细节,在绘制时根据不同的标准选择适当的层次模型来表示物体,从而优化了数据的传输和渲染效率。
#特点
- 开放性:3DTiles规范和相关的图块格式以及样式规范都是开放格式,不依赖于任何特定供应商的解决方案、技术或产品。
- 交互式:支持交互式选择和样式,可以单独进行模型交互,例如鼠标悬停显示建筑物、使用ID查询数据。
- 设置样式:单个模型的元数据可以在运行时用于着色而无需编写代码,样式可以即时更改。
- 适应性:树可以是任何具有空间相干性的空间数据结构,包括K-D树,四叉树(Quadtree),八叉树(Octree),格网(Grid)。
#数据结构
3DTiles数据结构基于JSON、B3DM、CMPT、I3DM、PNTS数据格式,并且支持多个级别LOD。它使用瓦片集合来组织和管理数据,每个瓦片集合包含多个瓦片,表示不同的数据层级和视野级别。每个瓦片内部又可包含多个子瓦片,最底层的瓦片包含具体的3D模型数据,称为Leaf Tile(叶节点瓦片)。
3DTiles的数据结构非常灵活,它使用层级的方式组织数据,并根据视距来动态加载不同分辨率的瓦片。这种层级细节技术使得系统能够根据用户视角的变化,自动选择加载适当细节级别的瓦片,从而在保证渲染质量的同时,提供流畅的用户体验。
数据结构图
数据示例图
#使用场景
- 数字城市建设:3DTiles可以用于城市规划,帮助规划师和决策者更好地理解城市的地理空间数据。通过3DTiles,可以高效地渲染和查询大规模的城市模型,支持实时交互和分析。
- 地理信息系统可视化:对于各种类型的地理空间数据,3DTiles能够提供快速加载和高效显示,尤其是在大范围区域的展示中具有显著优势。
- 虚拟现实(VR)和增强现实(AR):借助3DTiles的特性,VR/AR应用能够流畅地呈现大规模的3D环境,为用户带来更加沉浸式的体验。
二、I3S
I3S(Indexed 3D Scene Layer)是由美国Esri公司推出的三维地理数据标准,已被纳入开放地理空间联盟(OGC)的标准之一。I3S主要的数据格式为SLPK(Scene Layer Package),它提供了一种结构化的方式来存储和可视化大体量的3D数据。
#特点
- 开源标准:I3S是一个开源的三维GIS数据标准,允许用户自由使用和修改。
- 树状结构:I3S使用树结构来组织三维数据。
- JSON和二进制存储:I3S采用JSON文件来描述数据,二进制文件(格式为.bin)来存储三维地理数据。
- REST接口访问:I3S可以将三维地理数据组织起来后,放在服务器上通过REST接口访问。
- 支持多种三维数据类型:包括3D Object、Integrated Mesh、Point、BIM和PointCloud等。
- LOD层级切换:I3S采用LOD的方式进行层级切换,加快数据渲染,减少资源请求,加快数据渲染。
#数据结构
I3S的数据结构基于节点树的方式组织,每个节点包含几何、纹理和属性等信息。节点树包含节点的包围体信息、父子节点的索引,以及材质和几何关联信息。SLPK将所有节点信息合并为一个文件,支持zip格式的单文件打包,内部节点以节点树的方式组织。
数据结构图
数据示例图
#使用场景
- 智数字城市建设:I3S标准支持三维地理信息的处理和应用,对于数字城市的建设尤为重要,可以用于城市的三维建模和可视化。
- 三维内容创建与管理:I3S标准提供了集三维内容创建、管理、可视化和共享为一体的完整三维体系,全产品线核心产品全部实现对I3S的支持。
- 地理空间内容的流式传输:I3S专门设计用于支持三维地理空间的内容,并支持多种坐标系统、高度模型以及丰富的图层类型,适用于流式传输具有大数据量、多种类型地理数据集的三维内容。
- GIS与BIM集成:在工程建设领域,I3S可以更好地集成GIS与建筑信息模型(BIM)内容,以便在现实世界环境中进行分析、查看和设计建筑物与基础设施。
三、S3M
S3M(Spatial 3D Model)是一种开放式、可扩展的空间三维数据格式,旨在为海量多源异构三维地理空间数据在不同终端之间的传输、交换与共享提供数据格式的具体规范。S3M由超图软件开源,遵循Apache License 2.0许可证,旨在解决传统三维地理信息系统的数据存储、交换和渲染效率问题,为GIS开发者提供了一种高效、轻量级且兼容性强的解决方案。
#特点
- 多源数据支持:S3M支持包括倾斜摄影模型、BIM、城市模型、点云数据等多种来源的三维地理空间数据。
- 高效的渲染与展示:采用LOD的方式进行层级切换、批处理及实例化技术优化视效,提升渲染性能。
- 单体化选择与查询:提供精确的对象操作能力,支持高效选择和批量修改对象颜色、可见性。
- 物理基础渲染(PBR):支持PBR材质,确保真实感表现。
- 数据压缩:利用多种压缩算法减轻存储压力,支持WebP、CRN、KTX2.0等纹理压缩格式以及几何压缩技术。
- 跨平台一致性:确保所有设备均可使用相同数据集,适用于PC端、Web端、移动端、游戏引擎等。
- 动态骨骼动画:描述复杂动作,增强可视化体验。
#数据结构
S3M采用树形结构组织海量三维内容,并采用LOD、实例化、对象化技术支持三维内容的空间查询、空间分析与高性能渲染。S3M的数据结构包括JSON和二进制格式存储描述文件、数据文件、索引文件和属性文件。二进制数据尽量按照OpenGL的数据渲染格式进行组织,以提升可视化性能。
数据结构图
#使用场景
- 工程设计:在建筑、道路、水利等工程的设计、仿真和审查中,S3M可以提供三维模拟,帮助工程师进行更精确的规划和设计。
- 三维GIS应用:S3M适用于不同终端(移动设备、浏览器、桌面电脑)上的三维地理信息系统相关应用,支持从数据生成、服务器端发布到多种客户端加载应用等多个环节
- 无人机航拍集成:S3M数据可以直接集成到无人机数据处理管道中,加速后期分析过程。
- 城市网格管理:S3M支持加载贴地矢量面S3M瓦片数据,并可以设置矢量面数据贴对象显示,适用于城市网格管理等使用场景。
综合来看,3DTiles、I3S和S3M各自以其独特色的优势,共同推动了三维模型服务的创新与发展。
3DTiles凭借其卓越的流式传输和渲染优化能力,在城市建模和地理信息系统(GIS)领域扮演着举足轻重要的角色;
I3S以其作为国际标准的身份地位,在高性能三维可视化领域发挥着重要关键作用;
S3M则以其高效的数据传输特性,在三维数据传输中领域展现出其独特的价值。
随着技术的持续进步,这些标准将有望在更广泛的应用场景中释放更大的潜力。
关注 Mapmost,持续更新 GIS、三维美术、计算机技术干货
Mapmost 是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。