3dTile 数据文件格式说明

参考来源https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification

数据组织结构

在这里插入图片描述
有三类数据组成Tileset.json类似索引文件,Styling 样式文件和模型等数据组成。

一、Tileset.json

cesuim加载3dTile 数据时就是先读取Tileset.json文件。

{
  "asset" : {
    "version": "1.0",
    "tilesetVersion": "e575c6f1-a45b-420a-b172-6449fa6e0a59",
  },
  "properties": {
    "Height": {
      "minimum": 1,
      "maximum": 241.6
    }
  },
  "geometricError": 494.50961650991815,
  "root": {
    "boundingVolume": {
      "region": [
        -0.0005682966577418737,
        0.8987233516605286,
        0.00011646582098558159,
        0.8990603398325034,
        0,
        241.6
      ]
    },
    "geometricError": 268.37878244706053,
    "refine": "ADD",
    "content": {
      "uri": "0/0/0.b3dm",
      "boundingVolume": {
        "region": [
          -0.0004001690908972599,
          0.8988700116775743,
          0.00010096729722787196,
          0.8989625664878067,
          0,
          241.6
        ]
      }
    },
    "children": [..]
  }
}

在这里插入图片描述

1. asset 数据版本信息

  • version: 数据版本号

2. properties 数据集的外包框信息

  • 数据外包立方体

3. geometricError

单位是米 (关于这个的含义请看另一帖子3DTile 的geometricError含义

4. root 跟节点


tileset.json 的四叉树、kd树或八叉树的跟节点

  • 四叉树

image

  • kd树
    当每个图块具有由平行于x,y或z轴(或纬度,经度,高度)的分割平面分隔的两个子图时,创建kd树。当水平沿树向下增加时,分割轴通常是循环旋转的,并且可以使用中值分割,表面区域启发法或其他方法来选择分割平面。
    在这里插入图片描述
  • 八叉树
    八叉树通过使用三个正交分裂平面来扩展四叉树以将瓦片细分为八个子元素。
    image

在这里插入图片描述

1)transfrom 变换矩阵

变换矩阵不是必须的,可以没有。若有变换矩阵,则从根节点作用到底部。
image

  • b3dm 变换矩阵T=T0* T1 * T3
  • i3dm 变换矩阵T= T0 * T1 * T4
  • pnts 变换矩阵T=T0*T2
2)boundingVolume 外包范围
  • 外包矩形体

  • 外包球

3)refine 加载方式

是加载当前子节点的方式,是3dTile的一个重要字段有两个参数

  • ADD 就是加载当前节点是新增的方式。
父节点子节点
在这里插入图片描述image
  • REPLACE 就是加载当前节点替换父节点的过程
父节点子节点
image在这里插入图片描述
Unity可以通过使用WebGL技术来加载和展示倾斜摄影数据,这些数据通常以3D Tile的格式存在。以下是使用Unity加载3D Tile倾斜摄影数据的步骤: 1. 创建一个新的Unity项目,确保项目设置为WebGL平台。 2. 在Unity Asset Store中搜索并下载3D Tile加载插件。例如,可以使用开源的Cesium for Unity插件。 3. 导入插件和相关资源到Unity项目。 4. 创建一个新的空物体,将3D Tile插件脚本添加到该物体上。 5. 通过指定倾斜摄影数据的URL或文件路径,设置3D Tile插件的参数,例如加载级别、坐标系和渲染选项。 6. 在游戏场景中添加一个相机,并调整其位置和方向使其能够看到倾斜摄影数据。 7. 运行Unity项目,并在WebGL平台上预览加载的3D Tile倾斜摄影数据。 通过Unity加载3D Tile倾斜摄影数据,可以在Web浏览器中实现高质量的3D地理可视化效果。Unity提供了强大的渲染和交互功能,可以进一步对倾斜摄影数据进行处理和增强。例如,可以添加光照、材质、粒子效果等来提升视觉效果。同时,Unity的脚本编程能力也使得开发者能够实现交互功能,如视角切换、漫游、点击交互等。 需要注意的是,加载和展示大规模的3D Tile倾斜摄影数据可能需要较大的计算资源和带宽。同时,还需要确保3D Tile倾斜摄影数据的格式和版本与Unity插件兼容。因此,在使用Unity加载3D Tile倾斜摄影数据之前,建议先了解和熟悉相关的技术文档和示例代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值