3D Tiles是Cesium中很核心的一部分,尤其是用来实现大范围的模型场景数据的加载应用。

三维倾斜模型、人工建模、BIM模型等等,都可以转换成3D Tiles,进而为我们所用。

从Cesium1.35版本开始,提供了Cesium3DTileset接口。

另外,SkylineGlobe Server软件可以提供3D Tiles(B3DM)模型服务。

核心的接口示例代码如下:

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
                url: 'http://localhost/sg/b3dm/shanghai4dml.400063/tileset.json',
                //maximumScreenSpaceError: 2,
                //maximumNumberOfLoadedTiles: 100,
            }));

  三维倾斜模型服务地址如下:

Cesium3DTileset示例

展现效果如下:

Cesium3DTileset示例

 

调整3DTileset位置:

var heightOffset = 20.0;
var boundingSphere = tileset.boundingSphere;
var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);

  

 

相关文章:

  • 2021-11-30
  • 2021-11-28
  • 2021-04-18
  • 2021-07-27
  • 2021-10-17
  • 2021-05-01
  • 2021-09-07
  • 2022-01-14
猜你喜欢
  • 2021-12-20
  • 2021-06-13
  • 2021-12-10
  • 2021-05-23
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案