下一代 3DTiles(Next)-瓦片数据扩展3DTILES_content_gltf
3D Tiles Next 是一组针对下一代 3D Tiles 的新功能,分6个章节对3D Tiles Next进行详解。
3D Tiles Next 是一组针对下一代 3D Tiles 的新功能(或者说 3D Tiles 扩展)。
这些新功能目前以 3D Tiles 1.0 的扩展草案呈现,将来可能会合并到 3D Tiles 2.0 中。
3D模型在线预览提供多种低代码平台3D模型在线预览解决方案,实现了将多种3D模型格式无缝集成到低代码业务表单中。这意味着用户可以在不离开低代码平台的情况下,直接查看和操作3D模型,极大地提升了数据可视化的效果和用户交互体验。
依赖于
3D Tiles 1.0
可选与必需
如果用到了 glTF 作为瓦片内容文件,那么它必须同时出现在 extensionsUsed
和 extensionsRequired
数组中,即“必需的”。
简介
上图中有一个瓦片引用了 house.glb
,而这个 house.glb
的模型就是一个房子,可以直接被 3D Tiles 的瓦片引用。此处 "content": "house.glb"
是简略写法。
这个扩展允许 3D Tiles 在瓦片文件上直接使用 glTF 2.0 模型文件。同时支持 JSON 格式的 gltf 文件和二进制的 glb 文件。
使用这个扩展可以简化数据的生产,主要就是利用好 glTF 的工具链。大多数时候,1.0 的瓦片数据可以轻易地转为 glTF 格式。
示例 JSON
具体的 JSON 模式定义在文末。
运行时引擎(通常是 CesiumJS)必须在加载瓦片内容之前,确定兼容性问题。
比如,某些 glTF 模型文件用到了一些 glTF 扩展,那么这些额外的 glTF 扩展就必须写在 Tileset 的顶级属性 extensions
中的 3DTILES_content_gltf
对象中。
举例:
可以看到,这份入口文件的 extensions
属性,下有一个 3DTILES_content_gltf
对象,其下又有两个与 Tileset 类似的 extensionsUsed
和 extensionsRequired
数组。
含义是类似的,extensionsUsed
数组表示 glTF 用到了哪些扩展,extensionsRequired
数组表示必需有这些扩展才可以正常使用。
上面这份数据就表示,root 瓦片的内容文件 trees.gltf
模型,用到了 glTF 规范中的 EXT_mesh_gpu_instancing
扩展,而且必需要用到这个扩展。
附 3DTILES_content_gltf 模式定义
下一代 3DTiles(Next)- 索引
下一代 3DTiles(Next)-瓦片数据扩展3DTILES_content_gltf
下一代 3DTiles(Next)-瓦片数据扩展3DTILES_multiple_content
下一代 3DTiles(Next)-瓦片组织扩展3DTILES_implicit_tiling