Cesium3DTileset示例

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,
            }));

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

展现效果如下:

 

调整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);

  

 

posted @ 2017-07-13 17:19  依尔根觉罗天赫  阅读(22376)  评论(13编辑  收藏  举报