第二章:模型數(shù)據(jù)介紹——3D Tiles
3D tiles作為Cesium的主要支持模型數(shù)據(jù)彪薛,主要適用于展示大區(qū)域的建筑模型趋急,采用loD(levels of Detail)分層加載的方法實(shí)現(xiàn)模型的快速加載呈現(xiàn)。
3D tiles類型
類型 | 標(biāo)識(shí) | 應(yīng)用 |
---|---|---|
批量三維模型 | b3dm | 傳統(tǒng)三維建模數(shù)據(jù)漆魔、BIM數(shù)據(jù)、傾斜攝影數(shù)據(jù) |
實(shí)例三維模型 | i3dm | 一個(gè)模型多次渲染的數(shù)據(jù),燈塔凶异、樹(shù)木、椅子等 |
點(diǎn)云 | pnts | 點(diǎn)云數(shù)據(jù) |
復(fù)合模型 | cmpt | 復(fù)合場(chǎng)景模型 |
上述的批量3D模型(b3dm)和實(shí)例3D模型(i3dm)是基于glTF構(gòu)建的挤巡,點(diǎn)云格式不嵌入glTF中剩彬。
3D tiles三維瓦片數(shù)據(jù)集
第一層級(jí)的基本屬性
第二層級(jí)屬性
- boundingVolume:空間范圍框,允許有box矿卑、sphere喉恋、region(盒子、球體母廷、區(qū)域)三種范圍框轻黑,但是只能定義一種
- geometricError:幾何誤差,小于父級(jí)的幾何誤差數(shù)琴昆。
- content:瓦片內(nèi)容苔悦,uri/url屬性引用二進(jìn)制瓦片數(shù)據(jù)文件。
模型和數(shù)據(jù)結(jié)構(gòu)
FeatureTable(特征表)和Batch(批處理表)是模型記錄數(shù)據(jù)最重要的兩張表
FeatureTable:記錄的是整個(gè)瓦片渲染相關(guān)的數(shù)據(jù)椎咧,而不是渲染所需的數(shù)據(jù)玖详。渲染相關(guān),即有多少個(gè)模型勤讽,坐標(biāo)是相對(duì)的話相對(duì)于哪個(gè)中心蟋座,如果是點(diǎn)云的話顏色信息是什么以及坐標(biāo)如何等;渲染所需脚牍,例如頂點(diǎn)信息向臀、法線貼圖材質(zhì)信息均由glb部分完成。
Batch:三維模型的要素表诸狭,在一個(gè)瓦片中券膀,一個(gè)三維要素(GIS中的通常叫法)= 一個(gè)模型(圖形學(xué)、工業(yè)建模叫法) = 一個(gè)BATCH(3dtiles叫法)驯遇,
批次表中每個(gè)屬性數(shù)組的個(gè)數(shù)芹彬,就等于模型的個(gè)數(shù),因?yàn)橛卸嗌賯€(gè)模型就對(duì)應(yīng)多少個(gè)屬性叉庐。
_BATCHID是與幾何數(shù)據(jù)對(duì)應(yīng)的關(guān)鍵鍵
Cesium查詢瓦片批量表
用到了 Cesium3DTileFeature.getPropertyNames()
方法獲取批量表中所有屬性名舒帮,用了 Cesium3DTileFeature.getProperty(string Name)
來(lái)獲取對(duì)應(yīng)屬性名的屬性值