1、cesium官方提供了两种加载Model方式(Entity、Primitive)
在使用Entity加载少量Model时并没有什么大问题,但是数量达到成千上万,这个时候Entity的劣势就显现出来了,页面会非常卡顿,占用很高,然后就在网上查找资料,官方还提供了一种加载方式Primitive,方法如下:
let instances = []
let position = new Cesium.Cartesian3.fromDegrees(lng, lat, alt)
let modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
position,
new Cesium.HeadingPitchRoll(0, 0, 0)
)
modelMatrix = Cesium.Matrix4.multiplyByUniformScale(
modelMatrix,
1,
modelMatrix
)
instances.push({ modelMatrix })
let primitive = viewer.scene.primitives.add(
new Cesium.ModelInstanceCollection({
url: '',//文件路径
instances,
destroyPrimitives: false
})
)