Cesium学习笔记(9)

417 阅读1分钟

添加3D建筑物

添加OSMBuildings

//添加Cesium自带的Osm白膜建筑
const tileset=Cesium.createOsmBuildingsAsync();
//tileset 是一个Promise对象 其中的res为Cesium3DTileset对象
tileset.then((res)=>{
    viewer.scene.primitives.add(res);
}).catch((err)=>{
    console.log(err);
})

image.png

createOsmBuildingsAsync(options)

该方法是创建一个OSMBuilding的Cesium3DTileset Promise对象。

使用该方法时,可以输入的参数有:

defaultColor 建筑物的默认颜色(默认值 Color.WHITE)

style 建筑物样式

enableShowOutline 是否启动渲染建筑物的轮廓边框

showOutline 是否显示建筑物的轮廓边框

添加本地3dtiles数据

const get3DTilesbylocal =Cesium.Cesium3DTileset.fromUrl('src/3dtileset/mars3d-max-shihua-3dtiles-master/tileset.json');
get3DTilesbylocal.then((tileset) => {
     viewer.scene.primitives.add(tileset);
}).catch((err) => {
        console.log(err);
})

image.png

Cesium3DTileset

该类表示3D瓦片集。这里加载的瓦片模型文件有i3dm和b3dm。 b3dm是3DTiles标准中用于存储三维模型的二进制格式文件。它的设计是为了高效存储和传输包含几何数据、纹理、材料等内容的3D模型。它提供了更加高效地存储和渲染性能,特别是在处理大量复杂数据时。更适合用于表示一批具有不同几何形状的对象

i3dm表示的是实例三维模型,用于高效存储传输是哪位城市、地形等空间数据的标准格式。它解决大规模三维城市数据传输和渲染的性能瓶颈问题。 更适合用于需要在场景中多次复用同一几何模型的情况。

fromUrl(url)

该方法用于加载3D瓦片。其中的url是3D瓦片的json文件地址。